抱歉隔了許久還要翻舊事重新提問。
主機CentOS 6.9,路由器Vigor3220
從中華光時代拿到的訊息如下:
用戶端主機IPv6網段: 2001:B030:8330:FF00::/64
用戶端主機IPv6預設閘道: 2001:B030:8330:FF00::FFFF/64
用戶端路由器WAN Port IPv6位址: 2001:B030:8330:FF00::0001/64
用戶端路由器WAN Port IPv6預設閘道: 2001:B030:8330:FF00::FFFF/64
用戶端路由器LAN Port IPv6位址: 2001:B030:8330::/56
這是問完中華後的設定:
用戶端主機IPv6位址: 2001:B030:8330:FF00::1/64
用戶端主機IPv6預設閘道: 2001:B030:8330:FF00::FFFF/64
用戶端路由器WAN Port IPv6位址: 2001:B030:8330:FF00::1/64
用戶端路由器WAN Port IPv6預設閘道: 2001:B030:8330:FF00::FFFF/64
用戶端路由器LAN Port IPv6位址: 2001:B030:8330::1/56
這是問完路由器廠商的設定:
用戶端主機IPv6位址: 2001:B030:8330:FF00::1/64
用戶端主機IPv6預設閘道: 2001:B030:8330:FF00::FFFF/64
用戶端路由器WAN Port IPv6位址: 2001:B030:8330:FF00::1/64
用戶端路由器WAN Port IPv6預設閘道: 2001:B030:8330:FF00::FFFF/64
用戶端路由器LAN Port IPv6位址: 2001:B030:8330::1/64
設定的過程中,不管LAN是/64還是/56,路由本身跟接在其上的主機網路能通一樣通,不能通一樣不能通
一開始跑去先問路由器廠商,給了一個Vigor2925的網址範例後照著設。
問完路由器廠商,起先可以讓路由器先通後,接著拿去問中華電信。
經過中華電信詢問,主機IP設2001:B030:8330::1/64就可以連上網路,CentOS回報有問題
又在帶著問題去問路由器廠商,他們也是拿同樣的範例回應。
但是問題是,主機IP只要設到2001:B030:8330:FF00::1/64,PING的過程就會回覆:
Destination unreachable: Address unreachable,封包遺失
如果以能連上為主設定,比如2001:B030:8330:1::1主機會回覆:
[ipv6_add_route] 不明的錯誤,PING會正常收到封包。
這部份需要大家來幫忙解惑,要從那個地方著手解決問題?
Vigor上的IPv6還蠻簡單的,這是我的IPv6設定.
WAN端就設WAN Port IPv6位址和WAN Port IPv6預設閘道.
LAN端設定static IPv6 address,設定ISP給的LAN Port IPv6位址,用/64 prefix.
發給client端的方式預設為stateless,都用預設值就可以了.
我的CentOS 6.2 eth0設定如下,用autoconfig方式取得IPv6 address.
我用手動方式編輯 ifcfg-eth0,如果 "NM_CONTROLLED=yes" 會發生ipv6 default route一下子出現,一下又不見的問題. 設定成 "NM_CONTROLLED=no" 就 OK 了.
DEVICE="eth0"
BOOTPROTO=dhcp
IPV6INIT="yes"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE=Ethernet
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=eth0
UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
HWADDR=00:0C:29:33:3F:29
PEERDNS=yes
PEERROUTES=yes
以你的環境 IPv4/IPv6都設static IP, interface config 大概就像下面這樣吧.
如果IPv6 address為2001:b030:8330::2/64
Vigor的LAN IPv6 IP為 2001:b030:8330::1 做為你的CentOS的IPv6 gateway
DEVICE="eth0"
IPV6INIT="yes"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.1.2
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6_AUTOCONF=no
IPV6ADDR=2001:b030:8330::2/64
IPV6_DEFAULTGW=2001:b030:8330::1
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=eth0
UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
HWADDR=00:0C:29:33:3F:29
PEERDNS=yes
PEERROUTES=yes
另外一提, 記得韌體升級到 3.8.8.2
鵝蠻好奇的一點就是,Hinet給user的Host LAN port IPv6 prefixlength是/64,而Router LAN port IPv6 prefixlength卻是/56,這樣到底有沒有問題,還是有特別的用意嗎(雖然照著設的確是會通啦)....
/56意思是給你較大的IPv6 address block,你也可以切割為256個 /64 網段來用.
原來的內網隔比較多IP網段時就需要了,這樣可以做到每個broadcast domain都dual stack,各有對應的一個IPv4網段和IPv6 GUA網段.
如果hinet核給的是/56, 那用戶網段範圍應該是
2001:B030:8330:FF00~~FFFF
而 2001:B030:8330:: 這應該是 /48 吧?
2001:B030:8330::/56 是 2001:B030:8330::/48 的一個子網段
2001:B030:8330::/56
-> 2001:b030:8330:0000:0000:0000:0000:0000 到
2001:b030:8330:00ff:ffff:ffff:ffff:ffff
對! 但是你看前面講的,
用戶端的 主機/路由器WAN ,
都是 2001:B030:8330:FF00::
除非hinet核給用戶的是/48
他指定你2001:B030:8330::/56
路由一定要走 2001:B030:8330:FF00::1了
你其他不能走
如果同層還是可以拿來用
會通
但是無法帶下層路由
最近ZYXEL USG60 也出現同樣問題,WAN 跟LAN 都連結不起來,需要手動給IPV6位址~
詢問原廠處理中...到底問題是出在哪裡?