У меня есть выделенный сервер Hetzner с одной сетевой картой и двумя общедоступными IP-адресами (оба IP-адреса имеют собственный шлюз). Точно знаю, что у него есть только один адрес, настроенный с помощью neplan. Ниже приведена моя конфигурация
network:
version: 2
renderer: networkd
ethernets:
enp195s0:
addresses:
- x.x.x.x/32 #Main IPv4 address
- xx.xx.xx.xx::2/64 #IPv6
routes:
- on-link: true
to: 0.0.0.0/0
via: gx.gx.gx.gx #Main IPv4 address Gateway IP
nameservers:
addresses:
- 185.12.64.2
- 185.12.64.1
- 2a01:4ff:ff00::add:1
- 2a01:4ff:ff00::add:2
. Теперь я хочу настроить сеть так, чтобы она имела два общедоступных IP-адреса в качестве моста, потому что я хочу поделиться ею с гостевыми машинами kvm. Вот одна из моих попыток:
network:
version: 2
renderer: networkd
ethernets:
enp195s0:
dhcp4: false
dhcp6: false
bridges:
kvmbr0:
interfaces:
- enp195s0
addresses:
- x.x.x.x/32 #Main IPv4 address
- y.y.y.y/32 #Additional IPv4 address
routes:
- to: 0.0.0.0/0
via: gx.gx.gx.gx #Main IPv4 address Gateway IP
table: 1
metric: 100
- to: 0.0.0.0/0
via: gy.gy.gy.gy #Additional IPv4 address Gateway IP
table: 2
metric: 200
mtu: 1500
dhcp4: no
dhcp6: no
nameservers:
addresses:
- 185.12.64.2
- 185.12.64.1
- 2a01:4ff:ff00::add:1
- 2a01:4ff:ff00::add:2
parameters:
stp: false
forward-delay: 4
Проблема в том, что после применения сетевого плана я всегда теряю подключение к Интернету :/ У меня есть скрипт, который восстанавливает конфигурацию сетевого плана по умолчанию через несколько минут, если я его не остановлю, так что это сложно Сформируйте меня, чтобы проверить, что происходит на сервере, но я предполагаю, что это что-то с маршрутизация. Я новичок в конфигурациях netplan, не могли бы вы помочь мне найти правильное решение?
Я нашел решение. Ниже
network:
version: 2
renderer: networkd
ethernets:
enp195s0:
dhcp4: false
dhcp6: false
bridges:
kvmbr0:
interfaces:
- enp195s0
addresses:
- x.x.x.x/26 # <- netmask here
- y.y.y.y/29 # <- netmask here
routes:
- to: 0.0.0.0/0
via: gx.gx.gx.gx
metric: 100
- to: nx.nx.nx.nx/26 # <- route to main IP network
via: gx.gx.gx.gx # <- via main IP gateway
metric: 100
table: 1 # <- with routing table assignment
- to: 0.0.0.0/0
via: gy.gy.gy.gy
metric: 200
- to: ny.ny.ny.ny/29 # <- route to additional IP network
via: gy.gy.gy.gy # <- via additional IP gateway
metric: 200
table: 2 # <- with routing table assignment
routing-policy: # <- routing policies for IPs networks
- from: nx.nx.nx.nx/26
table: 1 # <- appropriate routing table
- from: ny.ny.ny.ny/29
table: 2 # <- appropriate routing table
dhcp4: no
dhcp6: no
nameservers:
addresses:
- 185.12.64.2
- 185.12.64.1
- 2a01:4ff:ff00::add:1
- 2a01:4ff:ff00::add:2
parameters:
stp: true
forward-delay: 4
Главной проблемой были сетевые маски. Это не должно быть 32 бита, потому что они не содержат IP-адреса шлюзов. Это было причиной того, что я терял сетевое соединение. Поэтому я поставил правильные сетевые маски из сетей IP-адресов.
Другие изменения были необходимы, чтобы позволить дополнительным IP-адресам связываться с Интернетом.