Difference between revisions of "IPv6 Server: Router Advertisement Daemon (radvd)"

From OnnoWiki
Jump to navigation Jump to search
(New page: 22.4. Router Advertisement Daemon (radvd) The router advertisement daemon is very useful on a LAN, if clients should be auto-configured. The daemon itself should run on the Linux default ...)
 
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
22.4. 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.  
  
The router advertisement daemon is very useful on a LAN, if clients should be auto-configured. The daemon itself should run on the Linux default IPv6 gateway router (it's not required that this is also the default IPv4 gateway, so pay attention who on your LAN is sending router advertisements).
+
Kita dapat menentukan beberapa informasi dan flag yang harus di bawa di advertisement. Yang banyak digunakan adalah:
  
You can specify some information and flags which should be contained in the advertisement. Common used are
+
* Prefix (needed)
 +
* Lifetime dari prefix
 +
* Banyaknya pengiriman advertisement (optional)
  
    Prefix (needed)
+
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.
  
    Lifetime of the prefix
 
  
    Frequency of sending advertisements (optional)
+
==Konfigurasi radvd==
  
After a proper configuration, the daemon sends advertisements through specified interfaces and clients are hopefully receive them and auto-magically configure addresses with received prefix and the default route.
+
===Konfigurasi Sederhana===
22.4.1. Configuring radvd
 
22.4.1.1. Simple configuration
 
  
Radvd's config file is normally /etc/radvd.conf. An simple example looks like following:
+
File konfigurasi Radvd biasa /etc/radvd.conf. Contoh sederhana sekali adalah sebagai berikut:
  
interface eth0 {  
+
interface eth0 {  
        AdvSendAdvert on;
+
        AdvSendAdvert on;
        MinRtrAdvInterval 3;  
+
        MinRtrAdvInterval 3;  
        MaxRtrAdvInterval 10;
+
        MaxRtrAdvInterval 10;
        prefix 2001:0db8:0100:f101::/64 {  
+
        prefix 2001:0db8:0100:f101::/64 {  
                AdvOnLink on;  
+
                AdvOnLink on;  
                AdvAutonomous on;  
+
                AdvAutonomous on;  
                AdvRouterAddr on;  
+
                AdvRouterAddr on;  
        };
+
        };
};
+
};
  
This results on client side in
+
Hasil yang akan di peroleh di sisi client adalah:
  
# ip -6 addr show eth0  
+
# 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  
+
3: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100  
      valid_lft 2591992sec preferred_lft 604792sec  
+
    inet6 2001:0db8:100:f101:2e0:12ff:fe34:1234/64 scope global dynamic  
    inet6 fe80::2e0:12ff:fe34:1234/10 scope link
+
        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;
 +
        };
 +
};
  
Because no lifetime was defined, a very high value was used.
+
Contoh hasil di sisi client (asumsinya, ppp0 memperoleh IPv4 address 1.2.3.4):
22.4.1.2. Special 6to4 configuration
 
  
Version since 0.6.2pl3 support the automatic (re)-generation of the prefix depending on an IPv4 address of a specified interface. This can be used to distribute advertisements in a LAN after the 6to4 tunneling has changed. Mostly used behind a dynamic dial-on-demand Linux router. Because of the sure shorter lifetime of such prefix (after each dial-up, another prefix is valid), the lifetime configured to minimal values:
+
# /sbin/ip -6 addr show eth0
  
interface eth0 {
+
3: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
        AdvSendAdvert on;
+
    inet6 2002:0102:0304:f101:2e0:12ff:fe34:1234/64 scope global dynamic
        MinRtrAdvInterval 3;
+
      valid_lft 22sec preferred_lft 12sec
        MaxRtrAdvInterval 10;
+
    inet6 fe80::2e0:12ff:fe34:1234/10 scope link
        prefix 0:0:0:f101::/64 {
 
                AdvOnLink off;
 
                AdvAutonomous on;
 
                AdvRouterAddr on;
 
                Base6to4Interface ppp0;
 
                AdvPreferredLifetime 20;
 
                AdvValidLifetime 30;
 
        };
 
};
 
  
This results on client side in (assuming, ppp0 has currently 1.2.3.4 as local IPv4 address):
+
Karena lifetime yang pendek, maka prefix tersebut akan cepat dibuang, jika tidak ada advertisement yang di terima.
  
# /sbin/ip -6 addr show eth0
+
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:
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
 
  
Because a small lifetime was defined, such prefix will be thrown away quickly, if no related advertisement was received.
+
# /sbin/ip -6 route add 2002:0102:0304:f101::/64 dev eth0 metric 1
  
Additional note: if you do not used special 6to4 support in initscripts, you have to setup a special route on the internal interface on the router, otherwise you will get some backrouting problems. for the example showh here:
+
Route ini perlu di ganti setiap kali prefix berubah, yaitu sesudah address IPv4 baru di berikan di interface dial-up.
  
# /sbin/ip -6 route add 2002:0102:0304:f101::/64 dev eth0 metric 1
+
==Debugging==
  
This route needs to be replaced every time the prefix changes, which is the case after a new IPv4 address was assigned to the dial-up interface.
+
Sebuah program bernama “radvdump” dapat menolong kita untuk melihat advertisement yang dikirim atau di terima. Cara penggunaan yang sederhananya adalah sebagai berikut:
22.4.2. Debugging
 
  
A program called “radvdump” can help you looking into sent or received advertisements. Simple to use:
+
# radvdump
  
# radvdump
+
Router advertisement from fe80::280:c8ff:feb9:cef9 (hoplimit 255)  
Router advertisement from fe80::280:c8ff:feb9:cef9 (hoplimit 255)  
+
        AdvCurHopLimit: 64  
        AdvCurHopLimit: 64  
+
        AdvManagedFlag: off  
        AdvManagedFlag: off  
+
        AdvOtherConfigFlag: off  
        AdvOtherConfigFlag: off  
+
        AdvHomeAgentFlag: off  
        AdvHomeAgentFlag: off  
+
        AdvReachableTime: 0  
        AdvReachableTime: 0  
+
        AdvRetransTimer: 0  
        AdvRetransTimer: 0  
+
        Prefix 2002:0102:0304:f101::/64  
        Prefix 2002:0102:0304:f101::/64  
+
                AdvValidLifetime: 30  
                AdvValidLifetime: 30  
+
                AdvPreferredLifetime: 20  
                AdvPreferredLifetime: 20  
+
                AdvOnLink: off  
                AdvOnLink: off  
+
                AdvAutonomous: on  
                AdvAutonomous: on  
+
                AdvRouterAddr: on  
                AdvRouterAddr: on  
+
        Prefix 2001:0db8:100:f101::/64  
        Prefix 2001:0db8:100:f101::/64  
+
                AdvValidLifetime: 2592000  
                AdvValidLifetime: 2592000  
+
                AdvPreferredLifetime: 604800  
                AdvPreferredLifetime: 604800  
+
                AdvOnLink: on  
                AdvOnLink: on  
+
                AdvAutonomous: on  
                AdvAutonomous: on  
+
                AdvRouterAddr: on  
                AdvRouterAddr: on  
+
        AdvSourceLLAddress: 00 80 12 34 56 78
        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).
+
Output menunjukan setiap paket advertisement dalam format yang dapat kita baca. Kita akan melihat nilai yang dikonfigurasi disini. Jika tidak, maka kemungkinan advertisement yang dikirim bukan dari radvd kita. Lihat router yang lain yang ada di link; catat LLAddress, yang merupakan MAC address untuk penelusuran.

Latest revision as of 08:56, 19 July 2013

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.

Debugging

Sebuah program bernama “radvdump” dapat menolong kita untuk melihat advertisement yang dikirim atau di terima. Cara penggunaan yang sederhananya adalah sebagai berikut:

# 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 menunjukan setiap paket advertisement dalam format yang dapat kita baca. Kita akan melihat nilai yang dikonfigurasi disini. Jika tidak, maka kemungkinan advertisement yang dikirim bukan dari radvd kita. Lihat router yang lain yang ada di link; catat LLAddress, yang merupakan MAC address untuk penelusuran.