Я настроил Ubuntu Server 18.04. Сетевой менеджер не активен, поэтому настройка выполняется в /etc/network/interfaces.
В сети активен DHCP-сервер.
/etc/network/interfaces
содержание:
auto enp1s0
iface enp1s0 inet dhcp
auto enp2s0
iface enp2s0 inet static
address 0.0.0.0
up sysctl -w net.ipv6.conf.enp2s0.disable_ipv6=1
auto enp3s0
iface enp3s0 inet static
address 0.0.0.0
up sysctl -w net.ipv6.conf.enp3s0.disable_ipv6=1
Интерфейс enp1s0 должен использоваться сервером Ubuntu для доступа к локальной сети и должен автоматически получать адрес.
Интерфейсы enp2s0 и enp3s0 должны быть в сети, но сервер Ubuntu не должен иметь возможности выполнять какие-либо сетевые соединения через них. Есть виртуальная машина, работающая как служба с PfSense, которая использует enp2s0 как интерфейс Lan и enp3s0 как интерфейс Wan.
Моя реальная проблема: автоматическая конфигурация для enp1s0 работает только сразу после загрузки. Если я отсоединяю кабель Ethernet от enp1s0 и подключаю его снова, сервер Ubuntu не обнаруживает, что есть событие соединения, и снова связывается с dhcp. Он просто сохраняет конфигурацию, полученную после загрузки.
Как мне заставить свой сервер сбрасывать и перенастраивать интерфейс после каждого подключения, как это происходит по умолчанию при установке на настольном компьютере?
решение1
Благодаря @chili555 я заглянул в netplan и нашел работающее решение:
Я /etc/netplan
установил интерфейс, который мне нужен для собственного использования моим сервером.
К сожалению, я не смог настроить все это там, так как я хотел, чтобы интерфейсы 2 и 3 были только включены, но без каких-либо адресов. Поэтому я оставил эти два интерфейса в файле /etc/network/interfaces.
=> Теперь рабочая настройка выглядит следующим образом:
Содержание/etc/netplan/01-netcfg.yaml
network:
version: 2
renderer: networkd
ethernets:
enp1s0:
dhcp4: yes
Содержание /etc/network/interfaces
:
auto enp2s0
iface enp2s0 inet static
address 0.0.0.0
up sysctl -w net.ipv6.conf.enp2s0.disable_ipv6=1
auto enp3s0
iface enp3s0 inet static
address 0.0.0.0
up sysctl -w net.ipv6.conf.enp3s0.disable_ipv6=1
Теперь моя настройка работает так, как и ожидалось: enp1s0 полностью автоматически управляется, и при каждом подключении он делает новый запрос DHCP.
enp2s0 и enp3s0 оба не имеют адресов ipv4/6 и могут использоваться с моей виртуальной машины pfSense