У меня проблема на сервере с двумя интерфейсами Ethernet (etho и eth1), он запускает linux-ubuntu-server. Мне нужно, чтобы eth1 не делал никаких запросов dhcp, потому что мне нужно, чтобы это был только интерфейс прослушивания, очевидно, мне нужно, чтобы eth0 работал нормально. Итак, как я могу отключить любое действие dhcpclient через eth1?
заранее спасибо.
Что-то вроде:
auto lo eth0 eth1
iface lo inet loopback
iface eth1 inet static
address 192.168.32.130
netmask 255.255.255.0
gateway 192.168.32.1
в твоем /etc/network/interfaces
config назначит ваш eth1
статический IP-адрес.
Иногда даже при правильном /etc/network/interfaces
файл, dhclient
продолжает запрашивать IP-адреса на статических интерфейсах. Проблема может заключаться в существовании старых /var/lib/dhcp/dhclient.*.leases
файлы с неверной информацией. Просто убей dhclient
, удалите эти файлы и запустите его заново (выполнив ifdown
/ifup
на интерфейсах DHCP).
Если вы не хотите добавлять статический IP-адрес в этот интерфейс, возможно, вам придется удалить IP-адрес, назначенный DHCP-клиентом.
Запуск этого скрипта удалит ip на eth0.
#!/bin/sh
localip=`ip addr list dev eth0 | grep "inet " | sed 's/\(^\s*inet\s\)\([0-9\.]*\)\([\s\/].*\)/\2/'`
if [[$ip != ""]]; then
sudo ip addr del $localip dev eth0
fi
Вам нужно запустить его вручную или установить в crontab. Или попробуйте позвонить после присвоения IP, но я не знаю, как это перехватить.