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...