Portál AbcLinuxu, 7. května 2025 20:05
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.
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ě.
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...
http://www.servery.cz/?include=adsl/adsl
Lépe napoví:
http://www.telecom.cz/adsl/co_je_adsl.phpJak jste p?i?el na PPTP? Viz:
http://www.lupa.cz/clanek.php3?show=2730Cituji: 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.
Anschlusskennung: 111111111111
T-Onlinenummer: 22222222222
Mitbenutzer: 0001
Passwort: geHeim
pap-secrets:
"11111111111122222222222#0001@t-online.de" * "geHeim"
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.