在Debian系统上如何填充路由表? 我知道ip route系列命令可以用来手动操作路由表,但是路由表是如何在系统启动时初始填充的,以及在什么情况下更新了路由表?
在使用Debian系统时,只要networking接口打开或closures,路由表就会自动填充。 有关详细说明,请参阅man interfaces , man ifup和man ip 。
从本质上讲, ifup从/etc/network/interfaces读取configuration位,然后为静态定义的接口使用ip route add来创build适当的路由。 对于configuration为使用DHCP的接口, ifup向DHCP服务器请求configuration位,然后使用ip route add创build这些路由。 当一个接口被closures时, ifdown删除根据当前configuration添加的路由。 所以请注意,当configuration改变时, ifdown删除的路由可能与ifup最初添加的路由不一样。
在/etc/network/interfaces ,可以使用pre-up , post-up , pre-down和post-down钩子手动操作路由表(或者为了其他目的运行命令)。
/etc/network/if-*.d/*的脚本为更复杂的任务提供了额外的钩子。