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 FreeBSD
sistem 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
rl
driver perangkat Ethernet belum pernah dikompilasi ke kernel. (TheGENERIC
kernel tidak memiliki dukungan untuk driver ini.) -
Sistem berjalan versi
FreeBSD
sebelum 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 root
pengguna.
1.2. Mengatur Koneksi dengan Telstra
Telstra tidak mendukung koneksi dari mesin yang menjalankan FreeBSD
ke Bigpond ADSL jaringan. Dalam prakteknya, ini berarti hanya dua hal:
-
Anda akan membutuhkan mesin yang menjalankan salah satu didukung
Windows
atauMacintosh
sistem operasi hadir ketika installer tiba untuk membuat sambungan. -
Anda akan dapat memperoleh bantuan dari Helpdesk telepon Bigpond jika timbul masalah dengan Anda
FreeBSD
sistem. Jika terjadi masalah dan Anda yakin untuk menjadi distal untuk Anda ADSL modem, seringkali berguna untuk memiliki yang asliWindows
atauMacintosh
sistem 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 |
---|---|
Jangan mengkompilasi ulang kernel belum-lebih perubahan dapat dilakukan di bawah ini. |
Tambahkan rl0
ke 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 rl0
pada 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 FreeBSD
mesin 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 rl0
relevan.
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 |
---|---|
Modifikasi ini perlu dibuat hanya untuk sistem sebelum |
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 FreeBSD
Anda menjalankan, dan kota mana Anda tinggal di, proses akan mati di beberapa titik sebelum sesi diatur.
2.2.2.2. modifikasing_pppoe.c
-
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. -
Pergi ke direktori yang diperlukan:
#
cd /usr/src/sys/netgraph
-
Membuat cadangan dari sumber aslinya:
#
cp ng_pppoe.c ng_pppoe.c.bak
-
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.conf
adalah 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 p
di ppp
perubahan ke P
, ini menunjukkan bahwa negosiasi ini mengalami kemajuan. Secara khusus, yang pertama P
menunjukkan 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 sebelumFreeBSD
4.2-RELEASE. Jika Anda perlu untuk menjalankan versi lama dari FreeBSD
Aaron bersedia untuk membuat diff untuk setiap versi lain dari ng_pppoe.c
yang 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.