PPP-over-Serial
Sisukord
Sissejuhatus
Kui kaks arvutit ühendada null modemi kaabliga järjestikporte (ingl. k. serial port) pidi kokku, siis saab PPP protokolli kasutades tekida seda kanalit kasutades IP ühenduse.
Näiteks Debian GNU/Linux 4.0 ja OpenBSD 4.2 puhul, kus Linuxi pool on nö serveriks, milles käivitatakse pppd programm ennem ning OpenBSD on nö kliendiks, milles käivitatakse ppp programm hiljem.
Esmalt oleks tark veenduda, et kahe arvuti vahel serial link toimib, nt katsetada http://kuutorvaja.eenet.ee/wiki/Serial_konsool palas toodud tegevusi ja veenduda, et saab nö pildi ette. Siis on tõestatud, et arvutites on järjestikpordid töökorras, operatsioonisüsteem oskab neid kasutada ning serial kaabel on samuti sobiv.
PPP ühenduse kasutamise eelduseks on, et järjestikpordid ei ole muul viisil kasutusel, nt ei kuula seal getty või ei kasuta neil minicom ega cu.
Linuxi nn PPP serveri pool
Linux kui serveri poolel on vajalikud sellise sisuga failid, neid kasutatud parameetreid saab jagada nende failide ja käsurea vahel erinevalt
bash# cat /etc/ppp/options lock
ja
bash# cat /etc/ppp/options.ttyS1 115200 xonxoff debug local 10.1.0.254:10.1.0.251 noauth
ning käivitamiseks öelda Linuxis
bash# pppd /dev/ttyS1 nodetach using channel 62 Using interface ppp0 Connect: ppp0 <--> /dev/ttyS1 sent [LCP ConfReq id=0x1 <asyncmap 0xa0000> <magic 0xd6ef1575> <pcomp> <accomp>] sent [LCP ConfReq id=0x1 <asyncmap 0xa0000> <magic 0xd6ef1575> <pcomp> <accomp>] rcvd [LCP ConfReq id=0x1 <accomp> <pcomp> <asyncmap 0x0> <mru 1500> <magic 0x3ab01f30> <quality lqr 00 00 03 e8>] sent [LCP ConfRej id=0x1 <quality lqr 00 00 03 e8>] rcvd [LCP ConfAck id=0x1 <asyncmap 0xa0000> <magic 0xd6ef1575> <pcomp> <accomp>] rcvd [LCP ConfReq id=0x2 <accomp> <pcomp> <asyncmap 0x0> <mru 1500> <magic 0x3ab01f30>] sent [LCP ConfAck id=0x2 <accomp> <pcomp> <asyncmap 0x0> <mru 1500> <magic 0x3ab01f30>] sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>] sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 10.1.0.254>] rcvd [CCP ConfReq id=0x1 <predictor 1>] sent [CCP ConfRej id=0x1 <predictor 1>] rcvd [IPCP ConfReq id=0x1 <addr 10.0.1.254> <compress VJ 0f 01>] sent [IPCP ConfNak id=0x1 <addr 10.1.0.251>] rcvd [CCP ConfRej id=0x1 <deflate(old#) 15> <bsd v1 15>] sent [CCP ConfReq id=0x2 <deflate 15>] rcvd [IPCP ConfAck id=0x1 <compress VJ 0f 01> <addr 10.1.0.254>] rcvd [CCP ConfReq id=0x2] sent [CCP ConfAck id=0x2] rcvd [IPCP ConfReq id=0x2 <addr 10.1.0.251> <compress VJ 0f 01>] sent [IPCP ConfAck id=0x2 <addr 10.1.0.251> <compress VJ 0f 01>] local IP address 10.1.0.254 remote IP address 10.1.0.251 Script /etc/ppp/ip-up started (pid 6632) rcvd [CCP ConfAck id=0x2 <deflate 15>] Deflate (15) receive compression enabled Script /etc/ppp/ip-up finished (pid 6632), status = 0x0
tulemusena tekib seade
bash# ifconfig ppp0 ppp0 Link encap:Point-to-Point Protocol inet addr:10.1.0.254 P-t-P:10.1.0.251 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:9 errors:0 dropped:0 overruns:0 frame:0 TX packets:9 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:245 (245.0 b) TX bytes:243 (243.0 b)
OpenBSD nn kliendi pool ppp tarkvaraga
OpenBSD kui kliendi poolel on kaks võimalust ühenduda Linuxi serveri poole vastu, kas ppp või pppd tarkvara abil. Igaljuhul tuleks ühenduda ennem kui Linuxi timeouti saab, seda saab reguleerida, aga võiks arvestada kümnekonna sekundiga.
ppp puhul tuleb omada faili /etc/ppp/ppp.conf sisuga
default: set device /dev/cua00 set speed 115200 direct-client: set timeout 900 set lqrperiod 10 disable ipv6cp disable deflate enable lqr accept lqr
Käivitamiseks tuleb öelda
# ppp -foreground direct-client Working in foreground mode Using interface: tun0
ja tekib seade
# ifconfig tun0 tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500 groups: tun inet 10.1.0.251 --> 10.1.0.254 netmask 0xffffffff
Seejärel peaks saama põhimõtteliselt üle selle lingi teist poolt pingida ja kasutada nagu tavalist võrgus olevat arvutit, kusjuures rakenduvad paketifiltri reeglid samuti. Tööolukorras ei ole tõenäoliselt vajadust debugimiseks ning nodetach on samuti liigne.
OpenBSD nn kliendi pool pppd tarkvaraga
Praktiliselt sama tulemuse saavutamiseks pppd tarkvara abil tuleb omada faili /etc/ppp/options sisuga
lock debug 115200 xonxoff local noauth
ja öelda
# pppd /dev/cua00 nodetach (vt /var/log/daemon.log)
Kusjuures tekib seade
# ifconfig ppp0 ppp0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500 groups: ppp inet 10.1.0.251 --> 10.1.0.254 netmask 0xffffff00