ติดตั้งและคอนฟิก radvd เพื่อแจกข้อมูล IPv6 Router

หลังจาก  คอนฟิกเซิร์ฟเวอร์ DHCPv6 บนลีนุกซ์ ที่แจกจ่ายข้อมูล IPv6 Address ไปยังเครื่องไคเอนต์แล้ว เราจำเป็นต้องติดตั้งและคอนฟิก radvd เพิ่มเติม เพื่อแจกข้อมูลเกี่ยวกับ IPv6 Router

ใช้คำสั่ง yum ติดตั้งแพ็คเกจ radvd

[root@cent6-ipv6 ~]# yum install radvd

ไฟล์คอนฟิกของ radvd คือไฟล์ /etc/radvd.conf

ตัวอย่างดีฟอลต์คอนฟิกที่ได้จากการติดตั้ง

[root@cent6-ipv6 ~]# vi /etc/radvd.conf 
# NOTE: there is no such thing as a working "by-default" configuration file. 
#       At least the prefix needs to be specified.  Please consult the radvd.conf(5)
#       man page and/or /usr/share/doc/radvd-*/radvd.conf.example for help.
#
#
#interface eth0
#{
#   AdvSendAdvert on;
#   MinRtrAdvInterval 30;
#   MaxRtrAdvInterval 100;
#   prefix 2001:db8:1:0::/64
#   {
#       AdvOnLink on;
#       AdvAutonomous on;
#       AdvRouterAddr off;
#   };
#
#};

แก้ไขไฟล์คอนฟิก radvd.conf เพื่อแจกข้อมูล Router

[root@cent6-ipv6 ~]# vi /etc/radvd.conf 
interface eth0
{
    AdvManagedFlag on;
    AdvSendAdvert on;
    AdvOtherConfigFlag on;
    MinRtrAdvInterval 3;
    MaxRtrAdvInterval 60;
};

ใช้คำสั่ง service รันเซอร์วิส radvd

[root@cent6-ipv6 ~]# service radvd start
Starting radvd: [Dec 31 14:33:02] radvd: IPv6 forwarding seems to be disabled, exiting
                                                           [FAILED]

ขึ้น FAILED ไม่สามารถรันเซอร์วิส radvd ได้

ต้องแก้ไขโดยเปิดออปชั่น IPv6 forwarding

ดูสถานะการเปิด IPv6 forwarding ในไฟล์ /proc/sys/net/ipv6/conf/all/forwarding

[root@cent6-ipv6 ~]# cat /proc/sys/net/ipv6/conf/all/forwarding 
0

เปิดออปชั่น IPv6 forwarding

[root@cent6-ipv6 ~]# echo 1 > /proc/sys/net/ipv6/conf/all/forwarding 

ดูไฟล์หลังการแก้ไข

[root@cent6-ipv6 ~]# cat /proc/sys/net/ipv6/conf/all/forwarding 
1

หลังจากที่ทดสอบคอนฟิกเรียบร้อยแล้ว ถ้าต้องการเปิดค่าคอนฟิกนี้ไว้ด้วย ตั้งแต่ตอนบู๊ตเครื่อง ให้แก้ไขในไฟล์ /etc/sysctl.conf โดยเพิ่มบรรทัดตามตัวอย่าง

[root@cent6-ipv6 ~]# vi /etc/sysctl.conf 
...
# Enable IPv6 forwarding
net.ipv6.conf.all.forwarding = 1

รันเซอร์วิสอีกครั้ง

[root@cent6-ipv6 ~]# service radvd start
Starting radvd:                                            [  OK  ]

บนเครื่องไคลเอนต์ Windows 7 ลอง Disable/Enable พอร์ตแลน

ใช้คำสั่ง ipconfig เพื่อดูค่าคอนฟิก IP ของเครื่อง Windows 7

C:\Users\admin>ipconfig

Windows IP Configuration

Ethernet adapter Local Area Connection:

   Connection-specific DNS Suffix  . : example.com
   IPv6 Address. . . . . . . . . . . : 2001:db8:a:b::254
   Link-local IPv6 Address . . . . . : fe80::48:22b3:8caa:7589%10
   Autoconfiguration IPv4 Address. . : 169.254.117.137
   Subnet Mask . . . . . . . . . . . : 255.255.0.0
   Default Gateway . . . . . . . . . : fe80::a00:27ff:fe7a:5588%10

สังเกต Default Gatway จะเป็นค่า inet6 addr (Scopre: Link) ของเซิร์ฟเวอร์

ใช้คำสั่ง netsh เพื่อแสดงข้อมูล ipv6 route

C:\Users\admin>netsh interface ipv6 show route

Publish  Type      Met  Prefix                    Idx  Gateway/Interface Name
-------  --------  ---  ------------------------  ---  ------------------------
No       Manual    256  ::/0                       10  fe80::a00:27ff:fe7a:5588
No       Manual    256  ::1/128                     1  Loopback Pseudo-Interface 1
No       Manual    256  2001:db8:a:b::254/128      10  Local Area Connection
No       Manual    256  fe80::/64                  15  Teredo Tunneling Pseudo-Interface
No       Manual    256  fe80::/64                  10  Local Area Connection
No       Manual    256  fe80::100:7f:fffe/128      15  Teredo Tunneling Pseudo-Interface
No       Manual    256  fe80::5efe:169.254.117.137/128   12  isatap.{767AE593-2DBE-4796-ADDB-0DAABF551592}
No       Manual    256  fe80::48:22b3:8caa:7589/128   10  Local Area Connection
No       Manual    256  ff00::/8                    1  Loopback Pseudo-Interface 1
No       Manual    256  ff00::/8                   15  Teredo Tunneling Pseudo-Interface
No       Manual    256  ff00::/8                   10  Local Area Connection

จะเห็นบรรทัดที่มี Prefix ::/0 ซึ่งเป็นค่า Default Route ของ IPv6 ชี้ไปที่ IPv6 Address ของเครื่องเซิร์ฟเวอร์ที่รัน radvd

ทดลอง ping ไปยัง IPv6 ของเซิร์ฟเวอร์

C:\Users\admin>ping 2001:db8:a:b::1

Pinging 2001:db8:a:b::1 with 32 bytes of data:
Reply from 2001:db8:a:b::1: time<1ms
Reply from 2001:db8:a:b::1: time<1ms
Reply from 2001:db8:a:b::1: time<1ms
Reply from 2001:db8:a:b::1: time<1ms

ข้อมูลอ้างอิง

Leave a Reply