Linux
Linux 上的 IPv6 策略路由
我的組織目前有兩個可用的活動 IPv6 範圍,我們正在從一個切換到另一個。我想讓它們同時工作,但 Linux 似乎不支持 IPv6 的策略路由。我們基於 Linux 的路由器在 Debian Lenny 上執行 2.6.26-2-686。
這是我想做的事情:
# ip -6 rule add from 2001:388:7094:4080::/58 lookup oldv6
(策略使用表 oldv6 路由舊 v6 範圍)
# ip -6 route add throw 2001:388:7094:4080::/58 table oldv6
(扔回主路由表進行本地路由)
# ip -6 route add default via 2001:388:7094:1::1 dev eth1
(否則使用“舊”預設路由器)但是,第二行不起作用:
RTNETLINK answers: No such device
通讀可用文件後,Linux 似乎不支持 IPv6 的真正策略路由([ 2 ] - 請參閱第 9.2 節,[ 3 ]),並且僅在添加表時偽造它。當然,作為 Linux,這些文件已經五年多沒有更新了,所以我想知道是否有人有任何出色的見解 - 是否有我錯過的參數或文件?有一個2007 年的文章暗示它不起作用,但我很想听聽。
根據實驗,答案似乎是“是的,Linux 支持 IPv6 策略路由”。我仍然不確定為什麼上述線路會失敗,但我現在已經解決了它。