Home
Projekti
Download
O meni
Lang
HR EN

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