Routing

IPv6 轉發似乎只在一個方向上起作用

  • August 22, 2016

**我現在知道答案了:**我犯了一個嚴重的錯誤,甚至沒有告訴你。還有一個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具有來自另一個子網的靜態 IP 2001: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 過的伺服器位於同一子網中。

引用自:https://serverfault.com/questions/797352