| |||||||
Bir pppd'ye (Point to Point Protocol Deamon) ve nasıl çalıştığına dair makul bir bilgiye sahip olmalısınız. Eğer gerekliyse ilgili RFC'lere ya da Linux PPP NASIL belgesine göz atabilirsiniz. Eğer bir login prosedürü kullanmayacaksanız, (m)getty kullanmanıza ya da bağlantınızı kontrol eden pppd ile ilişkilendirilmiş (sahte) bir kullanıcıya ihtiyacınız olmayacak. Eğer telefon etmeyecekseniz, herhangi bir konuşma betiğine de gerek kalmaz. Aslında kurduğunuz modem devreleri ve yapılandırması biraz da tamamen telli boş modem kablolarına benzer. Bu da pppd'nizi boş bir modem kablosunu nasıl yapacaksanız aynı yolla yapılandırmanız gerektiği anlamına gelir.
Güvenilir bir bağlantı için, kurulumunuz aşağıdaki kriterleri izlemelidir;
Örneğin modemin COM2'ye bağlı olduğunu, yerel IP adresinin `Loc_Ip' olduğunu ve uzak IP adresinin `Rem_Ip' olduğunu düşünelim. MTU için 576'yı kullanmak istiyoruz. /etc/ppp/options.ttyS1 dosyamız aşağıdaki gibi olmalıdır:
crtscts mru 576 mtu 576 passive Loc_Ip:Rem_Ip -chap modem #noauth -pap persist #maxfail 0 #holdoff 10 |
'asyncmap 0','lock', 'modem' ve '-detach' gibi şeyler muhtemelen /etc/ppp/options dosyasında bulunuyordur. Eğer öyle değilse, bunları /etc/ppp/options.ttyS1 dosyanıza eklemelisiniz. Eğer yerel sisteminiz 192.168.1.1 ve uzak sisteminiz 10.1.1.1 ise, yerel sisteminizdeki /etc/ppp/options.ttyS1 dosyanız aşağıdaki gibi olmalıdır:
crtscts mru 576 mtu 576 passive 192.168.1.1:10.1.1.1 -chap modem #noauth -pap persist #maxfail 0 #holdoff 10 |
Uzak sistemdeki ttyS1 seçenekleri şöyle olmalıdır:
crtscts mru 576 mtu 576 passive 10.1.1.1:192.168.1.1 -chap modem #noauth -pap persist #maxfail 0 #holdoff 10 |
'passive' seçeneği bağlantı (ya da yeniden bağlantı) girişimlerinin sayısını sınırlar. 'persist' seçeneği pppd'nin ilk seferde bağlantı kuramadığı takdirde ya da bağlantı koptuğunda ayakta olmasını sağlar. Eğer dosya transferleri sırasında (FTP ya da internette gezinirken) çok fazla telnet kullanırsanız 296 gibi daha küçük bir MTU ve MRU kullanmanız daha iyi olacaktır. Böylece uzak sisteminizi daha unumlu hale getirmiş olacaksınız. Eğer FTP kullanırken telnet'i fazla umursamazsanız o zaman MTU ve MRU'yu 1500 gibi büyük bir değer yapabilirsiniz. Aynı zamanda UDP'nin parçalanamayacağını da aklınızda bulundurun. Örneğin UDP paketlerinin 512 bayt olduğunu kabul edelim. O halde asgari MTU'nun 552 bayt olması gerekecektir. 'noauth' seçeneği bazı yeni dağıtımlar için gerekli olabilir. `maxfail 0' de daha yeni PPPD'ler için gerekli olabilir. Bağlantı kaybolduktan sonra PPPD yeniden bağlanmak için bir süre bekleyecektir. Bekleme süresi 'holdoff' seçeneği ile ayarlanabilir. Varsayılan holdoff 30 saniye olarak kullanılırdı ancak artık sıfır kullanılıyor. holdoff seçeneği genelde 10 olarak kullanılır.
pppd formunu bir önyükleme betiğinden (rc) çalıştırabilirsiniz. Buna rağmen eğer bu yolu kullanırsanız ve pppd ölürse, o zaman bir bağlantınız da olmayacaktır. Daha kararlı bir çözüm, pppd'yi /etc/inittab'dan başlatmak olacaktır;
s1:23:respawn:/usr/sbin/pppd /dev/ttyS1 115200 |
Bu yöntem sayesinde pppd ölürse, yeniden başlatılacaktır. Ancak `-detach' seçeneğiniz olduğundan (yeni sistemlerde 'nodetach') emin olun, aksi takdirde inittab pppd'nin bir çok örneğini başlatacaktır.
![]() | Not |
|---|---|
Bazı eski sistemler `115200' hızını kabul etmeyecektir. Bu durumda hızı 38400 yapmanız ve setseral ile `spd_vhi' bayrağını ayarlamanız gerekecektir. Bazı sistemler `ttyS' aygıtı yerine `cua' kullandığınızı varsayarlar. | |
Varsayılan rota 'defaultroute' seçeneği ile ya da /etc/ppp/ip-up betiğiyle ayarlanabilir;
#!/bin/bash
case $2 in
/dev/ttyS1)
/sbin/route add -net 0.0.0.0 gw Rem_Ip netmask 0.0.0.0
;;
esac
|
Ip-up aynı zamanda sistem saatinizi netdate kullanarak eşzamanlamak için kullanılabilir.
Rotanın ip-up içide varsayılan rota olarak ayarlanması zorunlu değildir. Sizin ip-up'ınız uzak ağdaki rotayı ayarlarlarken, uzak sistemdeki ip-up betiği de sizin ağınıza erişmek için gereken rotayı ayarlar. Eğer ağınız 192.168.1.0 ve ppp arayüzünüz 192.168.1.1 ise, uzak sistemdeki ip-up betiği aşağıdaki gibi olmalıdır;
#!/bin/bash
case $2 in
/dev/ttyS1)
/sbin/route add -net 192.168.1.0 gw 192.168.1.1 netmask 255.255.255.0
;;
esac
|
`case $2' ve `/dev/ttyS1)' bitleri birden fazla ppp bağlantınız olduğu durumlarda işinize yarar. Ip-up bağlantı kurulduğu her sefer çalışacaktır, ama sadece `/dev/ttySx)' ve `;;' arasındakiler işletilecektir ve doğru ttyS için rota belirlenecektir. Rotalama hakkında daha fazla bilgiyi Linux Ağ Oluşturma NASIL belgesinde bulabilirsiniz.
Bazı sistemler temel bir tty üzerinden rota edemekdikleri zaman dinamik ttys kullanmayı tercih ederler. Bu durumda ip adresini bir ppp arayüzüne çevirmek ve sonra da belli bir ppp arayüzünden rotalama (ve güvenlik duvarı) yapmak daha elverişli olabilir. Bu yüzden /etc/ppp/ip-up dosyasını aşağıdaki gibi düzenledim;
# Bu değişkenler çalışan-kısımlar tarafından betiklerin çalıştırılması içindir
PPP_IFACE="$1"
PPP_TTY="$2"
PPP_SPEED="$3"
PPP_LOCAL="$4"
PPP_REMOTE="$5"
PPP_IPPARAM="$6"
export PPP_IFACE PPP_TTY PPP_SPEED PPP_LOCAL PPP_REMOTE PPP_IPPARAM
# ip ' yi ppp ' ye çevirme
echo $PPP_IFACE > "/var/run/ppp/if-$PPP_LOCAL"
sleep 1
# Güvenlik duvarını tekrar çalıştırma .
/usr/local/sbin/rc.block
# (Varsayılan) rotaya (ya da rotalara ) dikkat edilmesi
case $PPP_LOCAL in
"My_Ip_Address")
/sbin/route add -net 0.0.0.0 gw $PPP_REMOTE netmask 0.0.0.0
;;
esac
# Önyüklemede sabit şeyler atlandı
if ! ( netstat -an | grep 'My_Ip_Address:53' > /dev/null 2>&1 )
then
# Just booted
# Sync clock
/usr/local/sbin/ntpdate.sh &
# Set the null routes
/usr/local/sbin/null-route.sh &
# Bind 9 needs this;
sleep 1
/etc/init.d/bind9 restart
fi
# Bir sesli uyarı ihbarı
/bin/echo -ne "\007" >> /dev/tty1
|
'My_Ip_Address' kısmını kendi Ip adresinizle değiştirin. /usr/local/sbin/ntpdate.sh dosyası saati eşzamanlamak için kullanılır. Bu dosya NTPD'yi durdurur, ntpdate kullanarak eşzamanlamayı yapar ve NTPD'yi yeniden başlatır. /usr/local/sbin/null-route.sh boş rotaları ayarlayan bir dosyadır;
#!/bin/bash route add -net 10.0.0.0 netmask 255.0.0.0 reject route add -net 172.16.0.0 netmask 255.240.0.0 reject route add -net 192.168.0.0 netmask 255.255.0.0 reject |
Eğer kullanımda RFC 1918 adreslerine sahipseniz, boş rotalar daha küçük bir ağ maskesi kullanmanıza izin vermeyeceklerdir. 192.168.1.0/24 ağı boş rota 192.168.0.0/16 tarafından rahatsız edilmeyecektir;
Kernel IP rota tespit etme tablosu Hedef Ağ Geçidi Bilgi Maskesi Bayrak Metrik Ref Use Iface 255.255.255.255 0.0.0.0 255.255.255.255 UH 0 0 0 eth1 195.190.249.4 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0 10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.0.0 - 255.255.0.0 ! 0 - 0 - 172.16.0.0 - 255.240.0.0 ! 0 - 0 - 10.0.0.0 - 255.0.0.0 ! 0 - 0 - 0.0.0.0 195.190.249.4 0.0.0.0 UG 0 0 0 ppp0 |
Her şeyi test etmek modemi test etmek gibidir. Eğer çalışırsa, bisikletinize atlayın ve uzak modemi bağlantınızın uzak tarafına taşıyın. Eğer çalışmazsa, o zaman yapmanız gereken ilk işlerden biri COM portunun hızını kontrol etmek olacaktır; genelde sıkça yapılan hatalardan biri Minicom'lu modemleri tek bir hız kullanarak yapılandırmak ve daha sonra da başka bir tane hız kullanarak pppd'yi ayarlamaktır. Bu hiç bir zaman çalışmayacaktır! Her zaman aynı hızı kullanmak zorundasınız!
| ||||||||||