我需要编写一个脚本,将ip地址/掩码/广播设置为eth0:0上的别名,并设置默认网关。
此解决方案有效:
ifconfig eth0:0 <ip> netmask <mask> up
ip route replace default via <ip>但有时第二次调用会得到一个错误"network unavailable“。
在它们之间添加睡眠可以解决这个问题,但这是不可靠的。等待网络就绪的正确方法是什么?
到目前为止,我想出的最好的办法是重试ip呼叫几次。这行得通,但感觉很难看。
发布于 2008-12-10 01:06:37
您可以在网关地址上循环使用ping -c1 -w,直到它出现为止。
发布于 2008-12-10 09:53:57
我认为接口在ifconfig返回时没有打开,这有点奇怪。我会尝试跳过ifconfig,只使用'ip‘命令:
ip address add <ip>/<mask> dev eth0
ip route replace default via <ip>这不会创建一个新的别名接口eth0:0,它只是在主接口上配置一个额外的ip地址,通过'ip address list‘可见。我不确定这样做是否会更好,但值得一试。
https://stackoverflow.com/questions/352633
复制相似问题