FreeBSD pada Jaringan ADSL Bigpond Telstra

Paul Hoadley

logika Squad

© 2000, 2001, 2002, 2003 Paul Hoadley

2003/03/31

Abstrak

Dokumen ini menjelaskan cara untuk membuat sebuah FreeBSDsistem untuk koneksi ke Telstra Bigpond ADSL Jaringan. Informasi ini diklaim hanya cukup-ada pasti ada cara lain untuk melakukannya. Informasi yang mungkin tidak berlaku untuk ISP s selain Telstra (Australia).

1. Pre-Connection

1.1. Masalah awal

Bagian dari dokumen ini mengasumsikan bahwa pembaca mampu mengkompilasi ulang kernel. Secara khusus, jika salah satu dari berikut ini benar, kompilasi ulang kernel akan dibutuhkan:

  • Dukungan untuk rldriver perangkat Ethernet belum pernah dikompilasi ke kernel. (The GENERICkernel tidak memiliki dukungan untuk driver ini.)

  • Sistem berjalan versi FreeBSDsebelum 4.2-RELEASE, dalam hal modifikasi kernel dijelaskan di bawah harus dilakukan.

Mengkompilasi ulang kernel relatif mudah, dan baik dijelaskan oleh FreeBSD Handbook . Semua perubahan konfigurasi file dijelaskan seluruh jelas harus dibuat sebagai rootpengguna.

1.2. Mengatur Koneksi dengan Telstra

Telstra tidak mendukung koneksi dari mesin yang menjalankan FreeBSDke Bigpond ADSL jaringan. Dalam prakteknya, ini berarti hanya dua hal:

  • Anda akan membutuhkan mesin yang menjalankan salah satu didukung Windowsatau Macintoshsistem operasi hadir ketika installer tiba untuk membuat sambungan.

  • Anda akan dapat memperoleh bantuan dari Helpdesk telepon Bigpond jika timbul masalah dengan Anda FreeBSDsistem. Jika terjadi masalah dan Anda yakin untuk menjadi distal untuk Anda ADSL modem, seringkali berguna untuk memiliki yang asliWindows atau Macintoshsistem yang tersedia di mana Anda dapat menguji koneksi sementara bercakap-cakap dengan staf Helpdesk.

2. Connection

2.1. Masalah hardware

Perangkat keras yang digunakan adalah bahwa disediakan oleh Telstra: sebuah Kartu SMC EZ 10/100 NIC , dan Alcatel SPEEDTOUCH Depan ADSL modem. Telstra telah mulai mendorong penggunaan USB adapter -Ethernet antara mesin dan modem.Karena kurangnya seperti adaptor untuk menguji pada, dokumen ini tidak berlaku untuk hardware itu.

2.1.1. SMC EZ Card 10/100 NIC

Driver perangkat yang tepat untuk ini NIC adalah . Jika tidak hadir, menambahkan baris rl

perangkat rl0

untuk file konfigurasi kernel Anda akan cukup untuk ini PCI card dapat ditemukan di startup.

[Penting] Penting

Jangan mengkompilasi ulang kernel belum-lebih perubahan dapat dilakukan di bawah ini.

Tambahkan rl0ke daftar antarmuka jaringan di /etc/rc.conf:

# Anda mungkin memiliki lebih dari dua antarmuka
network_interfaces = "rl0 lo0"
# Tidak perlu untuk memasok rl0 dengan alamat IP
ifconfig_rl0 = "Media 10baseT / UTP up"

Sebagai perbandingan, ini adalah output dari ifconfig rl0pada mesin saya:

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

Menghubungkan modem ADSL sederhana, tetapi berbeda dari menghubungkan standar modem serial :

Diagram ini menunjukkan bagaimana Anda akan membuat sebuah FreeBSDmesin untuk menjadi pintu gerbang bagi Anda sendiriLAN . sis0 ditampilkan sebagai antarmuka internal sebagai demonstrasi saja. Anda mungkin memiliki berbeda NIC memerlukan driver perangkat yang berbeda. Jika Anda tidak memiliki jaringan lokal, hanya koneksi ke rl0relevan.

2.2. Masalah software

2.2.1. Konfigurasi kernel

Menurut FreeBSD Handbook , dukungan Netgraph tidak lagi perlu dikompilasi ke dalam kernel. Jika dukungan Netgraph tidak ditemukan, ppp dapat memuat ke dalam kernel pada saat runtime.

2.2.2. modifikasing_pppoe.c

[Penting] Penting

Modifikasi ini perlu dibuat hanya untuk sistem sebelum FreeBSD 4.2-RELEASE. Perubahan dijelaskan dimasukkan ke dalam kernel di FreeBSD4.2-RELEASE.

2.2.2.1. Latar Belakang

Bagian ini dapat dengan aman dilewati jika Anda tidak tertarik untuk mengetahui mengapa sumber perlu dimodifikasi.

Sebuah deskripsi PPP over Ethernet Protocol dapat ditemukan di RFC 2516 . Untuk beberapa alasan, Telstra Konsentrator Aksessensitif terhadap urutan tag ditempatkan dalam paket PADI awal. Sebuah modifikasi sederhana ke sumber untuk menukar urutan[Service-Name]dan [Host-Uniq]tag adalah semua yang diperlukan. Jika Anda tertarik untuk menonton proses penemuan gagal, dan Anda belum dilakukan sudah, jalankan ini tcpdump di jendela lain atau di konsol lain. Jika Anda menjalankan Windows X , jalankan cadangan xterm dengan xterm & . Jika Anda berada di konsol, beralih antara terminal virtual menggunakan Alt + F1 , Alt + F2 dan seterusnya. Seperti root, jalankan:

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

Tergantung pada versi FreeBSDAnda menjalankan, dan kota mana Anda tinggal di, proses akan mati di beberapa titik sebelum sesi diatur.

2.2.2.2. modifikasing_pppoe.c
  1. Simpan diff sesuai dari salah satu dari tiga link di bawah ini ke dalam file /tmp/ng_pppoe.diff. Diffs dari aslinya 3.4-R, 4.0-R dan sumber 4.1.1-R terkait di sini, tapi Aaron Hill adalah bersedia untuk membuat diff untuk setiap versi lain yang orang mungkin memerlukan. Lihat bagian pada Menghubungi Penulis bawah.

  2. Pergi ke direktori yang diperlukan:

    # cd /usr/src/sys/netgraph

  3. Membuat cadangan dari sumber aslinya:

    # cp ng_pppoe.c ng_pppoe.c.bak

  4. Terapkan diff:

    # patch < /tmp/ng_pppoe.diff

2.2.3. Ulang kernel

Jika modifikasi kernel file konfigurasi, atau ke sumber kernel itu sendiri, telah dibuat seperti dijelaskan di atas, kernel sekarang harus dikompilasi ulang seperti yang dijelaskan dalam FreeBSD Handbook . Mesin kemudian harus reboot.

2.2.4. Memodifikasi/etc/ppp/ppp.conf

Berikut ini ppp.confadalah cukup untuk menyambung ke Telstra Bigpond ADSL Jaringan:

default:
mengatur perangkat PPPoE: rl0: Bigpond
kecepatan set sync
set mru 1492
set MTU 1492
set ctsrts off
mengaktifkan LQR
add default HISADDR
set timeout 0
set ulang 0 0 

 # Network Address Translation (NAT)
nat mengaktifkan ya
nat log ya
same_ports nat ya
nat unregistered_only ya
mengaktifkan dns 

Bigpond:
mengatur AuthName yourname @ Bigpond
set authkey yourpassword

2.2.5. Memodifikasi/etc/rc.conf

/etc/rc.conf dapat dimodifikasi untuk memungkinkan koneksi otomatis pada saat boot:

ppp_enable = "YES"
ppp_profile = "Bigpond"
ppp_mode = "ddial"

2.2.6. Memodifikasi/etc/resolv.conf

Tambahkan IP alamat nameserver yang masuk ke konfigurasi Windows atau Mac Anda oleh teknisi instalasi. Misalnya, di Adelaide angka yang dimasukkan oleh installer saya adalah:

nameserver 61.9.128.13
nameserver 61.9.128.16

Angka-angka untuk lokasi Anda mungkin berbeda.

3. Post-Connection

3.1. Menguji sambungan

Untuk pengujian, menggunakan ppp modus interaktif 's:

# ppp

Ini harus membuka prompt interaktif akrab:

ppp ON yourhost>

Pada prompt, ketik dial bigpond, dan ppp harus terhubung dalam cara standar:

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

Karena setiap berturut-turut pdi pppperubahan ke P, ini menunjukkan bahwa negosiasi ini mengalami kemajuan. Secara khusus, yang pertama Pmenunjukkan bahwa LCP selesai, kedua otentikasi yang lengkap, dan yang ketiga dari sebuah IP nomor telah ditetapkan.Informasi lebih lanjut dapat ditemukan di man ppp .

Saya menemukan awalnya bahwa mungkin diperlukan waktu satu atau dua upaya untuk membuat sambungan. Sejak memodifikasirc.conf, dan mendapatkan ppp untuk menjalankan diam-diam pada saat boot, meskipun, saya tidak punya masalah ini.

Akhirnya, mencoba menghubungi sebuah host pada jaringan Telstra, pertama dengan nomor:

# 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

Dan kemudian dengan nama:

# 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

Perhatikan bahwa beberapa FAQ s sarankan ping tetangga terdekat Anda, tetapi Telstra mengkonfigurasi beberapa host yang tidak menanggapi ICMP permintaan. Ping tetangga terdekat saya membuatnya tampak seperti ada masalah ketika tidak ada:

# 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

Ini tidak menunjukkan masalah.

A. Menghubungi Pengarang

Penulis dokumen ini Paul Hoadley . Dokumen ini hanya apa yang saya lakukan untuk mendapatkan PPPoE fungsi pada sayaFreeBSD mesin. Anda mungkin berbeda. Jika Anda melihat kesalahan dalam dokumen ini, atau pengalaman Anda dengan TelstraADSL jaringan adalah sangat berbeda, silakan beritahu saya .

Saya bersedia untuk membantu memecahkan masalah yang berkaitan dengan setup yang dijelaskan dalam dokumen ini. Anda akan perlu, namun, untuk mengirim saya salinan verbatim sebenarnya pesan error , serta salinan sebenarnya dari file yang terlibat (dengan nama pengguna dan password informasi dihapus). Email mengklaim bahwa "rc.conf saya adalah seperti yang ada di halaman Anda, dan itu tidak bekerja" akan lagi menerima balasan apapun .

B. Kredit

Banyak terima kasih kepada Harun Bukit untuk komentar, dan untuk modifikasi asli untuk kernel yang diperlukan sebelumFreeBSD4.2-RELEASE. Jika Anda perlu untuk menjalankan versi lama dari FreeBSDAaron bersedia untuk membuat diff untuk setiap versi lain dari ng_pppoe.cyang orang telah mengambang sekitar. Kirimkan salinan Anda ng_pppoe.c, dan Aaron akan mengirim kembali diff.

Terima kasih kepada Ryan Trainor untuk informasi mengenai adaptor USB-Ethernet yang disediakan oleh Telstra.