Tema: Re: IP adresai
Autorius: Info
Data: 2011-03-04 08:52:08
Aciu.

"ABLomas" <abl@ablomas.com> wrote in message 
news:ikgnom$coj$1@trimpas.omnitel.net...
> On 2011.02.28 15:20, Info wrote:
>> Ar yra kazkoks budas uzdropinti visus ip adresus, iskyrus tik lietuvos, 
>> pvz. noriu uzblokuoti 80 porta, kad tik is lietuvos ip galetu jungtis 80 
>> portu.
>
> Na tai žinoma kad yra....
>
>> kokia iptables taisykle naudoti...
>
> Vien su iptables išsiversi, bet paskui užsipi$i mantainint....
>
> O ne paprasčiau yra kad ir su kokiu perlo skriptuku, kuris konvertina iš 
> RIPE paduodamo formato pasigamint ipset rinkinį, kurį paskui jau paprasta 
> tvarkyt? Pvz. kad ir taip:
>
> #!/usr/bin/perl
> use Net::Netmask;
>
> my $ipset = "/usr/sbin/ipset"; # Naudojau ir savo kompilinta versija
> my $lt_net = "lt_networks"; # potinklio, kur bus sudedami visi lt 
> networkai pavadinimas
> my $net = "ALLOCATED PA"; # Skiriamasis pozymis RIPE DB
>
> system "$ipset --destroy $lt_net";
> system "$ipset --create $lt_net nethash";
> open ALIST, "<", "alloclist.txt" or die $!;
> while(<ALIST>)
> {
>     $text .= $_;
> }
> close(ALIST);
> $ltnet= $1 if $text =~ m|^lt\.(.*)^lt\.|ms;
> @nets = split(/\n/, $ltnet);
> foreach (@nets) {
>   if ($_ =~ m/$net$/){
>     split;
>     $sysnet = new Net::Netmask ($_[1]);
>     system "$ipset --add $lt_net $sysnet";
>   }
> }
>
> (sąrašus gali iš RIPE FTP pasiimt su wget, ar kad ir tuo pačiu perl'u:
> Use LWP::Simple;
> getstore("ftp://ftp.ripe.net/pub/stats/ripencc/membership/alloclist.txt", 
> "alloclist.txt")
> )
>
> O toliau jau paprasta...
>
> iptables -I OUTPUT -p icmp -m set --set \! lt_networks dst -j 
> LOG --log-prefix "NOT LT NET: "
> iptables -I OUTPUT -p icmp -m set --set lt_networks dst -j 
> LOG --log-prefix "LT NETWORK: "
>
> Ką daryt su gatavom ipset rūšiavimo taisyklėm manau susiprasi...