Tema: Re: IP adresai
Autorius: lingus
Data: 2011-04-10 22:59:31
Panašiai darau, bet kai daugiau nei 80 portas tai fw pusę minutės 
persikraudinėja. Reiks sprręsti kažkaip kitaip.

WHITELIST:

YEAR=`date +%Y`
FILENAME=`date +delegated-ripencc-%Y%m%d`
wget -c ftp://ftp.ripe.net/ripe/stats/$YEAR/$FILENAME.bz2
bzip2 -d $FILENAME.bz2
grep -i "|LT|ipv4|" $FILENAME |  awk -F"|" '{print $4 "/" int(32 - 
log($5)/log(2))}' > whitelist.txt

#------------------------------------------------------


PORTS="80 443"   # 80-http 88-nagios 1194-openvpn
echo "4. Atidaromi portai $PORTS pagal whitelist.txt"
for IP in $WHITELIST
         do
         for PORT in $PORTS
                 do
                 /sbin/iptables -A INPUT  -s $IP -p tcp --dport $PORT -j 
ACCEPT
                 /sbin/iptables -A OUTPUT -d $IP -p tcp --sport $PORT -j 
ACCEPT
                 /sbin/iptables -A FORWARD -s $IP -p tcp --sport $PORT 
-j ACCEPT
                 done
         done




On 02/28/2011 07:58 PM, ABLomas wrote:
> 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...

3Dastronomyagricultureaudioautosautos.audiautos.audioautos.binariesautos.bmwautos.clubautos.fordautos.hondacrxautos.japanautos.mercedesautos.opelautos.sportautos.volvoautos.vwaviaavia.binariesbankcardsbinariesbooksbuildingcinemacommercecomp.hardwarecomp.softwarecomp.lietuvinimascomp.networksculturedarbas.ieskaudarbas.siulaudesigneconomicselectronicsfaunafauna.aquafauna.binariesfishingflorafotofoto.binariesgamesgames.csgames.onlinegsmgurmanaihumourhumour.binariesinternetlawmicrosoftmotomusicmusic.binariesmusic.instrumentsmusic.LT.binariesnavigacijaphppoliticsprogrammingrpgsportstudyingsveikatatalktesttranslationtransportationtraveltravel.binariestvunixvideovideo.binarieswatersportswwwwww.flashpdaautos.supermama.ltmobiledarbasretro.3Dretro.agricultureretro.astronomyretro.audioretro.autosretro.autos.audiretro.autos.audioretro.autos.binariesretro.autos.bmwretro.autos.clubretro.autos.fordretro.autos.hondacrxretro.autos.japanretro.autos.mercedesretro.autos.opelretro.autos.sportretro.autos.supermamaretro.autos.supermama.ltretro.autos.volvoretro.autos.vwretro.aviaretro.avia.binariesretro.bankcardsretro.beosretro.binariesretro.booksretro.buildingretro.cinemaretro.commerceretro.compretro.comp.hardwareretro.comp.lietuvinimasretro.comp.networksretro.comp.softwareretro.cultureretro.darbasretro.darbas.ieskauretro.darbas.siulauretro.designretro.economicsretro.electronicsretro.e-vejasretro.faunaretro.fauna.aquaretro.fauna.binariesretro.fishingretro.floraretro.fotoretro.foto.binariesretro.gamesretro.games.csretro.games.onlineretro.games.rpgretro.genealogijaretro.gsmretro.gurmanairetro.humourretro.humour.binariesretro.internetretro.YZFretro.YZF.nebukretro.YZF.nebuk.netikintisretro.YZF.nebuk.netikintis.bukretro.YZF.nebuk.netikintis.buk.tikintisretro.lawretro.microsoftretro.mobileretro.motoretro.musicretro.music.binariesretro.music.instrumentsretro.music.LTretro.music.LT.binariesretro.navigacijaretro.newsretro.news.taisyklesretro.newuserretro.pdaretro.phpretro.politicsretro.programmingretro.rpgretro.sportretro.studyingretro.sveikataretro.talkretro.translationretro.transportationretro.travelretro.travel.binariesretro.tvretro.unixretro.videoretro.video.binariesretro.watersportsretro.wwwretro.www.flashdiylt.rkm.news.announcelt.rkm.news.newuser