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

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

Я столкнулся с проблемой на сервере с двумя интерфейсами ethernet (etho и eth1), на нем запущен linux-ubuntu-server. Мне нужно, чтобы eth1 не делал никаких запросов dhcp, потому что мне нужно, чтобы он был только прослушивающим интерфейсом, очевидно, мне нужно, чтобы eth0 работал нормально. Так как же мне отключить любые dhcpclient ation через eth1?

заранее спасибо.

решение1

Что-то вроде:

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конфигурационном файле вам будет назначен eth1статический IP-адрес.

решение2

Иногда даже с правильным /etc/network/interfacesфайлом dhclientпродолжает запрашивать IP-адреса на статических интерфейсах. Проблема может быть в существовании старых /var/lib/dhcp/dhclient.*.leasesфайлов с неверной информацией. Просто убейте dhclient, удалите эти файлы и запустите его заново (выполнив ifdown/ ifupна интерфейсах DHCP).

решение3

В современных ОС Linux это можно контролировать с помощью Network Manager:

  • В RHEL: измените BOOTPROTO=dhcpстроку в файле/etc/sysconfig/network-scripts/ifcfg-eth1, затем перезапустите BOOTPROTO=staticсетевые службы.

  • В Debian: измените строку в файле method=autoнаmethod=static/etc/NetworkManager/system-connections/Проводное соединение 1, затем перезапустите сетевые службы.

решение4

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

Примечание: Это всего лишь обходной путь, удаляющий эффект DHCP-клиента на указанном интерфейсе, а не его реальное отключение. Это работает в моем решении, которое требовало, чтобы интерфейс был UP без КАКОГО-ЛИБО назначенного IP-адреса.

Связанный контент