Difference between revisions of "IPv6 AUtoConfiguration: Stateful auto-configuration menggunakan Router Advertisement Daemon (radvd)"

From OnnoWiki
Jump to navigation Jump to search
 
(14 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
router advertisement daemon (RAdvD) hanya berfungsi jika kita mempunyai alokasi IPv6 >64 di bawah itu akan bermasalah.
 +
 
router advertisement daemon sangat bermanfaat di LAN, terutama jika client harus auto-configure. Daemon itu sendiri harus jalan di linux dengan default IPv6 gateway router. Perlu di catat bahwa tidak ada keharusan RAdvD ini merupakan gateway default IPv4 juga, oleh karena itu perhatikan baik-baik siapa yang mengirimkan router advertisement di LAN.
 
router advertisement daemon sangat bermanfaat di LAN, terutama jika client harus auto-configure. Daemon itu sendiri harus jalan di linux dengan default IPv6 gateway router. Perlu di catat bahwa tidak ada keharusan RAdvD ini merupakan gateway default IPv4 juga, oleh karena itu perhatikan baik-baik siapa yang mengirimkan router advertisement di LAN.
  
Line 8: Line 10:
  
 
Setelah konfigurasi yang benar, maka daemon akan mengirimkan advertisement melalui interface yang di tentukan dan client semoga akan menerima advertisement tersebut dan kan secara automatis mengkonfigurasi alamat dengan prefix dan route default yang di advertise.
 
Setelah konfigurasi yang benar, maka daemon akan mengirimkan advertisement melalui interface yang di tentukan dan client semoga akan menerima advertisement tersebut dan kan secara automatis mengkonfigurasi alamat dengan prefix dan route default yang di advertise.
 +
 +
 +
==Instalasi Server radvd==
 +
 +
Instalasi
 +
 +
sudo apt-get install radvd
 +
 +
Enable IPv6 forwarding di router
 +
 +
echo 1 >  /proc/sys/net/ipv6/conf/default/forwarding
 +
 +
atau edit /etc/sysctl.conf
 +
 +
net.ipv6.conf.all.forwarding=1
 +
 +
 +
 +
  
  
Line 14: Line 35:
 
===Konfigurasi Sederhana===
 
===Konfigurasi Sederhana===
  
File konfigurasi radvd biasanya /etc/radvd.conf. Contoh sederhana adalah sebagai berikut:
+
Set IPv6 interface, misalnya,
 +
 
 +
/sbin/ip -6 addr add 2a07:1c44:212:c0ca:87e8::/80 dev enp3s0
 +
/sbin/ip -6 addr add 2a07:1c44:212:c0ca:87e8::/81 dev enp3s0
 +
/sbin/ip -6 addr add 2a07:1c44:212:c0ca:87e8::dead/128 dev enp3s0
 +
 
 +
 
 +
 
 +
File konfigurasi radvd biasanya /etc/radvd.conf. Edit /etc/radvd.conf. Contoh:
 +
 
 +
interface enp3s0
 +
{
 +
    AdvSendAdvert on;
 +
    prefix 2a07:1c44:212:c0ca:87e8::/81
 +
    {
 +
    };
 +
};
 +
 
 +
atau
  
  interface eth0 {  
+
  interface enp3s0
 +
{
 +
  AdvSendAdvert on;
 +
  MinRtrAdvInterval 3;
 +
  MaxRtrAdvInterval 10;
 +
 +
  prefix 2a07:1c44:0212:c0ca:87e8:1000::/84
 +
  {
 +
  };
 +
 +
  RDNSS 2001:db8:0:1::a 2001:db8:0:1::b
 +
  {
 +
    AdvRDNSSLifetime 10;
 +
  };
 +
 +
  DNSSL koo.fi
 +
  {
 +
    AdvDNSSLLifetime 10;
 +
  };
 +
};
 +
 
 +
 
 +
Atau, contoh sederhana untuk alokasi IPv6 di LAN 2001:0db8:0100:f101::/64 adalah sebagai berikut:
 +
 
 +
interface enp3s0 {  
 
         AdvSendAdvert on;
 
         AdvSendAdvert on;
 
         MinRtrAdvInterval 3;  
 
         MinRtrAdvInterval 3;  
 
         MaxRtrAdvInterval 10;
 
         MaxRtrAdvInterval 10;
         prefix 2001:0db8:0100:f101::/64 {  
+
         prefix 2a07:1c44:0212:c0ca:87e8:1000::/84 {  
 
                 AdvOnLink on;  
 
                 AdvOnLink on;  
 
                 AdvAutonomous on;  
 
                 AdvAutonomous on;  
Line 26: Line 89:
 
         };
 
         };
 
  };
 
  };
 +
 +
Restart
 +
 +
sudo /etc/init.d/radvd start
 +
 +
atau
 +
 +
sudo service radvd start
 +
  
 
Hasil disisi cliet adalah
 
Hasil disisi cliet adalah
  
  # ip -6 addr show eth0
+
  # ip -6 addr show enp3s0
  
 
  3: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100  
 
  3: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100  
Line 56: Line 128:
 
  };
 
  };
  
This results on client side in (assuming, ppp0 has currently 1.2.3.4 as local IPv4 address):
+
Ini menyebabkan pada sisi client (asumsi ppp0 memperoleh IP4 address 1.2.3.4)
  
 
  # /sbin/ip -6 addr show eth0  
 
  # /sbin/ip -6 addr show eth0  
Line 65: Line 137:
 
     inet6 fe80::2e0:12ff:fe34:1234/10 scope link
 
     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.
+
Karena lifetime sangat pendek, prefix ini akan cepat dibuang jika tidak ada advertisement yang di peroleh.
  
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:
+
Catatan Tambahan: jika kita tidak menggunakan initscript yang mendukung 6to4, kita harus mensetup route khusus untuk interface internal di router. Jika tidak, maka kita akan memperoleh masalah backrouting. Contoh routing di perlihatkan di bawah ini
  
 
  # /sbin/ip -6 route add 2002:0102:0304:f101::/64 dev eth0 metric 1
 
  # /sbin/ip -6 route add 2002:0102:0304:f101::/64 dev eth0 metric 1
  
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.
+
Route ini harus di ubah setiap kali prefix berubah, ini terjadi saat address IPv4 baru di alokasikan ke interface dial-up.
  
==22.4.2. Debugging==
+
==Debugging==
  
A program called “radvdump” can help you looking into sent or received advertisements. Simple to use:
+
Sebuah program dinamakan “radvdump” dapat menolong kita untuk melihat advertisement yang dikirim atau di terima, contoh sederhana penggunaannya adalah
 +
 
 +
apt install radvdump
 +
 
 +
Run
 +
 
 +
radvdump
 +
 
 +
Contoh Output
  
# 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  
Line 99: Line 178:
 
         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 akan memperlihatkan setiap paket advertisement dalam format yang bisa di baca. Kita harusnya akan melihat nilai-nilai tersebut disini, jika tidak, kemungkinkan bukan dari radvd kita yang mengirimkan advertisement. Cari router lain di link (dan cari LLAddress, yaitu merupakan MAC address untuk tracing).
 +
 
 +
==Pranala Menarik==
 +
 
 +
* [[IPv6]]

Latest revision as of 05:22, 15 May 2021

router advertisement daemon (RAdvD) hanya berfungsi jika kita mempunyai alokasi IPv6 >64 di bawah itu akan bermasalah.

router advertisement daemon sangat bermanfaat di LAN, terutama jika client harus auto-configure. Daemon itu sendiri harus jalan di linux dengan default IPv6 gateway router. Perlu di catat bahwa tidak ada keharusan RAdvD ini merupakan gateway default IPv4 juga, oleh karena itu perhatikan baik-baik siapa yang mengirimkan router advertisement di LAN.

Kita dapat memberikan beberapa informasi dan flag yang dikirim dalam advertisement. Yang umum dikirim adalah

  • Prefix (ini di perlukan)
  • Waktu hidup dari prefix
  • Banyaknya pengiriman advertisement (bukan keharusan)

Setelah konfigurasi yang benar, maka daemon akan mengirimkan advertisement melalui interface yang di tentukan dan client semoga akan menerima advertisement tersebut dan kan secara automatis mengkonfigurasi alamat dengan prefix dan route default yang di advertise.


Instalasi Server radvd

Instalasi

sudo apt-get install radvd

Enable IPv6 forwarding di router

echo 1 >  /proc/sys/net/ipv6/conf/default/forwarding

atau edit /etc/sysctl.conf

net.ipv6.conf.all.forwarding=1




Mengkonfigurasi radvd

Konfigurasi Sederhana

Set IPv6 interface, misalnya,

/sbin/ip -6 addr add 2a07:1c44:212:c0ca:87e8::/80 dev enp3s0
/sbin/ip -6 addr add 2a07:1c44:212:c0ca:87e8::/81 dev enp3s0
/sbin/ip -6 addr add 2a07:1c44:212:c0ca:87e8::dead/128 dev enp3s0


File konfigurasi radvd biasanya /etc/radvd.conf. Edit /etc/radvd.conf. Contoh:

interface enp3s0
{
   AdvSendAdvert on;
   prefix 2a07:1c44:212:c0ca:87e8::/81
   {
   };
};

atau

interface enp3s0
{
  AdvSendAdvert on;
  MinRtrAdvInterval 3;
  MaxRtrAdvInterval 10; 

  prefix 2a07:1c44:0212:c0ca:87e8:1000::/84
  {
  };

  RDNSS 2001:db8:0:1::a 2001:db8:0:1::b
  {
    AdvRDNSSLifetime 10;
  }; 

  DNSSL koo.fi
  {
    AdvDNSSLLifetime 10;
  };
};


Atau, contoh sederhana untuk alokasi IPv6 di LAN 2001:0db8:0100:f101::/64 adalah sebagai berikut:

interface enp3s0 { 
        AdvSendAdvert on;
        MinRtrAdvInterval 3; 
        MaxRtrAdvInterval 10;
        prefix 2a07:1c44:0212:c0ca:87e8:1000::/84 { 
                AdvOnLink on; 
                AdvAutonomous on; 
                AdvRouterAddr on; 
        };
};

Restart

sudo /etc/init.d/radvd start

atau

sudo service radvd start


Hasil disisi cliet adalah

# ip -6 addr show enp3s0
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

Karena tidak ada lifetime yang diset, nilai yang sangat tinggi akan digunakan.

Konfigurasi khusus untuk 6to4

Sejak versi 0.6.2pl3 mendukung automatic (re)-generation dari prefix tergantung pada address IPv4 di interface. Ini dapat digunakan untuk mendistribusikan advertisement di LAN sesudah tunnel 6to4 berubah. Ini biasanya digunakan di belakang dynamic dial-on-demand Linux router. Karena lifetime prefix seperti itu sangat pendek (setiap dial-up, prefix lain yang valid), maka lifetime biasanya di konfigurasi dengan nilai yang sangat 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;
        };
};

Ini menyebabkan pada sisi client (asumsi ppp0 memperoleh IP4 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 sangat pendek, prefix ini akan cepat dibuang jika tidak ada advertisement yang di peroleh.

Catatan Tambahan: jika kita tidak menggunakan initscript yang mendukung 6to4, kita harus mensetup route khusus untuk interface internal di router. Jika tidak, maka kita akan memperoleh masalah backrouting. Contoh routing di perlihatkan di bawah ini

# /sbin/ip -6 route add 2002:0102:0304:f101::/64 dev eth0 metric 1

Route ini harus di ubah setiap kali prefix berubah, ini terjadi saat address IPv4 baru di alokasikan ke interface dial-up.

Debugging

Sebuah program dinamakan “radvdump” dapat menolong kita untuk melihat advertisement yang dikirim atau di terima, contoh sederhana penggunaannya adalah

apt install radvdump

Run

radvdump 

Contoh Output

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 akan memperlihatkan setiap paket advertisement dalam format yang bisa di baca. Kita harusnya akan melihat nilai-nilai tersebut disini, jika tidak, kemungkinkan bukan dari radvd kita yang mengirimkan advertisement. Cari router lain di link (dan cari LLAddress, yaitu merupakan MAC address untuk tracing).

Pranala Menarik