Назад | Перейти на главную страницу

Отключить клиент DHCP через один интерфейс

У меня проблема на сервере с двумя интерфейсами 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, но я не знаю, как это перехватить.