- 手動設定(Manual Configuration)
- IPv6無狀態位址自動配置(RFC2462)
- DHCP for IPv6
- 無狀態 DHCP(Stateless DHCP)
- 全狀態 DHCP (Stateful DHCP)
要設計一個企業無狀態位址自動配置的IPv6 環境,最主要設備是一部支援RFC 2461、RFC2462的路由器,例如:CIsco或Juniper路由器,Linux Router Advertisement Daemon (radvd)。
不過目前市面上的IPv6路由器支援的無狀態位址自動配置方主要的問題在於並無法直接支援DNS等選項參數的提供,而目前的這一部份的規格定義在RFC6106文件內,但大部份的設備和主機均尚未支援此規格(radvd除外)。
使用CISCO 路由器支援IPv6無狀態位址自動配置
下表將R1路由器的 FastEthernet0/0 介面的IPv6 位址設定為 2002:1111:1111::1/64,並且在此介面利用RA封包公告2002:1111:1111::/64首碼
R1>enable R1#configure terminal Enter configuration commands, one per line. End with CNTL/Z. R1(config)#ipv6 unicast-routing R1(config)#interface FastEthernet0/0 R1(config-if)#ipv6 address 2002:1111:1111::1/64 R1(config-if)#ipv6 nd prefix 2002:1111:1111::/64 R1(config-if)# |
設定 CentOS Linux radvd為IPv6路由器以支援無狀態位址自動配置
Router Advertisement Daemon (radvd)為一支援IPv6芳鄰探索協定(Neighbor Discovery Protocol)的開放原始碼軟體,可設定為支援IPv6自動位址配置的路由器。
底下示範如何在CentOS 6 Linux 下安裝並設定radvd的步驟。
- Linux 利用radvd做為IPv6路由器時,請先將自己設定為靜態指定的IPv6位址 (編輯 /etc/sysconfig/network-scripts/ifcfg-eth0,新增或變更IPV6_AUTOCONF=No 和 IPV6ADDR=……………這二行)
- 安裝radvd套件
- # yum –y install radvd
- 編輯radvd組態檔 (/etc/radvd.conf)
interface eth0{
AdvSendAdvert on; #啟用路由器公告(RA)功能
MinRtrAdvInterval 30; #每隔30-100秒間送出公告訊息
MaxRtrAdvInterval 100;
prefix 2002:1234:5678:9abc::/64 #送出的首碼
{
AdvOnLink on;
AdvAutonomous on; #公告的首碼可用來自動位置配置
AdvRouterAddr off; #強制radvd送出首碼而非介面位址
};
#RDNSS
RDNSS 2002:1234:5678::1 #提供RA的DNS選項,目前RFC6106支援的普遍性不高
{
AdvRDNSSPreference 8;
AdvRDNSSLifetime 180;
};
}; - 啟用IPv6 forwarding功能
編輯檔案 /etc/sysctl.conf,新增下列一行:net.ipv6.conf.all.forwarding=1
或執行下列命令: -
echo 1 > /proc/sys/net/ipv6/conf/all/forwarding - 啟動radvd
#service radvd start
# chkconfig –level 2345 radvd on - 測試
將一部Windows 7 電腦設定IPv6自動指定IP,然後再以ipconfig可得知已順利取得路由器RA的IPv6首碼並產生IP,值得一提的是Default Gateway 設定為Linux radvd機器自已己產生的Link-Local Address,而非手動設定的IP,此外,由於Windows 7尚未支援RFC6106,所以並沒有取得RA的DNS選項 (這部份恐需透過DHCPv6來解決)。