FreeBSD na Telstra-ovoj Bigpond ADSL mreži

Original: https://logicsquad.net/freebsd/PPPoE-how-to.html

Paul Hoadley

Logic Squad

2003-03-31

Sažetak


Ovaj dokument opisuje kako postaviti FreeBSD sistem za povezivanje s Telstra-ovom Bigpond ADSL mrežom. Tvrdi se da su informacije dovoljne – sigurno postoje drugi načini za to. Informacije se možda ne odnose na ISP-ove koji nisu Telstra (Australija).

1. Pred-povezivanje

1.1. Preliminarna pitanja

Dijelovi ovog dokumenta pretpostavljaju da je čitač u stanju ponovno prevesti kernel. Naročito, ako je išta od sljedećeg istinito, bit će potrebna repilacija kernela:

  • Podrška za rl vozača Ethernet uređaj nije prethodno sastavljen u kernel. (GENERICkernel ne imati podršku za ovu vozača.)

  • Sustav pokreće verziju FreeBSD prije 4.2-RELEASE, u tom slučaju moraju se izvršiti izmjene u izvoru kernela opisane u nastavku.

Prekomponovanje kernela relativno je jednostavno i dobro je opisano u FreeBSD priručniku. Sve promjene u konfiguracijskim datotekama opisanim kroz njih očito trebaju biti izvršene kao root korisnik.

1.2. Uređivanje veze s Telstrom

Telstra ne podržava povezivanje uređaja koji pokreću FreeBSD na Bigpond ADSL mrežu. U praksi to znači samo dvije stvari:

  • Trebat će vam mašina koja pokreće jedan od podržanih operativnih sistema Windows ili Macintosh koji su prisutni kada instalacijski program dođe da uspostavi vezu.

  • Nećete dobiti pomoć od telefonske službe za pomoć Bigponda ako se pojavi problem sa vašim FreeBSD sistemom. Ako se problem dogodi i vjerujete da je to udaljeno za vaš ADSL modem, često je korisno imati na raspolaganju originalni Windows ili Macintoshsistem na kojem možete testirati vezu dok razgovarate sa osobljem službe za pomoć.

2. Veza

2.1. Pitanja hardvera

Korišteni hardver bio je onaj koji isporučuje Telstra: SMC EZ kartica 10/100 NIC i Alcatel SpeedTouch Home ADSL modem. Telstra je počela da gura upotrebu USB-Ethernet adaptera između uređaja i modema. Zbog nedostatka takvog adaptera za testiranje, ovaj se dokument ne odnosi na taj hardver.

2.1.1. SMC EZ kartica 10/100 NIC

Odgovarajući pogonitelj uređaja za ovaj NIC je rl. Ako nema, dodavanje linije

device         rl0

na vašu konfiguracijsku datoteku kernela biti će dovoljno da se ova PCI kartica pronađe pri pokretanju.

[Important] Bitan

Još nemojte prekompolirati kernel — u nastavku se mogu izvršiti dodatne promjene.

Dodajte rl0 na popis mrežnih sučelja u sustavu /etc/rc.conf:

# You may have more than two interfaces
network_interfaces="rl0 lo0"
# There is no need to supply rl0 with an IP address
ifconfig_rl0="media 10baseT/UTP up"

Za usporedbu, ovo je izlaz ifconfig ifconfig rl0 na mojoj mašini:

# ifconfig rl0 rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet6 fe80::2e0:29ff:fe66:305f%rl0 prefixlen 64 scopeid 0x1
        ether 00:e0:29:66:30:5f
        media: Ethernet 10baseT/UTP
        status: active

2.1.2. Alcatel Speedtouch kućni ADSL modem

Povezivanje ADSL modema je jednostavno, ali se razlikuje od povezivanja standardnog serijskog modema:

Ovaj dijagram prikazuje kako biste postavili FreeBSD uređaj da bude gateway za vaš LAN. sis0 je prikazan kao interno sučelje samo kao demonstracija. Možda imate drugi NIC koji zahtijeva drugi upravljački program uređaja. Ako nemate lokalnu mrežu, relevantna je samo veza s rl0.

2.2. Pitanja softvera

2.2.1. Konfiguracija kernela

Prema FreeBSD Priručnik, podrška netgraph više ne treba da bude sastavljena u kernel. Ako nije pronađena podrška netgraph, ppp mogu učitati ga u kernel za vrijeme izvođenja.

2.2.2. Izmenang_pppoe.c

[Important] Bitan

Ovu izmjenu treba izvršiti samo za sisteme prije FreeBSD 4.2-RELEASE. Opisane promjene inkorporirane su u izvor kernela naFreeBSD 4.2-RELEASE.

2.2.2.1. Pozadina

Ovaj se odjeljak može sigurno preskočiti ako vas ne zanima zašto izvor treba mijenjati.

Opis PPP-a preko Ethernet protokola možete pronaći u RFC 2516. Iz nekog razloga, Telstra-ovi pristupni koncentratori osjetljivi su na redoslijed kojim su oznake smještene u početni PADI paket. Jednostavna izmjena izvora zamijeniti redoslijed [Service-Name] i [Host-Uniq] Oznake su sve što je potrebno. Ako vas zanima kako proces otkrivanja propada, a to već niste učinili, pokrenite tcpdump u drugom prozoru ili na drugoj konzoli. Ako koristite X Windows, pokrenite rezervni xterm sa xterm &. Ako ste na konzoli, prelazite između virtualnih terminala koristeći Alt+F1Alt+F2 i tako dalje. As root, trčati:

# tcpdump -e -i rl0 -s 1500 not ip

Ovisno o verziji FreeBSD koju pokrećete i u kojem gradu živite, proces će umrijeti u nekom trenutku prije nego što je sesija postavljena.

2.2.2.2. Izmena ng_pppoe.c
  1. Spremite odgovarajuću razliku od jedne od tri veze dolje u datoteku /tmp/ng_pppoe.diff. Razlikuje se od originala 3.4-R, 4.0-R i 4.1.1-R izvori su ovdje povezani, ali Aaron Hill je spreman stvoriti razlike za sve druge verzije koje ljudi mogu zahtijevati. Pogledajte odjeljak o Kontaktiranju autora ispod.

  2. Idite u traženi direktorij:

    # cd /usr/src/sys/netgraph
  3. Napravite sigurnosnu kopiju izvornog izvora:

    # cp ng_pppoe.c ng_pppoe.c.bak
  4. Primjeni razl:

    # patch < /tmp/ng_pppoe.diff

2.2.3. Prekompilirajte kernel

Ako su napravljene bilo kakve izmjene konfiguracijske datoteke kernela ili samog izvora kernela kao što je gore opisano, kernel bi se trebao ponovo prevesti kako je opisano u FreeBSD Priručnik. Potom bi mašinu trebalo ponovo pokrenuti.

2.2.4. Izmena /etc/ppp/ppp.conf

Sljedeće ppp.conf je dovoljno za spajanje na Telstra Bigpond ADSL Mreža:

default:
 set device PPPoE:rl0:bigpond
 set speed sync
 set mru 1492
 set mtu 1492
 set ctsrts off
 enable lqr
 add default HISADDR
 set timeout 0
 set redial 0 0

 # Network Address Translation (NAT)
 nat enable yes
 nat log yes
 nat same_ports yes
 nat unregistered_only yes
 enable dns

bigpond:
 set authname yourname@bigpond
 set authkey yourpassword

2.2.5. Izmena /etc/rc.conf

/etc/rc.conf mogu se modifikovati tako da omoguće automatsko povezivanje u vrijeme pokretanja:

ppp_enable="YES"
ppp_profile="bigpond"
ppp_mode="ddial"

2.2.6. Izmena /etc/resolv.conf

Dodajte IP adrese poslužitelja imena koje je tehničar za instalaciju unio u vaš Windows ili Mac konfiguraciju. Na primjer, u Adelaideu su bili brojevi koje je uneo moj instalater:

nameserver 61.9.128.13
nameserver 61.9.128.16

Brojevi za vašu lokaciju mogu biti različiti.

3. Post-konekcija

3.1. Ispitivanje veze

Za testiranje koristite ppp interaktivni način rada:

# ppp

Ovo bi trebalo dovesti do poznatog interaktivnog upita:

ppp ON yourhost>

U odzivnik otkucajte dial bigpond, i ppp trebalo bi povezati na standardni način:

ppp ON yourhost> dial bigpond Ppp ON yourhost>
PPp ON yourhost>
PPP ON yourhost>

Kao što je svaki uzastopni pppp promjenama u P, to znači da u pregovorima napreduje. Naime, prvi Pukazuje na to da ZPP završi, drugi da je autentifikacija je završen, a treći nego IP broj je dodijeljen. Više informacija može se naći na man ppp.

Prvotno sam otkrio da je potrebno jedan ili dva pokušaja veze. Od modifikacije rc.conf, i dobivanje ppp da radim tiho u vreme pokretanja, međutim, nisam imao ovaj problem.

Konačno, pokušajte kontaktirati domaćina u mreži Telstra, najprije putem broja:

# ping 139.134.2.129 PING 139.134.2.129 (139.134.2.129): 56 data bytes
64 bytes from 139.134.2.129: icmp_seq=0 ttl=229 time=49.518 ms
64 bytes from 139.134.2.129: icmp_seq=1 ttl=229 time=49.758 ms
64 bytes from 139.134.2.129: icmp_seq=2 ttl=229 time=50.274 ms
^C
--- 139.134.2.129 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 49.518/49.850/50.274/0.315 ms

A onda po imenu:

# ping telstra.com PING telstra.com (139.134.2.129): 56 data bytes
64 bytes from 139.134.2.129: icmp_seq=0 ttl=229 time=48.037 ms
64 bytes from 139.134.2.129: icmp_seq=1 ttl=229 time=49.454 ms
64 bytes from 139.134.2.129: icmp_seq=2 ttl=229 time=49.913 ms
^C
--- telstra.com ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 48.037/49.135/49.913/0.798 ms

Imajte na umu da neka često postavljana pitanja sugeriraju pinging vašem najbližem susjedu, ali Telstra konfigurira neke svoje domaćine da ne odgovore na ICMP zahtjeve. Pinging mog najbližeg susjeda čini se da postoji problem kada ga nema:

# ifconfig tun0 tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1454
        inet 61.9.135.135 --> 172.31.28.3 netmask 0xff000000 

# ping 172.31.28.3 PING 172.31.28.3 (172.31.28.3): 56 data bytes
36 bytes from GigabitEthernet4-0.wel-gw1.Perth.telstra.net
(203.50.113.18): Destination Host Unreachable
Vr HL TOS  Len   ID Flg  off TTL Pro  cks      Src      Dst
 4  5  00 5400 075d   0 0000  f5  01 3199 61.9.135.135  172.31.28.3 

^C
--- 172.31.28.3 ping statistics ---
1 packets transmitted, 0 packets received, 100% packet loss

To ne ukazuje na problem.

A. Kontaktiranje autora

Autor ovog dokumenta je Paul Hoadley. Ovaj dokument opisuje samo ono što sam učinio da bih pokrenuo PPPoE FreeBSDmašina. Vaša kilometraža može varirati. Ako primijetite bilo kakve pogreške u ovom dokumentu ili je vaše iskustvo s ADSL mrežom Telstra bilo poprilično drugačije, molim vas javite mi.

Ja sam spreman da pomogne u rešavanju problema vezanih za postavljanje opisane u ovom dokumentu. Trebat će vam, međutim, da mi pošalje stvarne doslovno kopije poruka o grešci, kao i stvarne kopije datoteka su uključeni (uz korisničko ime i Lozinka informacije izbrisane). E-mail tvrdeći da “Moj rc.conf je baš kao i onaj na vašu stranicu, i to ne radi”, neće više nije dobio nikakav odgovor.

B. Krediti

Hvala puno Aaron Hill za komentare i za originalne izmjene izvora kernela koje su bile potrebne prije FreeBSD4.2-RELEASE. Ako  je potrebno da pokrenete stariju verziju FreeBSD Aaron je spremna na razlike za bilo koju drugu verzije ng_pppoe.c da su ljudi plutaju okolo. Podijelite kopiju ng_pppoe.c, a Aaron će poslati natrag razlika.

Zahvaljujem Ryan Trainoru na informacijama o USB-Ethernet adapterima koje isporučuje Telstra.