настроить IP-псевдоним и маршрут, работать с сетью недоступно - PullRequest
2 голосов
/ 09 декабря 2008

Мне нужно написать скрипт для установки IP-адреса / маски / трансляции в качестве псевдонима на eth0: 0 плюс установка шлюза по умолчанию.

Это решение работает:

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

но иногда при втором вызове появляется ошибка «сеть недоступна».

Добавление сна между ними исправляет это, но ненадежно. Как правильно ждать готовности сети?

Лучшее, что я придумал, - это повторить попытку ip-вызова пару раз. Это работает, но чувствует себя ужасно.

Ответы [ 2 ]

1 голос
/ 10 декабря 2008

Вы можете использовать ping -c1 -w для адреса шлюза в цикле, пока он не появится.

0 голосов
/ 10 декабря 2008

Я думаю, что немного странно, что интерфейс не работает, когда возвращается ifconfig. Я попытался бы пропустить ifconfig и использовать только команду 'ip':

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

Это не создает новый интерфейс псевдонима eth0: 0, он просто настраивает дополнительный IP-адрес на основном интерфейсе, видимый с помощью «списка IP-адресов». Я не уверен, что это работает лучше, но стоит попробовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...