IPv6 轉發似乎只在一個方向上起作用
**我現在知道答案了:**我犯了一個嚴重的錯誤,甚至沒有告訴你。還有一個
radvd
路由器廣告的執行,而不是 RA’ing 64-net 我是 RA’ing 56-net。因此路由器和/或網關總是詢問who has...
請求消息,這意味著它認為它與被 ping 過的伺服器位於同一子網中。我正在玩一些 IPv6 路由和地址,遇到一個奇怪的問題,無法弄清楚。我只能從一個方向ping,但不能從另一個方向ping。
假設我有 3 台 PC 和一個路由器:
Client[eth0] <---> [lan1]Router[wan] <---> [box0]Gateway[eth0] <---> [eth0]Server
客戶端、網關和伺服器是 LXC 容器,並且與 IPv4 完全兼容!
網關正在執行一個 DHCPv6 伺服器,該伺服器
2001:db8:0:1::/56
通過介面委派前綴 (),box0
因此路由器獲取 IP 地址 (2001:db8:0:1:8856:7cf8:8e46:d8cb
) 並且客戶端自行配置。網關上的介面
box0
具有來自同一子網的靜態 IP:2001:db8:0:1::1234:1
。網關上的介面
eth0
具有來自另一個子網的靜態 IP2001:db8:0:2::4321:1
:。請參閱前綴中的更改2
。伺服器的介面
eth0
有一個來自與 eth0@gateway 相同子網的靜態 IP:2001:db8:0:2::4321:2
我首先啟用了 IPv6 轉發
sysctl net.ipv6.conf.all.forwarding=1
現在我確實在網關上設置了一條通往 /56 子網的路由
ip -6 route add 2001:db8:0:1::/56 via 2001:db8:0:1:8856:7cf8:8e46:d8cb
以及伺服器的預設路由
ip -6 route add default via 2001:db8:0:2::4321:1
**我的問題是:**我可以從伺服器端 ping 一切(客戶端除外,因為路由器阻止它),但我無法從路由器端 ping eth0@gateway 後面的任何東西。
對我來說,您是否遇到過這種奇怪的行為?您是否需要更多資訊,例如路由表等?
答案很簡單,可以追溯到配置錯誤。
還有一個
radvd
路由器廣告執行,而不是 RA’ing 64-net 我是 RA’ing 56-net。所以路由器和/或網關總是詢問誰有…請求消息,這意味著它認為它與被 ping 過的伺服器位於同一子網中。