|
IPrange2access
IME
iprange2access - Perl skripta čiji je zadatak generiranje danog raspona IP adresa u formatu prihvatljivom za Sendmailov access fajl. SINTAKSA iprange2access first_ip_in_range [ - ] last_ip_in_range [ -d [ -v ] [ -e errorcode ] [ -m message ] ] [ -V ] [ -h ] OPIS Sendmail je jedan od najstarijih mail servera za Unix platformu. Po defaultu, access liste Sendmail čita iz konfiguracijskog fajla /etc/mail/access. Taj fajl ima ulogu konfiguracijskog fajla u kojem se mogu definirati IP adrese kojima će biti dozvoljen mail relaying, koje će mail adrese ili IP adrese biti odbijene i slično. Osim što se mogu definirati nepoželjne mail adrese, mogu se definirati i rasponi IP adresa. U hrvanju sa spamom ponekad je potrebno upisivanje povelikog broja linija koje definiraju neki raspon IP adresa. Nakon što sam ručno unio 7557 linija u access fajl (izgleda da sam jako strpljiv), odlučio sam da je krajnje vrijeme za izradu skripte kojom će se olakšati taj mukotrpni posao. Tako je nastala skripta u perlu čiji je zadatak iz početne i završne IP adrese u rasponu, generirati raspon IP adresa u formatu prihvatljivom za Sendmailov access fajl. Skripta koristi NetAddr::IP perl modul koji može biti pronađen na CPAN stranicama. Zahvale za pomoć oko perla idu Danielu Spiljaru dspiljar@world.std.com. Da nije njega ova skripta bi bila napisana u bashu i vjerojatno bi mi trebalo nešto više vremena i linija koda. U iprange2access paketu pronaći ćete tvije perl skripte. iprange2access skripta će raditi sa starijim perlom i ne koristi dodatne perl module, dok će iprange2access2 raditi samo sa perlom >= 5.8.0 i sa instaliranim NetAddr::IP perl modulom. Pisanjem ovih skripti ja sam zapravo učio perl. To je glavni razlog postojanja dviju perl skripti koje rade istu stvar. Izdavanjem "make install" naredbe, samo će iprange2access skripta biti instalirana. Ako želite koristiti iprange2access2 skriptu, samo ju kopirajte u /usr/local/bin direktorij. SCREENSHOTS Nema potrebe za screenshotom ali evo kako izgleda pozivanje skripte i njen output: $ iprange2access 192.168.14.5 192.168.14.8 192.168.14.5 192.168.14.6 192.168.14.7 192.168.14.8 $ iprange2access 192.168.14.254 - 192.168.17.1 192.168.14.254 192.168.14.255 192.168.15 192.168.16 192.168.17.0 192.168.17.1 $ iprange2access 192.168.12.254-192.168.17.1 -d -v -e 571 -m "No spam wanted" #<192.168.12.254-192.168.17.1> 192.168.14.254 571 No spam wanted 192.168.14.255 571 No spam wanted 192.168.15 571 No spam wanted 192.168.16 571 No spam wanted 192.168.17.0 571 No spam wanted 192.168.17.1 571 No spam wanted #</192.168.12.254-192.168.17.1> DOWNLOAD IPrange2access download OPCIJE -d Ova opcija će reći skripti da generira deny liniju, odnosno tekst pokraj svake IP adrese koji predstavlja errorcode i razlog zbog kojeg je mail sa dane IP adrese odbijen. Bez ove opcije, skripta će ispisivati samo IP adrese iz danog raspona. -v Ova opcija će rezultirati dodavanjem linije #<IP raspon> na vrh i linije #</IP raspon> na kraj outputa. Ovo je korisno za prepoznavanje IP raspona unutar sendmailovog access fajla. Ova opcija ima smisla samo ako je skripta pokrenuta sa -d parametrom. -e errorcode Ovom opcijom određuje se errorcode koji će biti korišten u slučaju kad je skripta pozvana sa -d parametrom. Defaultni errorcode je 571. -m message Ovom opcijom određuje se poruka sa razlogom zbog kojeg je mail sa dane IP adrese odbijen. Ova opcija ima smisla samo ako je skripta pokrenuta sa -d parametrom. Defaultna poruka glasi: Because of previous SPAM activity from your domain, we reject your mail. -V Ova opcija će navesti iprange2access da ispiše verziju i izađe. -h Ova opcija će navesti iprange2access da ispiše upute za korištenje i izađe. ZAHTJEVI Skripta koristi NetAddr::IP perl modul koji može biti pronađen na CPAN stranicama. Ako nemate instaliran NetAddr::IP perl modul morat ćete modificirati skriptu i postaviti varijablu MODE na "core". BUGOVI Trenutna verzija IPrange2accessa nema poznatih bugova. FAJLOVI /etc/mail/access - Sendmailov access fajl VARIJABLE ERRORCODE_DEFAULT - defaultni errorcode za sendmail access MESSAGE_DEFAULT - defaultna poruka za sendmail access MODE - ovu varijablu možete postaviti na "core" ako nemate instaliran NetAddr::IP perl modul, inače, postavite ju na "module" DODATNA DOKUMENTACIJA sendmail(8), Sendmail dokumentacija (/usr/share/doc/sendmail) AUTORI Josip Deanović djosip@linuxpages.org |