FreeBSD på Telstra stänga bilden ADSL Nätverk

Link: http://logicsquad.net/freebsd/PPPoE-how-to.html

Paul Hoadley

Logik Trupp

Copyright © 2000, 2001, 2002, 2003 Paul Hoadley

2003-03-31

Sammanfattning

Det här dokumentet beskriver hur man sätter upp en FreeBSD – system för anslutning till Telstra stänga bilden ADSL, Nätverk. Den information som påstås bara vara tillräckliga—det finns säkert andra sätt att göra det. Informationen får inte vara tillämpliga ISP, s, andra än Telstra (Australien).

– 1. Pre-Anslutning

1.1. Preliminära Frågor

Delar av det här dokumentet förutsätts att läsaren har möjlighet att kompilera en kärna. I synnerhet om någon av följande är sant, omkompilering av kärnan kommer att krävas:

  • Stöd för rl Ethernet-drivrutinen har inte tidigare har kompilerats in i kärnan. (Den GENERISKA – kärnan inte har stöd för den här drivrutinen.)
  • systemet kör en version av FreeBSD före 4.2-RELEASE, i vilket fall ändringar till kärnans källkod som beskrivs nedan måste göras.

Kompilera en kärna som är relativt enkel, och är väl beskriven av FreeBSD Handbook. Alla ändringar till konfigurationsfiler som beskrivs under hela bör naturligtvis göras som root – användare.

1.2. Arrangera Samband med Telstra

Telstra inte har stöd för anslutning av maskiner som körs FreeBSD för att stänga bilden ADSL, nätverk. I praktiken innebär detta att endast två saker:

  • Du kommer att behöva en maskin som kör en av de stödda Windows - eller Macintosh – operativsystem närvarande när installationsprogrammet kommer att göra anslutningen.
  • Du kommer inte att få hjälp från stänga bilden telefon kundtjänst om ett problem uppstår med din FreeBSD – system. Om ett problem uppstår och du tror att det är distala till din ADSL, modem, är det ofta användbart att ha den ursprungliga Windows - eller Macintosh – system som finns på där du kan testa anslutningen samtidigt samtala med Helpdesk personal.

2. Anslutning

2.1. Frågor hårdvara

Den hårdvara som används var som tillhandahålls av Telstra: en SMC EZ Card 10/100NIC, och Alcatel SpeedTouch HemADSL modem. Telstra har börjat driva användningen av USB – ,-Ethernet-adaptrar mellan maskin och modem. På grund av avsaknaden av en sådan adapter för att testa på detta dokument gäller inte för den hårdvara.

2.1.1. SMC EZ Card 10/100 NÄTVERKSKORT

Den lämpliga drivrutinen för den här NIC, rl. Om det inte finns, att lägga till raden

device         rl0

till din konfigurationsfil kommer att vara tillräckligt för denna PCI – , kort att finnas vid start.

[Viktigt] Viktigt
Behöver inte kompilera om kärnan ännu mer ändringar kan göras nedan.

Lägg rl0 i listan network interfaces i /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"

För jämförelse, detta är resultatet av ifconfig rl0 på min maskin:

# 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 Hem ADSL-Modem

Ansluta ADSL-modem är enkel, men skiljer sig från att ansluta en standard seriell kontakt för modem:

Detta diagram visar hur skulle du ställa in en FreeBSD maskinen för att vara en inkörsport för din egen LAN,. sis0) visas som det interna gränssnittet som en demonstration. Du kan ha en annan NIC, som kräver en annan drivrutin. Om du inte har ett lokalt nätverk är det endast anslutning till rl0 är relevant.

2.2. Frågor programvara

2.2.1. Kärnans Konfiguration

Enligt FreeBSD Handbook, netgraph stöd inte längre måste vara kompilerade in i kärnan. Om netgraph stöd inte finns, ppp kan laddas in i kärnan vid körning.

2.2.2. Ändring av ng_pppoe.c

[Viktigt] Viktigt
Denna ändring måste göras endast för system före FreeBSD – 4.2-RELEASE. De förändringar som infördes i kärnans källkod på FreeBSD – 4.2-RELEASE.
2.2.2.1. Bakgrund

Detta avsnitt kan säkert hoppa över om du inte är intresserad av att veta varför källkod behöver ändras.

En beskrivning av PPP over Ethernet Protokoll finns i RFC, 2516. Av någon anledning, Telstra Access Concentrator är känsliga för i vilken ordning de taggar som är placerade i första PADI paket. En enkel modifiering till källan för att byta ordning på [Service-Namn] och [Host-Uniq] – taggar är allt som krävs. Om du är intresserad av att titta på discovery-processen misslyckas och du inte redan har gjort det, kör tcpdump i ett annat fönster eller på en annan konsol. Om du kör X Windows – , brand upp en reservdel xterm xterm &. Om du är på konsol, växla mellan virtuella terminaler med Alt+F1:, Alt+F2 och så vidare. Som root, kör:

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

Beroende på vilken version av FreeBSD du kör och vilken stad du bor i, är processen kommer att dö vid en viss punkt innan en session är inställd.

2.2.2.2. Ändring av ng_pppoe.c
  1. Spara lämplig diff från en av de tre länkarna nedan i filen /tmp/ng_pppoe.diff. Diffar från den ursprungliga 3.4-R, 4.0-R och 4.1.1-R källan är kopplade här, men Aaron Hill är villiga att skapa diffar för alla andra versioner som människor kan kräva. Se avsnittet Kontakta Författaren nedan.
  2. Gå till önskad katalog:
# cd /usr/src/sys/netgraph

3. Göra en säkerhetskopia av den ursprungliga källan:

# cp ng_pppoe.c ng_pppoe.c.bak

4. Apply the diff:

# patch < /tmp/ng_pppoe.diff

2.2.3. Kompilera om kärnan

Om några ändringar till kärnans konfiguration fil, eller till kärnans källkod i sig, har gjorts som beskrivs ovan, kärnan ska nu byggas om så som beskrivs i FreeBSD Handbook. Maskinen bör då startas om.

2.2.4. Ändra /etc/ppp/ppp.conf

Följande ppp.conf är tillräcklig för att ansluta till Telstra stänga bilden ADSL, Nätverk:

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 [email protected]
 set authkey yourpassword

2.2.5. Ändra /etc/rc.conf

/etc/rc.conf kan ändras för att möjliggöra automatisk anslutning på boot-tid:

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

2.2.6. Ändra /etc/resolv.conf

Lägg till IP-adresser till namnservrar som har ingåtts för din Windows-eller Mac-konfiguration från installation tekniker. Till exempel, i Adelaide de siffror som anges av min installer:

nameserver 61.9.128.13
nameserver 61.9.128.16

Siffrorna för din plats kan vara olika.

3. Post-Anslutning

3.1. Testa anslutningen

För att testa, använda ppp‘s interaktivt läge:

# ppp

Detta bör ge upp den välbekanta interaktiva prompten:

ppp ON yourhost>

Vid prompten, skriv in dial stänga bilden, och ppp ska ansluta på det vanliga sättet:

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

Som varje efterföljande s i ppp ändras till S, det tyder på att förhandlingarna går framåt. Specifikt, den första S – anger att LCP, är komplett, och den andra att autentisering är komplett, och den tredje än en IP – , nummer har tilldelats. Mer information finns i mannen ppp.

Jag fann inledningsvis att det kan ta ett eller två försök att göra en anslutning. Sedan modifiera rc.conf, och får ppp att köra lugnt vid uppstart, men jag har inte haft detta problem.

Slutligen, att försöka att kontakta en värd på Telstra nätverk, i första hand genom antalet:

# 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

Och sedan efter namn:

# 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

Observera att vissa Frågor tyder på att pinga din närmaste granne, men Telstra konfigurerar några av sina värdar inte att svara på ICMP förfrågningar. Pinga min närmaste granne gör att det ser ut som att det är ett problem när det är det inte:

# 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

Betrakta inte detta som ett problem.

A. Kontakta Författaren

Författaren av detta dokument är Paul Hoadley. Detta dokument beskriver bara vad jag gjorde för att få PPPoE, fungerande på min FreeBSDmaskinen. Dina resultat kan variera. Om du märker några fel i det här dokumentet, eller om din erfarenhet med Telstra ADSL, nätverk var väldigt olika, var god låt mig veta.

Jag är villig att hjälpa dig att felsöka problem som kan relateras till de inställningar som beskrivs i detta dokument. Du måste dock skicka mig faktiska ordagranna kopior av felmeddelanden, som faktiska kopior av de filer som är involverade (med användarnamn och lösenord raderas). E-post som hävdar att “Min rc.conf är precis som den på din sida, och det fungerar inte” kommer inte längre får något svar.

B. Hp

Många tack till Aaron Hill kommentarer, och för den ursprungliga ändringar till kärnans källkod som krävdes innan FreeBSD – 4.2-RELEASE. Om du är måste att köra en äldre version av FreeBSD Aaron är villiga att göra jämförelser för alla andra versioner av ng_pppoe.c – att människor har flyter runt. E-post en kopia av din ng_pppoe.c, och Aron kommer att skicka tillbaka diff.

Tack vare Ryan Trainor för information om USB-Ethernet-adaptrar levereras av Telstra.

C. Översättningar

Leave a Reply

Your email address will not be published. Required fields are marked *