Úvod
Hledat
Ovladače
Hardware
Software
Abíčko
O nás

Návody - Zprovoznění ADSL v Linuxu

Zprovoznění ADSL v Linuxu

27. 2. 2003 07:00 | Martin Kučera

Podrobný návod k instalaci a konfiguraci ADSL připojení.

Podle neověřených informací je zprovoznění ADSL v ČR na spadnutí [vypadá to, že už spadlo... pozn. red.]. Aby si čtenáři AbcLinuxu mohli s předstihem udělat představu, co všechno obnáší zprovoznění připojení pod Linuxem, rozhodl jsem se podělit se se svými zkušenostmi, nabytými zhruba ročním provozem T-DSL připojení v Německu.

Hardware:

Dva dny po objednání služby přišla poštou krabice, ve které byly skryty dvě podivné krabičky: jedna menší (splitter) k připojení mezi telekomácké dráty a ISDN ústřednu a ta větší a pro mne zajímavější byl modem, který se připojí na jedné straně k té menší krabičce a na druhé straně k 10Mbps ethernetové kartě v počítači. Modem má ješte jeden podivný drát, kterýžto je nutno zasunout do zásuvky. Nadešel tedy čas připojit domek k elektrárně.

Software:

Nic světoborného jsem od telekomunistů neočekával, ale přesto má první cesta při honbě za manuály a HOWTO vedla na jejich stránky. Zjistil jsem tam, že počítají i s účastníky, kteří používají podivné operační systémy, omezují se ovšem jen na SuSE Linux, další informace a linky chybějí.

To nevadí, existuje ještě dokumentace k jádru. Co v něm budeme potřebovat (budu se zabývat pouze takzvanou RP-PPPoE verzí od Deavida Skolla):

Konfigurace jádra - PPPoE
Položka v jádře Volba kompilace
Networking options
    Socket filtering (FILTER) Y
Network device support
    PPP (point-to-point protocol) support (PPP) Y/M
    PPP filtering (PPP_FILTER) Y
    PPP support for async serial ports (ASYNC) Y/M
    PPP support for sync tty ports (SYNC_TTY) Y/M
    PPP Deflate compression (DEFLATE) Y/M
    PPP BSD-Compress compression (BSDCOMP) Y/M
    PPP over Ethernet (EXPERIMENTAL) (PPPOE) Y/M
Character devices
    Unix98 PTY support (UNIX98_PTYS) Y

Samozřejmě je možné šoupnout tam ty věci i jako moduly. Pak je ovšem nutno napsat pár řádků do /etc/modules.conf:

alias char-major-108 ppp_generic
alias tty-ldisc-3 ppp_async alias tty-ldisc-14 ppp_synctty
alias net-pf-24 pppoe

Není špatné mrknout, jestli existuje /dev/ppp. V případě negativního výsledku hledání nutno vytvořit:

mknod --mode=664 /dev/ppp c 108 0

Předpokládám, že ovladač sítovky už běží, a ta je jádrem vedena jako eth0.

Dalším krůčkem bude doplnění potřebného programového vybavení. Budeme potřebovat PPP software a PPPoE driver (Point-to-Point Protocol over Ethernet). V Debianu stačí toto:

apt-get install ppp pppoe

To bychom měli. Nyní se pokusme spícího démona probudit.... Existuje-li default route, tak ji smažeme:

route del default

Vyzkoušet, je-li propojení našich tří krabiček v pořádku, není nic složitého:

pppoe -I eth0 -A

Mělo by nám vylézat něco podobného následujícímu:

--------------------------------------------
Access-Concentrator:
OSNC13-nrp3
Got a cookie: 50 64 87 59 6d bf 73 00 1d 67 98 7d c2 d3 a5 32
AC-Ethernet-Address: 00:01:96:99:50:b7
--------------------------------------------

Nyní nadešel čas zkontrolovat, jestli na druhé straně nemají dlouhou polední přestávku:

pppoe -T20 -I eth0 -D /var/log/pppoe.log > /dev/null

Soubor pppoe.log by měl obsahovat podobný text:

SENT PPPOE Discovery (8863) PADI sess-id 0 length 4
SourceAddr 00:00:1c:db:da:93 DestAddr ff:ff:ff:ff:ff:ff 01 01 00 00
RCVD PPPOE Discovery (8863) PADO sess-id 0 length 39

SourceAddr 00:01:96:99:50:b7 DestAddr 00:00:1c:db:da:93
01 01 00 00 01 02 00 0b-4f 53 4e 43 31 33 2d 6e
72 70 33 01 04 00 10 50-64 87 59 6d bf 73 00 1d
67 98 7d c2 d3 a5 32

SENT PPPOE Discovery (8863) PADR sess-id 0 length 24
SourceAddr 00:00:1c:db:da:93 DestAddr 00:01:96:99:50:b7
01 01 00 00 01 04 00 10-50 64 87 59 6d bf 73 00
1d 67 98 7d c2 d3 a5 32

Jestliže je tomu jinak a je tam plno chybových hlášek, je s největší pravděpodobností námraza na silnici... Já budu samozřejmě vycházet z předpokladu, že i tohle dopadlo podle očekávání a že se můžeme vrhnout do víru přihlašování, navazování spojení, pingnutí a rozchození dial-on-demand.

Zatím zřejmě nikdo neví, v jaké formě se bude zadávat uživatelské jméno u Českého Telecomu. Tady se to liší od operátora k operátorovi. Jisté je jen, že se ona přístupová data musí zapsat do /etc/ppp/pap-secrets:

"uzivatelske_jmeno" * "desne_tajne_heslo"

Dalším konfiguračním souborem, jenž se musí vytvořit, je /etc/ppp/peers/dsl-provider.

Měl by obsahovat podobné tajemné formule:

pty "pppoe -I eth0"
#pty "pppoe -I eth0 -m 1452"
#pty "pppoe -I eth0 -m 1412"
#demand
connect /bin/true
ipcp-accept-remote
ipcp-accept-local
usepeerdns
idle 90
noipdefault
defaultroute
user "uzivatelske_jmeno"
hide-password
noaccomp
nopcomp
novj
novjccomp
nobsdcomp
nodeflate
noccp
nocrtscts
local
lcp-echo-interval 10
lcp-echo-failure 3
lock
# Jen pro testovani v syslog
#debug
# jen pro testovani - neskoci po spusteni do pozadi
nodetach

Položka "uzivatelske_jmeno" by měla odpovídat zápisu v /etc/ppp/pap-secrets, zakomentované řádky #pty "pppoe -I eth0 -m 1452" a 1412 jsou v záloze pro případ maškarády, jelikož pppoe protokol vyžaduje přesně 8 Byte v jednom ethernet paketu.

V okamžiku, kdy tyhle soubory obsahují, co mají, můžeme se zavěsit na systémové logy:

tail -f /var/log/syslog
tail -f /var/log/messages
watch plog

Nadchází slavnostní okamžik spuštění pppd:

pppd call dsl-provider

Na obrazovce se objeví následující řádky:

pppd[1578]: pppd 2.4.1 started by root, uid 0
pppd[1578]: Serial connection established.
pppd[1578]: Using interface ppp0
pppd[1578]: Connect: ppp0 <--> /dev/pts/4
pppoe[1579]: PADS: Service-Name: ''
pppoe[1579]: PPP session is 4658
pppd[1578]: local IP address 2.226.75.9
pppd[1578]: remote IP address 10.112.112.112

Tak to pingneme: ping -c5 nejaka.ip.adresa a zkusíme, jestli DNS funguje, jak má: ping -c5 abclinuxu.cz. Spojení ukončíme Ctrl+C.

Tím máme vše nastaveno, zkontrolováno a můžeme zakomentovat řádek "nodetach" v /etc/ppp/peers/dsl-provider.

Spojení budeme navazovat pon dsl-provider a ukončovat pomocí poff.

Zajímavější se jeví být navazování spojení pomocí Dial On Demand. Tento přístup předpokládá existenci souboru ppp_on_boot v adresáři /etc/ppp. Při instalaci PPPoE byl vytvořen jako dsl_on_boot. Nastavíme mu práva chmod 750 dsl_on_boot a vytvoříme symbolický link jménem ppp_on_boot na něj. Přidáme ještě maličkost kvůli možnosti chyb při neplatných IP adresách a mazání default route je-li to nutné, takže výsledný soubor pak vypadá takto:

#!/bin/sh
#

route del default

# The location of the ppp daemon itself (shouldn't
# need to be changed)
PPPD=/usr/sbin/pppd

# The Ethernet interface the DSL modem is connected to.
# If you change this, you also need to edit the file
# /etc/ppp/peers/dsl-provider.INTERFACE=eth0

# Bring the interface up
ifconfig $INTERFACE up -arp
$PPPD call dsl-provider

echo 2 > /proc/sys/net/ipv4/ip_dynaddr

Nezapomene odkomentovat položku "demand" v /etc/ppp/peers/dsl-provider. Po restartu pppd je dobré nějakou dobu kontrolovat logy, abychom měli jistotu, že se spojení po 90 sekundách nečinnosti opravdu vždy odpojí. S takovou pak nebudeme muset prodat náš čerstvě připojený domek po příchodu telefonního účtu...

Diskuse k tomuto článku

Datum: 27. 2. 2003 10:29
Od: CIJOML
Titulek: Zbytecne slozite...

Tenhle navod je zbytecne slozity lepsi lezi uz vic nez rok zde:

http://www.servery.cz/?include=adsl/adsl

Datum: 27. 2. 2003 11:44
Od: Martin Kučera
Titulek: Re: Zbytecne slozite...

A není to jen to samé s tím rozdílem, že nepodporuje dynamické přidělování IP od providera? Opravte mne, jestli se mýlím. Můj cíl je odlišný: aby _každý_ byl schopen rozchodit dial on demand přes adsl.

Datum: 27. 2. 2003 12:52
Od: CIJOML
Titulek: Re: Zbytecne slozite...

no to je preci jen otazka nastaveni options

Datum: 27. 2. 2003 20:07
Od: Martin
Titulek: zbytocne jednoduche

http://www.stk.sk/adsl.html

Datum: 27. 2. 2003 10:35
Od: Jakub Chalupnik
Titulek: ADSL + Mandrake

Priznavam se, ze uz je to nejakej cas, co jsem stejnou situaci resil s Mandrake 8.x a jediny, s cim jsem mel problemy, bylo dekodovat to straslivy jmeno a heslo od T-Online :-) Jinak jsem pri instalaci proste jen nastavil PPPoE pristup na internet a fungovalo to. Bohuzel to uz nemuzu zkusit znova, neb jsem poridil DSL-router. Nebavilo me pri kazdy reinstalaci Windows znovu vytukavat prihlasovaci jmeno ve stylu 1234567890123456948#938584587@t-online.de :-)

Datum: 27. 2. 2003 11:51
Od: Martin Kučera
Titulek: ADSL + Mandrake

To strašlivé číslo jde dekódovat snadno:

Anschlusskennung: 111111111111

T-Onlinenummer: 22222222222

Mitbenutzer: 0001

Passwort: geHeim

pap-secrets:

"11111111111122222222222#0001@t-online.de" * "geHeim"

Datum: 27. 2. 2003 23:45
Od: Jakub Chalupnik
Titulek: ADSL + Mandrake

Jojo, na to sem prisel taky, kdyz jsem si peclive precetl dokumentaci pro instalaci ve WinNT, kde to bylo popsany malickym pismem na strane 297 :-)

Datum: 27. 2. 2003 13:46
Od: Jiri Svoboda
Titulek: Prodat domek...

To jsem vazne tak naivni? Ja mel za to, ze ADSL u nas bude za pausal, jako nahrada pevne linky.

Datum: 27. 2. 2003 18:06
Od: Tomáš Hála
Titulek: Prodat domek...

Jasne, ze bude za pausal. Jen ten pausal je celkem mastnej, ale da se to jakztakz zkousnout. Hlavne, ze uz to konecne pojede..

Datum: 28. 2. 2003 02:00
Od: Lubomir Zrnecko
Titulek: Pojede...

...ale jak kde...:-((

Datum: 28. 2. 2003 10:18
Od: Led Astray
Titulek: Prodat domek...

Jasne ze za pausal. Nevim proc v clanku strasi ten on-demand. Navic neni jasne, jak autor uvadi, jak se vubec bude prihalsovat, takze clanek povazuju za ponekud predcasny. ntw


(c) AbcLinuxu s.r.o.   Grafika: megadesign