/etc/ppp/ip-up
skriptaKo se povezava vzpostavi, pppd poišče datoteko /etc/ppp/ip-up
. Če
ta obstaja in je izvršilna, jo pppd izvrši. To vam omogoča, da avtomatizirate
vse posebne usmerjevalne ukaze, ki so morda potrebni, in ostale stvari,
katere hočete izvršiti vsakič, ko se povezava vzpostavi.
To je le lupinska skripta in lahko naredi karkoli, kar lahko taka skripta naredi (praktično karkoli).
Sendmail lahko naprimer odpremi vsa sporočila, ki čakajo v izhodni vrsti.
Podobno lahko v to skripto dodate ukaze za prenos pošte, ki čaka pri vašem PIS-u, k vam.
Za /etc/ppp/ip-up
pa obstajajo nekatere omejitve:
/etc/ppp/ip-up
program, ne skripta.
To pomeni, da je lahko direktno izvršena in zato potrebuje na začetku prve
vrste (#!/bin/bash
) in mora imeti prava dovoljenja (branje in
izvrševanje od roota).
Če povezujete dve omrežji, boste morali urediti specifične poti do ,tujih`
omrežij. To je enostavno narediti z uporabo skripte /etc/ppp/ip-up
.
Edina težava nastane, če mora vaš računalnik obvladovati več PPP povezav.
To je zato, ker je skripta /etc/ppp/ip-up
izvršena za VSAKO ppp
povezavo, ki se vzpostavi, zato morate previdno izvršiti prave usmerjevalne
ukaze za vsako povezavo in ne ko se vzpostavi kakšna druga povezava!
Ko se vzpostavi povezava med dvema omrežjema, se hočete verjetno prepričati,
da je vsa čakajoča pošta izplaknjena - poslana na svojo pot. To
naredite s primernim klicem sendmaila
.
Z uporabo basheve izjave ,case` na primernem parametru, ki ga pppd poda
skripti, se da to urediti.
To je skripta /etc/ppp/ip-up
, ki jo uporabljam za naše WAN povezave
in povezavo z mojim domačim Ethernetom (na istem ppp strežniku).
/etc/ppp/ip-up
skripta
Spodnji primer podaja različne primere uporabe.
#!/bin/bash # # Skripta, ki poskrbi za pppd-jeve usmerjevalne potrebe. # Potrebuje jo le povezava z Newmanom. # # Ko se povezava vzpostavi, se ta skripta zažene s sledečimi parametri # $1 ime vmesnika (npr. ppp3) # $2 ime naprave tty # $3 hitrost naprave tty # $4 lokalni IP naslov za vmesnik # $5 oddaljeni IP naslov # $6 parameter doloŘen z ,ipparam opcijo pppd-ju. # case "$5" in # Poskrbi za usmerjanje do strežnika Newman Campus 202.12.126.1) /sbin/route add -net 202.12.126.0 gw 202.12.126.1 # in izplakni poštno vrsto, da pride pošta čimprej tja! /usr/sbin/sendmail -q & ;; 139.130.177.2) # Naša povezava v Internet # Ko se vzpostavi, zaženi časovni strežnik in sinhroniziraj uro. if [ ! -f /var/lock/subsys/xntpd ]; then /etc/rc.d/init.d/xntpd.init start & fi # Zaženi novičarski strežnik if [ ! -f /var/lock/subsys/news ]; then /etc/rc.d/init.d/news start & fi ;; 203.18.8.104) # Pošlji pošto na moj domači računalnik takoj ko se povezava vzpostavi. # Ne potrebujemo nobenega usmerjanja, ker za moj domači Ethernet skrbi # IP Masquerade in proxyarp. /usr/sbin/sendmail -q & ;; *) esac exit 0
Kot rezultat vzpostavitve povezave z našim Newman Campusom in te skripte, imamo sledečo usmerjevalno tabelo (ta računalnik je naš vstopni PPP strežnik IN skrbi za našo povezavo z Internetom). V izhod sem dodal komentarje za boljše razumevanje.
[root@kepler /root]# route -n Kernel routing table Destination Gateway Genmask Flags MSS Window Use Iface # GOSTITELJSKA (HOST) pot do našega oddaljenega internetnega ,vozla` 139.130.177.2 * 255.255.255.255 UH 1500 0 134 ppp4 # GOSTITELJSKA pot do Newman campus strežnika 202.12.126.1 * 255.255.255.255 UH 1500 0 82 ppp5 # GOSTITELJSKA pot do mojega domačega etherneta 203.18.8.104 * 255.255.255.255 UH 1500 0 74 ppp3 # dve naši dostopni liniji 203.18.8.64 * 255.255.255.255 UH 552 0 0 ppp2 203.18.8.62 * 255.255.255.255 UH 552 0 1 ppp1 # specifična omrežna pot do omrežja v Newman campusu 202.12.126.0 202.12.126.1 255.255.255.0 UG 1500 0 0 ppp5 # pot do lokalnega Etherneta 203.18.8.0 * 255.255.254.0 U 1500 0 1683 eth0 # pot do loopback naprave 127.0.0.0 * 255.0.0.0 U 3584 0 483 lo # privzeta pot v Internet default 139.130.177.2 * UG 1500 0 3633 ppp4
Prejšnji razdelek je pokazal kako ravnati z izhodno pošto - enostavno z izplakovanjem izhodne vrste ko se vzpostavi povezava.
Če imate WAN povezavo, se lahko z skrbnikom oddaljenega omrežja dogovorite,
da naredi popolnoma isto stvar. V Newman campusu, na drugem koncu povezave,
je /etc/ppp/ip-up
skripta taka:
#!/bin/bash # # Skripta, ki obvladuje usmerjevalne zadeve. # Potrebuje jo le povezava s Hedlandom. # # Ko se povezava vzpostavi, se ta skripta zažene s sledečimi parametri # $1 ime vmesnika (npr. ppp3) # $2 ime naprave tty # $3 hitrost naprave tty # $4 lokalni IP naslov za vmesnik # $5 oddaljeni IP naslov # $6 parameter določen z ,ipparam` opcijo pppd-ju. # case "$5" in 203.18.8.4) /usr/sbin/sendmail -q ;; *) esac exit 0
Če pa imate samo dinamično povezavo z vašim PIS-om, morate dobiti vašo pošto z uporabo POP (Post Office Protocola). To lahko uredite s programom popclient, ip-up skripta pa vam lahko to avtomatizira! (op.prev.: uporabite lahko tudi novejši program fetchmail)
Enostavno ustvarite /etc/ppp/ip-up
skripto, ki vsebuje primeren
klic popclienta. Za moj prenosnik, na katerem teče Red Hat Linux (in ga
nosim na vsa potovanja), je to
popclient -3 -c -u hartr -p <password> kepler.hedland.edu.au |formail -s procmail
Za novice bi lahko uporabili slurp ali kaj drugega, itd. Pomnite, ip-up je le standardna bash skripta in jo lahko uporabite za VSAKO stvar, ki jo hočete narediti vsakič, ko vzpostavite PPP povezavo.