Portál AbcLinuxu, 7. května 2025 20:05

Zprovoznění ADSL v Linuxu

27. 2. 2003 | Martin Kučera
Články - Zprovoznění ADSL v Linuxu  

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

Odkazy a zdroje

PPP FAQ
ADSL4Linux.de (německy)
Linux PPP HOWTO
The Linux Kernel HOWTO

Další články z této rubriky

VDR a DVB-T2, část 2.
VDR a DVB-T2, část 1.
Šifrovaný Proxmox VE 6: ZFS, LUKS, systemd_boot a Dropbear
MapTiler – proměňte obrázek v zoomovatelnou mapu
Syncthing

Diskuse k tomuto článku

CIJOML avatar 27.2.2003 10:29 CIJOML | skóre: 58 | Praha
Rozbalit Rozbalit vše Zbytecne slozite...
Odpovědět | Sbalit | Link | Blokovat | Admin
Tenhle navod je zbytecne slozity lepsi lezi uz vic nez rok zde:

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

27.2.2003 11:44 Martin Kučera | skóre: 12 | Vsetín
Rozbalit Rozbalit vše 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.
CIJOML avatar 27.2.2003 12:52 CIJOML | skóre: 58 | Praha
Rozbalit Rozbalit vše Re: Zbytecne slozite...
no to je preci jen otazka nastaveni options
2.3.2003 18:13 PB
Rozbalit Rozbalit vše Re: Zbytecne slozite...
Vá? cíl v?bec nechápu :) Dial on Demand nemá ?ádný smysl pro ADSL v ?esku, nebo? slu?ba je zpoplatn?na pau?álem bez ohledu na dobu navázaného PPP spojení nebo na p?enesená data. Nejlep?í volbou je navázání spojení ji? p?i startu Linuxu a jeho trvalé udr?ení :)
2.3.2003 18:16 PB
Rozbalit Rozbalit vše Re: Zbytecne slozite...
Reagoval jsem samoz?ejm? na p?ísp?vek Martina Ku?ery...
27.2.2003 20:07 Martin
Rozbalit Rozbalit vše zbytocne jednoduche
http://www.stk.sk/adsl.html
1.3.2003 09:59 Pavel
Rozbalit Rozbalit vše Zbytecne slozite...
Podle va?eho linku to hlavn? vypadá, ?e Telecom nepu?ívá PPPoE, ale PPTP, tak?e návod v zde publikovaném ?lánku by byl nepou?itelný. Nevíte n?kdo s jistotou, kterým protokolem budeme komunikovat? Co jsem koukal, tak adsl modemy Alcatel dodávané telecomem to zvládají hned 5 zp?soby: - transparent bridging - PPPoE - PPTP (PPPoA to PPTP relaying) ADSL ROUTER umí navíc: - klasický routing po ethernetu - CIP (Classic IP)
1.3.2003 12:52 Martin Kučera | skóre: 12 | Vsetín
Rozbalit Rozbalit vše Zbytecne slozite...
Podle kterého linku? N?jak nemohu ?ádnou zmínku o PPTP najít...

Lépe napoví:

http://www.telecom.cz/adsl/co_je_adsl.php
Jak jste p?i?el na PPTP? Viz:
http://www.lupa.cz/clanek.php3?show=2730
Cituji: Pozd?ji jsem se proto obrátil na lépe informovaný zdroj s prosbou o vysv?tlení, jak se v?ci doopravdy mají. M?lo by to tedy být tak, ?e u základní verze komunikuje koncový u?ivatel s dahsboardem (SSD) po PPPoE (PPP over Ethernet), a to s vyu?itím privátních adres. Na SSD dochází k NATu, v pom?ru 1:1, mezi privátní adresou sm?rem k u?ivateli, a dynamicky p?id?lenou (ale ve?ejnou) adresou od p?íslu?ného ISP na stran? opa?né, sm?rem k Internetu. Samotný NAT by m?l být "inteligentní", realizovaný na aktivních prvcích Cisco. Od "oby?ejného" NAT by se m?l odli?ovat tím, ?e napravuje nep?íznivé efekty NAT na nej?ast?ji pou?ívané aplikace, a tím jim umo??uje fungovat bez problém? i p?es existenci p?ekladu.
2.3.2003 16:47 Pavel
Rozbalit Rozbalit vše Zbytecne slozite...
Podle linku v p?ísp?vku, na který jsem reagoval: http://www.servery.cz/?include=adsl/adsl který obsahuje nastavení v reálném prost?edí sít? ?T a je to PPTP Jinak díky za vá? link, ale na stránkách telecomu o tom nic není a z textu, který citujete, plyne, ?e PPPoE je zase jen hypotéza... Moje pochybnost o pou?ití PPPoE plyne také z toho, ?e jej (narozdíl od PPTP) standardn? nepodporují ani Windows.
19.9.2005 22:04 James Bombardak | skóre: 5
Rozbalit Rozbalit vše Re: Zbytecne slozite...
Moc dekuji za tento prispevek. Je to jednoduche a pracuje to vyborne. Uz dva tydny se snazim jako zacatecnik to zprovoznit a az tenhle navod bez uspechu. Rozbehlo se to hned na poprve. mam modem siemens gigaset se515dsl a nemeckeho providera 1und1(Telecom)

Diky a Zdar James
27.2.2003 10:35 Jakub Chalupnik | skóre: 7
Rozbalit Rozbalit vše ADSL + Mandrake
Odpovědět | Sbalit | Link | Blokovat | Admin
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 :-)
27.2.2003 11:51 Martin Kučera | skóre: 12 | Vsetín
Rozbalit Rozbalit vše 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"

27.2.2003 23:45 Jakub Chalupnik | skóre: 7
Rozbalit Rozbalit vše 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 :-)
Jiří Svoboda avatar 27.2.2003 13:46 Jiří Svoboda | skóre: 37 | blog: cat /dev/mind | Prostějov
Rozbalit Rozbalit vše Prodat domek...
Odpovědět | Sbalit | Link | Blokovat | Admin
To jsem vazne tak naivni? Ja mel za to, ze ADSL u nas bude za pausal, jako nahrada pevne linky.
27.2.2003 18:06 Tomáš Hála | skóre: 39 | blog: blog
Rozbalit Rozbalit vše 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..
28.2.2003 02:00 Lubomir Zrnecko
Rozbalit Rozbalit vše Pojede...
...ale jak kde...:-((
28.2.2003 10:18 Led Astray
Rozbalit Rozbalit vše 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
1.3.2003 12:33 Martin Kučera | skóre: 12 | Vsetín
Rozbalit Rozbalit vše Prodat domek...
U Telekomu pau?ál. Ale mo?ná u ostatních provider?... Myslím si ale, ?e on demand v?ci ne?kodí.
1.3.2003 17:05 Petr Kubanek
Rozbalit Rozbalit vše Prodat domek...
Ne, vsude mate pausal. Jak u TDAG, tak v Cechach. Nejlepsi navod je IMHO na http://www.adsl-linux.de, je to tam snad i v AJ. Ja mam DSL i s maskeradou uz vice jak rok, od zacatku na Linuxu (Wokna jsem nikdy nepripojoval). Chodi tam PPPoE, proto je potreba prislusna podpora do jadra.
1.3.2003 17:09 Petr Kubanek
Rozbalit Rozbalit vše Prodat domek...
Tak adresa je http://www.adsl4linux.de, ma pamet uz neni to co byvala:(
11.8.2003 21:31 adsl fun
Rozbalit Rozbalit vše zmena modemu
Odpovědět | Sbalit | Link | Blokovat | Admin
Me se nejlepe osvedcilo si zmenit nastaveni alcatel ADSL modemu aby makal jako router. Pak uz zadne heslo neni nikde potreba davat - jen se nastavi modem a pak uz bezi vse s default gateway :-))

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.