ot Rosen Antonov(3-04-2004)
reiting (70)
[ dobre ]
[ zle ]
Variant za otpechatvane
Tova e oshte edna statiia, koiato opisva kak da konfigurirate
PPPoE klient pod Linuks. Sushto taka, tuk shte budat zasegnati
vuprosi otnasiashti se do spodelianeto na internet dostup ot
dostavchik, koito polzva PPPoE.
1.1 SHTo e to PPPoE?
PPPoE (Point to Point Protocol over Ethernet) e protokol.
Izpolzva se aktivno v strani, kudeto kabelnite i DSL modemi
sa mnogo silno razprostraneni. Nakratko v edna standartna
LAN mrezha hostovete komunikirat chrez protokoli kato TCP/IP,
koito ot svoia strana direktno stupvat vurhu ethernet
protokola. Pri edna PPPoE komunikatsiia mezhdu TCP/IP i
ethernet se namestva PPPoE protokolut. Po tozi nachin PPPoE
paketite enkapsulirat v sebe si TCP/IP paketite. Ot tova
sledvat reditsa predimstva i nedostatutsi. Kato kraen rezultat
mezhdu klienta i survura se realizira Point to Point vruzka
(sushto kakto pri telefonnite modemi), koiato polzva ethernet
mrezhata kato prenosna sreda.
1.2 Predimstva:
- Internet dostavchikut mozhe da otchita izpolzvaniia internet
dostup po vreme.
- Osven zashtita po MAC adres se vuvezhda i zashtita s
potrebitelsko ime i parola.
- Klientut mozhe da zabrani poddruzhkata na TCP/IP priako. Po
tozi nachin toi shte e svurzan kum mrezhata na dostavchika, no shte
e nevidim za drugite klienti. Taka veroiatnostta za
zaraziavane s virusi i nezhelano pronikvane se namaliava s 50%.
Poddruzhkata na TCP/IP pri ustanoviavane na konektsiia mezhdu
nego i PPPoE survura ostava, no tia e enkapsulirana v PPPoE
paketite i e nerazbiraema za drugite.
1.3 Nedostatutsi:
- Niama vgradeni PPPoE klienti v povecheto versii na Windows.
Makar tuk da govorim za Linuks, tazi "malka"
podrobnost ne e za propuskane. Windows potrebitelite sa
prinudeni da polzvat dopulnitelni softuerni produkti,
povecheto ot koito se zaplashtat. Tova dopulnitelno uvelichava
purvonachalnite razhodi. CHast ot dostavchitsite, koito polzvat
PPPoE, instalirat na nezapoznatite novi potrebiteli
nelegalni kopiia na takiva softuerni produkti, bez dori da gi
popitat.
- Protsesite, koito upravliavat PPPoE vruzkata zaemat
znachitelno protsesorno vreme. Tova e mnogo otnositelno, no
ako iskate da vpregnete starata 486-tsa kato ruter v
domashnata si mrezha, sled dulgi probi mozhe da zabelezhite, che
nikoga ne uspiavate da vdignete poveche ot 4Mbits/sec.
2. Ustanoviavane na vruzkata
Za tselta imame nuzhda ot raboteshta Linuks mashina, na koiato
sa instalirani paketite ppp i rp-pppoe. Po
podrazbirane povecheto distributsii pokrivat iziskvaniiata. Ako
vse pak neshtata pri vas ne sa kakto triabva, mozhe da probvate
s Knoppix. Vsichko v statiiata po-dolu e izprobvano pod
Knoppix 3.2 (ot 15.april.2003), Slackware 9.1, RedHat 9.
Za primerite po-dolu priemame slednoto:
- Vashiiat vunshen interfeis e eth0.
- Potrebitelskoto vi ime e smalluser.
- Parolata vi e smallpass.
- DNS survurite na dostavchika sa XXX.XXX.XXX.YYY i
XXX.XXX.XXX.ZZZ.
- Service-name parameturut vi ima stoinost abc.
Purvo triabva da proverim dali vunshniiat vi interfeis e
"up" (vdignat). Izpulniavame:
ifconfig
Primeren rezultat:
eth0 Link encap:Ethernet HWaddr
00:00:23:0E:84:5A
UP BROADCAST RUNNING
MULTICAST MTU:1500 Metric:1
RX packets:1721052
errors:0 dropped:0 overruns:0 frame:1665
TX packets:1153395
errors:0 dropped:0 overruns:0 carrier:0
collisions:0
txqueuelen:100
RX bytes:2454820747 (2.2
GiB) TX bytes:78621860 (74.9 MiB)
Interrupt:9 Base
address:0xc000
lo Link encap:Local Loopback
inet addr:127.0.0.1
Mask:255.0.0.0
UP LOOPBACK RUNNING
MTU:16436 Metric:1
RX packets:6622 errors:0
dropped:0 overruns:0 frame:0
TX packets:6622 errors:0
dropped:0 overruns:0 carrier:0
collisions:0
txqueuelen:0
RX bytes:266932 (260.6
KiB) TX bytes:266932 (260.6 KiB)
SHTom vizhdame informatsiiata za eth0, znachi interfeisut e
vdignat. Ako vizhdate informatsiia samo za lo, to triabva ruchno
da vdignete eth0 s komandata:
ifconfig eth0 up
Sled tova proverete otnovo dali vizhdate eth0. Ako ne, to
nai-veroiatno imate problem s mrezhovata karta. Niama smisul da
produlzhavate sus sledvashtite stupki ako eth0 ne e
vdignat.
Vnimanie! Ako izpulnite komandata:
ifconfig eth0
to vie shte poluchite informatsiia za vuprosniia interfeis dori i
da ne e vdignat.
Izpulniavame komandata:
pppoe -I eth0 -A
Tia pretursva mrezhata na dostavchika (chrez izprashtane na PADI
freimove) za nalichni kontsentratori i servizi. Tova sa tezi
logicheski tochki, kum koito vie triabva da se vklyuchite. Eto
edin primeren rezultat:
Access-Concentrator: cc-12
Service-Name: c1
Service-Name: c2
Service-Name: c3
AC-Ethernet-Address: 00:06:a3:9a:aa:2b
--------------------------------------------------
Tuk triabva da vidite tozi Service-Name, kum koito
dostavchikut vi e kazal, che triabva da se vklyuchite. Ako
komandata dade rezultat:
pppoe: Timeout waiting for PADO packets
to vie niamate vruzka kum vhodnite tochki na dostavchika.
Proverete vsichko dobre i opitaite pak! Niama smisul da
produlzhavate po-nadolu ako ne vidite vashiia Service-name.
Nastroivame DNS survurite na dostavchika:
echo "nameserver XXX.XXX.XXX.YYY" >
/etc/resolv.conf
echo "nameserver XXX.XXX.XXX.ZZZ" >>
/etc/resolv.conf
Oburnete vnimanie na slednoto:
- Purvata komanda shte iztrie vsichko vuv vashiia fail
resolv.conf.
- Vtorata komanda naistina ima dva znaka
">".
Dobaviame potrebitelskoto si ime i parola vuv faila
pap-secrets, taka che te da se vzemat i izpolzvat pri
ustanoviavane na vruzkata.
echo "smalluser * smallpass" >>
/etc/ppp/pap-secrets
Sega veche sme gotovi za nai-vazhnata chast - ustanoviavane na
vruzkata!
pppd pty 'pppoe -I eth0 -S abc' noipdefault
defaultroute hide-password passive persist name
smalluser
S optsiiata "-S" se zadava parameturut
Service-name, taka che zamenete abc s vashiia. S optsiiata
"name" se zadava potrebitelskoto ime. Zamenete
smalluser s vasheto.
Zabelezhka: nali pravite razlika mezhdu tezi dva simvola: ' i
` ?
Sega mozhe da izpulnim otnovo komandata:
ifconfig
koiato osven informatsiia za lo i eth0 triabva da dade i
informatsiia za ppp0 ot vida:
ppp0 Link encap:Point-to-Point Protocol
inet
addr:XXX.XXX.XXX.XYZ P-t-P:XXX.XXX.ZYX
Mask:255.255.255.255
UP POINTOPOINT RUNNING
NOARP MULTICAST MTU:1500 Metric:1
RX packets:2172615
errors:0 dropped:0 overruns:0 frame:0
TX packets:1466232
errors:0 dropped:0 overruns:0 carrier:0
collisions:0
txqueuelen:3
RX bytes:3087662461 (2.8
GiB) TX bytes:65777364 (62.7 MiB)
Ako takava informatsiia niama, izchakaite malko, sled koeto pak
povtorete "ifconfig". Poniakoga e nuzhno poveche
vreme, za da se ustanovi vruzkata. ppp0 prestavliava
standarten Point to Point interfeis.
3. Spodeliane na vruzkata
Ima dostatuchno dokumentatsiia po tozi vupros. Tuk shte
spomenem samo nai-vazhnoto i niakoi ot osobenostite, kasaeshti
PPPoE protokola.
3.1 MTU parameturut pokazva maksimalna golemina na paket,
koito mozhe da bude izpraten ot nashiia interfeis. Standartnata
mu stoinost e 1500 baita. Za nas ne e problem da izprashtame
paketi po-golemi ot 1500 baita. Vuprosut e dali tezi
nestandartni paketi shte preminat do otsreshtnata strana i dali
tia shte gi prieme.
Pri spodelianeto na vruzka v nashiia sluchai hostovete v
lokalnata ni mrezha izprashtat kum Internet paketi s maksimalna
golemina 1500 baita. Za da se izpratiat kum dostavchika tezi
paketi preturpiavat PPPoE enkapsulatsiiata. Taka kum tiah se
dobaviat dopulnitelni baitove i paketite stavat nestandartni.
CHesto te bivat othvurleni. Rezultatut e lipsa na internet na
klientskite mashini vuv vutreshna mrezha.
Problemut se reshava po niakolko nachina. Purvo mozhem da
nakarame klientskite mashini da izprashtat po-malki paketi.
Vtoro - mozhem da nakarame nashata Linuks mashina da deli
golemite paketi na chasti predi protsesa na enkapsulatsiia. Tazi
ekstra otnema znachitelno protsesorno vreme. Za neia be
spomenato v tochka 1.3. Za da ia izpolzvate zamenete gornata
komanda sus slednata:
pppd pty 'pppoe -I eth0 -S abc -m 1412' noipdefault
defaultroute hide-password passive persist name
smalluser
Razlikata e v parametura "-m". Negovata stoinost
e opitno ustanovena. Preporuchva se da ne eksperimentirate s
neia osven ako niamate problemi.
3.2 Sushtinskoto spodeliane na vruzkata stava s komandite:
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
3.3 Vseki paket ima pole, v koeto se zapisva stoinostta na
TTL parametura mu. Pri preminavane na paket prez daden ruter
stoinostta na tova pole se namaliava s 1. Kogato po putia ot
iztochnika kum tselta stoinostta na TTL poleto stane 0 paketut
biva othvurlen. Ideiata e, pri vuznikvane na problem, daden
paket da ne "bluzhdae" v Internet bezkraino.
V standartnata situatsiia edin "novoroden" paket
ot vutreshnata mrezha ima TTL stoinost, koiato e ot vida (2^n).
Kogato takuv paket premine prez vashata Linuks mashina
negovata TTL stoinost dobiva vida (2^n-1). CHesto puti paketi
ot vtoriia vid sushto bivat othvurleni. Reshenieto na problema
ne e tsel na tazi statiia. Za povete informatsiia mozhe da
poglednete tuk:
http://netfilter.org/patch-o-matic/pom-base.html#pom-base-TTL
4. Zaklyuchenie
Napisanoto do tuk ima za tsel da hvurli luch svetlina v
problemite s PPPoE i da predlozhi na potrebitelite zavurshena
posledovatelnost ot stupki, koiato da donese nuzhniia rezultat
- vruzka kum Internet. Mozhete da izpolzvate, tsitirate,
promeniate i publikuvate tozi material, kato edinstvenoto
uslovie e da spomenete avtora na originala i negoviia e-mail
adres.
Ochakvam komentari za razshiriavane na statiiata i popraviane na
greshki i netochnosti.
Rosen Antonov
rossenantonov@hotmail.com
Posledna promiana: 04.april.2004
<< Instalirane i nastroika na prozrachna zashtitna stena | FreeSco deistvie vtoro >>
|