Next Previous Contents

23. Ko se povezava vzpostavi - /etc/ppp/ip-up skripta

Ko 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:

23.1 Posebno usmerjanje

Č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!

23.2 Ravnanje s poštnimi vrstami

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

23.3 Vzorčna /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

23.4 Ravnanje z elektronsko pošto

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.


Next Previous Contents