当您为 添加静态路由 时/etc/network/interfaces
,如何使用 iproute2 命令代替 net-tools 命令?例如,我添加了以下行:
post-up ip route add 10.0.0.0/8 dev eth0
到我的interfaces
文件并重新启动,但没有在新的路由表中看到效果。
我的语法有误吗?还是我被迫在 14.04-LTS 中使用 net-tools?我知道/etc/rc.local
这是一个解决方案,但我宁愿将网络内容放在一个地方。
答案1
使用pre-up
(接口启动前)、up
(接口启动后)、down
(接口关闭前) 或post-down
(接口关闭后) 后跟要运行的命令。对于您的情况,您可能希望使用up
和down
。
这是我用来为内部网络分配 IPv6 地址的块:
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
broadcast 192.168.0.255
up ip -6 addr add 2001:DB8::/64 dev eth0
down ip -6 addr del 2001:DB8::/64 dev eth0
答案2
我认为在那行之前应该iface eth0 inet <static|manual|dhcp>
post-up
只在界面启动后运行该命令,这样做不需要重新启动,只需ifup eth0
。
为了更好地了解问题,请发布您的interfaces
文件。
答案3
这是一份关于 Linux 路由的完整 PDF。包括 IPv6。“iproute2”是未来的网络配置工具。http://www.ime.usp.br/~rbrito/docs/lartc.dbk.psom.pdf
[更新] 我认为只有脚本可以做到这一点。 试试这个。http://www.policyrouting.org/iproute2.doc.html#ss9.11