IPv6 Server: Router Advertisement Daemon (radvd)
Daemon router advertisement sangat bermanfaat di LAN, terutama jika client yang ada bisa di konfigurasi secara automatis. Daemon itu sendiri harus di jalankan di router Linux yang merupakan default gateway IPv6. Perlu di catat bahwa belum tentu gateway IPv6 adalah gateway IPv4 juga.
Kita dapat menentukan beberapa informasi dan flag yang harus di bawa di advertisement. Yang banyak digunakan adalah:
- Prefix (needed)
- Lifetime dari prefix
- Banyaknya pengiriman advertisement (optional)
Sesudah di konfigurasi dengan benar, daemon akan mengirimkan advertisement melalui interface yang di tentukan dan client "semoga" menerima-nya dan mengkonfigurasi adddress secara automatis dengan prefix yang di terima dan route default.
Konfigurasi radvd
Konfigurasi Sederhana
File konfigurasi Radvd biasa /etc/radvd.conf. Contoh sederhana sekali adalah sebagai berikut:
interface eth0 { AdvSendAdvert on; MinRtrAdvInterval 3; MaxRtrAdvInterval 10; prefix 2001:0db8:0100:f101::/64 { AdvOnLink on; AdvAutonomous on; AdvRouterAddr on; }; };
Hasil yang akan di peroleh di sisi client adalah:
# ip -6 addr show eth0
3: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100 inet6 2001:0db8:100:f101:2e0:12ff:fe34:1234/64 scope global dynamic valid_lft 2591992sec preferred_lft 604792sec inet6 fe80::2e0:12ff:fe34:1234/10 scope link
Jika tidak ada lifetime yang di definisikan, maka nilai yang sangat tinggi yang akan di gunakan.
Konfigurasi khusus 6to4
Sejak versi 0.6.2pl3 mendukung re-generasi automatis dari prefix tergantung dari IPv4 yang digunakan di interface. Ini dapat digunakan untuk distribusi advertisement di LAN setelah tunnel 6to4 berubah. Umumnya digunakan di belakang router Linux dial-on-demand. Karena prefix demikian mempunyai lifetime yang lebih pendek (setelah setiap dial-up, prefix lain yang valid), maka lifetime harus dikonfigurasi ke nilai yang minimal:
interface eth0 { AdvSendAdvert on; MinRtrAdvInterval 3; MaxRtrAdvInterval 10; prefix 0:0:0:f101::/64 { AdvOnLink off; AdvAutonomous on; AdvRouterAddr on; Base6to4Interface ppp0; AdvPreferredLifetime 20; AdvValidLifetime 30; }; };
Contoh hasil di sisi client (asumsinya, ppp0 memperoleh IPv4 address 1.2.3.4):
# /sbin/ip -6 addr show eth0
3: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100 inet6 2002:0102:0304:f101:2e0:12ff:fe34:1234/64 scope global dynamic valid_lft 22sec preferred_lft 12sec inet6 fe80::2e0:12ff:fe34:1234/10 scope link
Karena lifetime yang pendek, maka prefix tersebut akan cepat dibuang, jika tidak ada advertisement yang di terima.
Catatan tambahan: jika kita tidak menggunakan initscript khusus untuk mendukung 6to4, kita harus mensetup route spesial di internal interface di router, jika tidak kita akan terkena masalah backrouting. Contoh route spesial tersebut adalah sebagai berikut:
# /sbin/ip -6 route add 2002:0102:0304:f101::/64 dev eth0 metric 1
Route ini perlu di ganti setiap kali prefix berubah, yaitu sesudah address IPv4 baru di berikan di interface dial-up.
22.4.2. Debugging
A program called “radvdump” can help you looking into sent or received advertisements. Simple to use:
# radvdump Router advertisement from fe80::280:c8ff:feb9:cef9 (hoplimit 255) AdvCurHopLimit: 64 AdvManagedFlag: off AdvOtherConfigFlag: off AdvHomeAgentFlag: off AdvReachableTime: 0 AdvRetransTimer: 0 Prefix 2002:0102:0304:f101::/64 AdvValidLifetime: 30 AdvPreferredLifetime: 20 AdvOnLink: off AdvAutonomous: on AdvRouterAddr: on Prefix 2001:0db8:100:f101::/64 AdvValidLifetime: 2592000 AdvPreferredLifetime: 604800 AdvOnLink: on AdvAutonomous: on AdvRouterAddr: on AdvSourceLLAddress: 00 80 12 34 56 78
Output shows you each advertisement package in readable format. You should see your configured values here again, if not, perhaps it's not your radvd which sends the advertisement...look for another router on the link (and take the LLAddress, which is the MAC address for tracing).