
Мой сервер имеет IP-адрес 10.20.10.100 на интерфейсе eno1.
Я могу успешно добавить временный IP-адрес 10.20.50.60 (или любой другой).
Когда я пытаюсь добавить постоянный адрес с помощью netplan, я больше не могу подключиться к серверу, используя его исходный IP-адрес.
Содержимое моего оригинального /etc/netplan/00-installer-config.yaml:
network:
ethernets:
eno1:
dhcp4: true
eno2:
dhcp4: true
enx7e8ae1d2cba7:
dhcp4: true
version: 2
Моя измененная версия:
network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: false
addresses:
- 10.20.10.100/24
- 10.20.50.60/24
- 10.20.50.61/24
gateway4: 10.20.0.1
nameservers:
addresses: [10.20.0.1,1.1.1.1,8.8.8.8]
eno2:
dhcp4: true
enx7e8ae1d2cba7:
dhcp4: true
ip адрес показать dev eno1
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 7c:8a:e1:d2:cb:a2 brd ff:ff:ff:ff:ff:ff
inet 10.20.10.100/16 brd 10.20.255.255 scope global dynamic eno1
valid_lft 438sec preferred_lft 438sec
маршрут -н
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.20.0.1 0.0.0.0 UG 100 0 0 eno1
10.20.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eno1
10.20.0.1 0.0.0.0 255.255.255.255 UH 100 0 0 eno1
169.254.95.0 0.0.0.0 255.255.255.0 U 0 0 0 enx7e8ae1d2cba7
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker_gwbridge
Моя измененная версия (версия2):
network:
version: 2
ethernets:
eno1: {}
eno2:
dhcp4: true
enx7e8ae1d2cba7:
dhcp4: true
vlans:
vlan.101:
id: 101
link: eno1
addresses: [10.20.10.100/16]
gateway4: 10.20.0.1
nameservers:
addresses: [10.20.0.1, 1.1.1.1]
vlan.102:
id: 102
link: eno1
addresses: [10.20.50.60/16]
gateway4: 10.20.0.1
nameservers:
addresses: [10.20.0.1, 1.1.1.1]
vlan.103:
id: 103
link: eno1
addresses: [10.20.50.61/16]
gateway4: 10.20.0.1
nameservers:
addresses: [10.20.0.1, 1.1.1.1]
решение1
Похоже, в указанной вами конфигурации нет ничего неправильного, поэтому мне стоит задуматься о том, как вы применили это изменение.
Во-вторых, вывод ip address show dev eno1
показал адрес 10.20.10.100/16
вместо /24
в вашей конфигурации netplan. Такое ощущение, что предыдущие детали интерфейса были кэшированы или новые не применялись.
Чтобы помочь определить ваши адресные данные, когдас использованием DHCP, выполните следующие команды и запишите вывод:
# All IP addresses
ip a
# Routes and default gateway
ip r
Теперь измените конфигурацию netplan и отключите DHCP, установив его в false. Изменив конфигурацию netplan, примените с флагом отладки, чтобы помочь определить любые проблемы:
sudo netplan --debug apply
Затем повторите команды выше и обратите внимание на различия. Иногда перезагрузка необходима для удаления существующих интерфейсов или вы можете использовать команду ip del
для удаления существующих IP-адресов перед применением новой конфигурации netplan.
Один из способов убедиться, что новая конфигурация была применена, — это изменить /16 на что-то другое, например /22. Если вывод ip a
такой же, как и раньше, то она не была применена должным образом.
решение2
Я бы настроил ваши адреса как виртуальные локальные сети (кстати, я думаю, вам может потребоваться настроить шлюзы для виртуальных локальных сетей в разных сегментах сети):
network:
version: 2
ethernets:
eno1: {}
eno2:
dhcp4: true
enx7e8ae1d2cba7:
dhcp4: true
vlans:
vlan.101:
id: 101
link: eno1
addresses: [10.20.10.100/16]
routes:
- to: default
via: 10.20.0.1
vlan.102:
id: 102
link: eno1
routes:
addresses: [10.20.50.60/16]
routes:
- to: default
via: 10.20.0.1
vlan.103:
id: 103
link: eno1
addresses: [10.20.50.61/16]
routes:
- to: default
via: 10.20.0.1