HOGYAN Készítsunk betárcsázós szervert megunt rádiótelefonunk segítségével

A Gentoo Linux Wiki wikiből

Tartalomjegyzék

[szerkesztés] Miért

Miért ne? A cégünknél céges telefonos előfizetéses flottában vagyunk, ami azt (is) jelenti, hogy egymás között ingyen tudnuk beszélni. Ráadásul elő szokott fordulni olyan helyzet, hogy az ember nagyon elakarja olvasni a leveleit vagy nagyon írna egyet vagy csak valamit hirtelen meg kell néznie a neten és nincs a közelben elérhető csatlakozási pont. (Persze lehetne GPRS internetezni is, de az nem ingyenes.)

Első körben utánajártunk, hogy az ilyen jellegő adathívás nem adathívásnak, hanem sima beszélgetésnek minősül (a Pannonnál legalábbis, de szerintem a Vodánál is, a T-mobile-nál nem tudom), tehát tényleg ingyenes. (A Pannon internet használata minősül csak adathívásnak.)

[szerkesztés] Hardver szükséglet

  • kell egy megunt gép
  • kell egy megunt telefon
  • kell egy kábel a kettő közé

A telefon mindegy milyen, de gondoljunk arra, hogy esetleg jó lenne inicializálni meg vezérelgetni meg ilyenek, tehát nem baj, ha valami standard modemmel kompatibilis vagy ismerjük az AT parancsokat hozzá. Erősen ajánlott az 1800MHz-t ismerő készülékek használata, mivel ott lényegesen nagyobb sebességet tudunk elérni, mint a 900MHz-en. (A 1800MHz-en sebesség optimális esetben akár 28800kbs is lehet -nálunk 19200 stabilan. 900Mhz-en 9600kbs, talán 14400 az elérhető maximális sebesség.)

[szerkesztés] Szoftver szükséglet

  • Gentoo (vagy bármiyen) Linux
  • A kernelben legyen soros port támogatás befordítva
  • A kernelben legyen a routolás engedélyezve
  • tegyük fel a "net-misc/netkit-routed" csomagot
  • szükségünk van a pppd démonra ("net-dialup/ppp" csomag, azt hiszem)
  • a modem kezeléséhez szükségünk van az mgetty-re is ("net-dialup/mgetty" csomag)

[szerkesztés] Teendők

  • Fordítsunk kernelt, izzítsuk be, majd találjunk rá a soros portokra /dev -ben (/dev/ttyS0 tipikusan a com1)
  • Rakjuk fel a fent említett csomagokat
  • Keressük meg a "/etc/mgetty+sendfax/login.config" filet és itt kommentezzük vissza a "/AutoPPP/"-vel kezdődő sort és írjuk át így: "/AutoPPP/ - a_ppp /usr/sbin/pppd file /etc/ppp/options.server". Most megmondtuk az mgetty-nek, hogy bejövő hívás esetén mit is csináljon (átdobja a problémát a pppd démonnak). Ezzel az mgetty részt már le is tudtuk.
  • Keressük meg vagy hozzuk létre a "/etc/ppp/options.server" file-t. Ebbe írjuk be a következőt:
                 192.168.3.202:192.168.3.203
                 -detach
                 asyncmap 0
                 modem
                 lock
                 proxyarp
                 require-pap
                 refuse-chap
                 idle 30
                 lcp-echo-interval 10
                 lcp-echo-failure 3
                 defaultroute
                 ms-dns 192.168.1.1

Az első sorban adjuk meg, hogy a ppp kapcsolat felépülésekor milyen IP legyen nekünk (az első szám), illetve milyen IP-je legyen a másiknak (a második szám). Hasznos, ha ezek az IP-k beleesnek az gép által amúgy is használt IP tartományba (már ha az a cél, hogy a betárcsázós emberke is tudjon keringeni a hálózaton).

Ami még fontos az a "modem" bejegyzés, mert innen tudja a ppp, hogy modemről van szó (megszakadhat, meg meg kell szakítani meg ilyenek).

Az "idle 30" azt jelenti, hogy ha 30 másodpercig nincs mozgás a hálózaton, akkor zárja a kapcsolatot.

Az "lcp-echo-interval 10" és az "lcp-echo-failure 3" azt jelenti, hogy 10 másodpercenként rápróbál, hogy él-e a vonal és ha ez a próba 3-szor nem sikerül, akkor leépíti a ppp-t.

Az "ms-dns 192.168.1.1" sorba értelemszerűen a sajtá DNS szerverünk címét írjuk be, bár ez állítólag csak MS alapú oprendszerek behívásakor izgalmas.

  • Írjuk a bele a /etc/inittab fileba a következőt:
File: /etc/inittab
T0:23:respawn:/usr/sbin/mgetty -x5 -D -s 115200 ttyS0 -n 1 -m '"" AT+CBST=80,0,1;+CHSN=4,2,0,12 OK'

Ezzel azt biztosítjuk, hogy az mgetty állandóan fusson. Ha bármi ok miatt kilővődik (pl. lezárul a kapcsolat), akkor újraindul. Itt megadtuk, hogy

  • 115200-as sebességgel használja a com1 portot (-s 115200 ttyS0),
  • az első csengetés után vegye fel (-n 1),
  • nem akarunk fax üzemmódot (-D),
  • közepes tudálékossággal logoljon (-x5),
  • illetve én itt megadtam a saját telcsim (T68i) inicializálós AT parancsát és ami választ ere várok ("OK").


A telcsi incializálásán sok múlik, valamit magától is csinál az mgetty, de nekem az nem működik. Ezt a kombinációt a telefon windows-os meghajtójának a .ini file-jából lestem ki.

  • killall -HUP init kiadásával már aktivizáltuk is az új inittab beállításokat
  • indítsuk el a routed démont "/etc/init.d/routed start"
  • írjuk be a következőt: "echo "1" >/proc/sys/net/ipv4/ip_forward"


Elméletileg készen vagyunk. Betárcsázáskor egy már létező linuxos felhasználóval tudunk bejelentkezni.



remélem nem felejtettem ki semmit

  • nálam az egyik gépen nem érzékelte, ha megszakadt a vonal, ekkor jött jól a 10 másodpercenkénti vonal ellenőrzés, egyébként ki lehet kommentezni
  • a /var/log/syslog -ban lehet nyomonkövetni, hogy mi is történik betárcsáskor
  • a /var/log/mgetty/mgetty.ttyS0 file mutatja, hogy hogyan is állunk a modemmel (pl. ha nem sikerül inicializálni a modemet, akkor azt itt láthatjuk)

Személyes eszközök