我无法ip
通过post-up
中的挂钩使静态路由命令成为永久命令/etc/network/interfaces
。以下是相关详情:
/etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
# Network A
allow-hotplug eth0
iface eth0 inet static
address 10.1.10.100
netmask 255.255.255.0
gateway 10.1.10.1
# Network B
allow-hotplug eth1
iface eth1 inet static
address 192.168.100.1
netmask 255.255.0.0
gateway 127.0.0.1
相关ip
命令及路由表
ip route add 192.168.50.0/24 via 10.1.10.100 dev eth0
# This command makes things happy...
$ ip route show
default via 10.40.16.1 dev eth0
10.1.10.0/24 dev eth0 proto kernel scope link src 10.1.10.100
192.168.0.0/16 dev eth1 proto kernel scope link src 192.168.100.1
192.168.50.0/24 via 10.1.10.100 dev eth0
(不工作)post-up
/post-down
钩子
#/etc/network/interfaces
# Network A
allow-hotplug eth0
iface eth0 inet static
address 10.1.10.100
netmask 255.255.255.0
gateway 10.1.10.1
post-up route add -net 192.168.50.0 netmask 255.255.255.0 eth0
post-down route del -net 192.168.50.0 netmask 255.255.255.0 eth0
# Network B
allow-hotplug eth1
iface eth1 inet static
address 192.168.100.1
netmask 255.255.0.0
gateway 127.0.0.1
免责声明
该ip route add...
命令可以解决问题,但我需要这是一个永久的静态路由,因此这些post-up
东西。我似乎无法正确理解语法。当我在本地测试网络上运行尝试版本时,重新启动后路由不会显示在路由表中,因此我认为由于语法错误/etc/network/interfaces
而无法运行挂钩。post-up
更新
管理对于/etc/network/interfaces
给我有关命令语法的线索没有太大帮助,post-up
这就是我发现的全部:
张贴
启动接口后运行命令。如果此命令失败,则 ifup 中止,避免将接口标记为已配置(即使它确实已配置),打印一条错误消息,并以状态 0 退出。这种行为将来可能会改变。
答案1
只需将ip
命令添加为up
命令即可/etc/network/interfaces
(无需翻译为route
,post-up
是 的别名up
):
allow-hotplug eth0
iface eth0 inet static
address 10.1.10.100
netmask 255.255.255.0
gateway 10.1.10.1
up ip route add 192.168.50.0/24 via 10.1.10.100 dev eth0
不需要down
,因为当接口关闭时,通过该接口的任何路由都将自动删除。
旁白:您要通过刚刚提出的本地 IP 地址添加到另一个网络的路由吗?该系统是否被用作网关?
编辑:
up
、down
等标签pre-up
就是这样:指示当时需要运行哪些命令的标签。这些命令可以是任何事物,例如发送电子邮件或其他任何内容。没有特殊语法...