測試環境為 RHEL 6 x64
先來了解一下 IPv6 的位址指派 (address auto-configuration) 主要可以區分為下列幾種
- Link Local (預設值,不須設定)
IPv6 中每個網卡都會有屬於自己的 link-local address,這位址跟網卡的 MAC Address 是相關的.可以參考 https://benjr.tw/17341 - 透過 Dynamic Host Configuration Protocol v6 (DHCPv6)
不使用 RA 的方式,須透過 DHCPv6 來得到 IPv6 位址.可以參考 https://benjr.tw/10651 - 透過 Router Advertisement (RA)
RA (Router Advertisement) 這功能通常是由 Router 來提供.可以參考 https://benjr.tw/94906
從 RHEL 6 開始,透過網卡設定工具程式 “NetworkManager Applet” – http://www.gnome.org/projects/NetworkManager/ 就可以很簡單的將網卡設定成 IP V6 的格式.
在工具列可以找到他 ,或是在 System / Preferences / Network Connection 這裡也可以設定.NetworkManager Applet 支援的網路介面很多包含了有線網路(Wired), 無線網路(Wireless), 行動寬頻(Mobile Broadband), VPN, ADSL等設定,除了 IPv4 外還支援了IPv6 及藍芽.
- Wired
這是一般走有線的網卡使用 - Wireless
用來設定無線的網卡 Wi-Fi ,IEEE 802.11 為標準的無線區域網絡. - Mobile Broadband
信號是走 3G/3.5G 則是在這邊設定. - VPN
VPN (Virtual Private Network) ,VPN 主要是在既有的網路連結上加密就如同形成一個安全通道. - DSL
Digital Subscriber Line 就是一般家裡使用的 ADSL 上網.
IPV4 只使用 32bit 的位址空間而 IPv6 使用 128Bit 的位址空間,其中的 3ffe:501:ffff:100::101 就是 IPv6 的 IP address 而 "64" 就類似 IPV4 的 subnet mask
因為 IPV6 的位址空間太長所以我剛剛設定的 IPV6 IP 3ffe:501:ffff:100::101 其實是縮寫,他
- 真正的 IPV6 是
3ffe:501:ffff:100::101
=3ffe:0501:ffff:100:0000:0000:0000:0101
這樣才有使用到 128bit 的定址空間 - 簡寫的規則如下:
每 32Bit 如開頭之4bit表示為0,即可省略,若32Bit全為0,則可簡寫為0
3ffe:0501:ffff:100:0000:0000:0000:0101
=3ffe:501:ffff:100:0:0:0:101若連續完整之32Bit段落皆為 0000,則可全省略,簡寫為::,但以一次為限
3ffe:501:ffff:100:0:0:0:101
=3ffe:501:ffff:100::101
(2.) Method 除了可以手動設定外還有下列幾種方式:
- Ignore
連線不使用 IPv6 格式. - Automatic
NetworkManager 使用 router advertisement (RA) 來獲取 IPv6 位址,這個方式必須搭配 Router 來指派,或是 raddvd 來使用. - Automatic, addresses only
一樣 NetworkManager 使用 RA 來得到 automatic, stateless configuration, 但 DNS servers 以及 search domains 是會被忽略的不被指派的. - Automatic, DHCP only
NetworkManager 不使用 RA 的方式,須透過 DHCPv6 來得到 IPv6 位址. - Manual
手動設定 IPv6 位址如上圖所示.
如果要 ping IP V6 的 IP 須使用工具 #ping6 ,#ping 指令只適用於 IP V4 時候使用.
[root@benjr Desktop]# ping6 3ffe:501:ffff:100::100 ping: unknown host 3ffe:501:ffff:100::100 [root@benjr Desktop]# ping6 3ffe:501:ffff:100::100 PING 3ffe:501:ffff:100::100(3ffe:501:ffff:100::100) 56 data bytes 64 bytes from 3ffe:501:ffff:100::100: icmp_seq=1 ttl=64 time=0.164 ms 64 bytes from 3ffe:501:ffff:100::100: icmp_seq=2 ttl=64 time=0.155 ms ^C — 3ffe:501:ffff:100::100 ping statistics — 2 packets transmitted, 2 received, 0% packet loss, time 1335ms rtt min/avg/max/mdev = 0.155/0.159/0.164/0.013 ms
更多關於 NetworkManager Applet 請參考 9.7.1.5.IPv6 設定分頁 https://access.redhat.com/documentation/zh-TW/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/sn-Netconfig-x86.html
如果是 Link Local 時需要在 ping6 IPv6 後面的參數加上 network_device_name 如下:
[root@benjr Desktop]# ping6 fe80::20c:29ff:fef6:4d73%eth0 PING fe80::20c:29ff:fef6:4d73%eth0(fe80::20c:29ff:fef6:4d73) 56 data bytes 64 bytes from fe80::20c:29ff:fef6:4d73: icmp_seq=1 ttl=64 time=0.205 ms 64 bytes from fe80::20c:29ff:fef6:4d73: icmp_seq=2 ttl=64 time=0.196 ms 64 bytes from fe80::20c:29ff:fef6:4d73: icmp_seq=3 ttl=64 time=0.193 ms
非常感謝您分享的這些筆記文章
連續看了兩三篇後
決定要跟您說聲謝謝^^
知識就是要拿來分享的