2008-12-09 39 views
2

我需要編寫一個腳本來設置ip地址/掩碼/廣播作爲eth0:0的別名,並設置默認網關。配置ip別名和路由,處理網絡不可用

此解決方案:

ifconfig eth0:0 <ip> netmask <mask> up 
ip route replace default via <ip> 

但有時第二個呼叫得到一個錯誤「網絡不可用」。

在它們之間添加睡眠可以修復它,但不可靠。等待網絡準備好的正確方法是什麼?

到目前爲止我所提出的最好的方法是重試ip呼叫幾次。這有用,但感覺很難看。

回答

1

您可以在網關地址中使用ping -c1 -w,直到出現爲止。

0

我認爲這是一個有點奇怪的是,接口不起來使用ifconfig返回時..我會嘗試跳過ifconfig和只使用「IP」命令:

ip address add <ip>/<mask> dev eth0 
ip route replace default via <ip> 

這不會創建一個新的別名接口eth0:0,它只是在主接口上配置了一個額外的ip地址,通過'ip address list'可以看到。我不確定這是否會更好,但值得一試。

+0

ip無法正常工作,因爲我需要正好設置eth0:0 – 2008-12-10 11:36:42