Выполните некоторую операцию, как только будет установлено eth0

Я должен выполнить процедуру, которая требует, чтобы eth0 был активным. Я попытался поместить его в /etc/rc.local, в любом случае он не мог быть запущен, так как eth0 еще не мог быть инициализирован.

Есть ли способ присоединиться к системному диспетчеру событий, чтобы запускать сценарий именно тогда, когда обнаружено, что eth0 работает?

2
задан 3 June 2014 в 14:30

1 ответ

AFAIK, Вы должны для размещения сценария в /etc/network/if-up.d/ каталог:

sudo cp /path/to/your_routine /etc/network/if-up.d/

Затем добавляют следующую строку после определения eth0 интерфейс в /etc/network/interfaces файл:

post-up /etc/network/if-up.d/your_routine

, где post-up команда выполнения команды или сценарий оболочки после обеспечения интерфейса eth0 (см. man interfaces для большего количества информации - где-нибудь в строке 149).

Вот пример о том, как /etc/network/interfaces файл должен заботиться о Вас, отредактировал его:

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
name Ethernet LAN card
address 192.168.10.1
netmask 255.255.255.0
broadcast 192.168.10.255
network 192.168.10.0
gateway 192.168.10.254
post-up /etc/network/if-up.d/your_routine
# some more interfaces
auto eth1
iface eth1 inet dhcp
# ...

После этих изменений, перезапустите сетевой сервис:

sudo service networking restart
2
ответ дан 3 June 2014 в 14:30

Другие вопросы по тегам:

Похожие вопросы: