Как перенаправить трафик с виртуалки на виртуалку по vswith
Форум — Admin
Добрый день! Есть 2 VDS на Hetzner. На хостах стоит promox 6.4-13. Между хостами vswitch id4000. Настройки такие:
source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
iface lo inet6 loopback
auto enp0s31f6
iface enp0s31f6 inet static
address 46.4.96.45
netmask 255.255.255.224
pointopoint 46.4.96.33
gateway 46.4.96.33
# route 46.4.96.32/27 via 46.4.96.33
# up route add -net 46.4.96.32 netmask 255.255.255.224 gw 46.4.96.33 dev enp0s31f6
iface enp0s31f6.4000 inet manual
auto vmbr4000
iface vmbr4000 inet manual
bridge-ports enp0s31f6.4000
bridge-stp off
bridge-fd 0
mtu 1400
up ip addr add 192.168.100.3/24 dev vmbr4000
echo "1 vswitch" >> /etc/iproute2/rt_tables
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
iface enp0s31f6 inet6 static
address 2a01:4f8:172:10de::2/64
gateway fe80::1
auto vmbr1
iface vmbr1 inet static
address 192.168.1.3/24
bridge-ports none
bridge-stp off
bridge-fd 0
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -s '192.168.1.0/24' -o enp0s31f6 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '192.168.1.0/24' -o enp0s31f6 -j MASQUERADE
и
source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
iface lo inet6 loopback
auto enp0s31f6
iface enp0s31f6 inet static
address 138.201.55.223
netmask 255.255.255.192
gateway 138.201.55.193
# route 138.201.55.192/26 via 138.201.55.193
# up route add -net 138.201.55.192 netmask 255.255.255.192 gw 138.201.55.193 dev enp0s31f6
iface enp0s31f6.4000 inet manual
auto vmbr4000
iface vmbr4000 inet manual
bridge-ports enp0s31f6.4000
bridge-stp off
bridge-fd 0
mtu 1400
up ip addr add 192.168.100.2/24 dev vmbr4000
iface enp0s31f6 inet6 static
address 2a01:4f8:172:10de::2/64
gateway fe80::1
auto vmbr1
iface vmbr1 inet static
address 192.168.1.2/24
bridge-ports none
bridge-stp off
bridge-fd 0
#echo "1 vswitch" >> /etc/iproute2/rt_tables
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -s '192.168.1.0/24' -o enp0s31f6 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '192.168.1.0/24' -o enp0s31f6 -j MASQUERADE
У гостевых (ubuntu 20.04):
network:
ethernets:
ens18:
dhcp4: false
addresses:
- 192.168.1.46/24(192.168.1.138/24 - второй)
gateway4: 192.168.1.3(192.168.1.2)
version: 2
На виртуалках стоят ноды. Пинги с хоста address 46.4.96.45 до 192.168.1.46(гостевой на том же хосте) и 192.168.100.2(локальный ip второго сервера) есть. Ноды имеют доступ к интернету (отключить нельзя), друг с другом должны соединиться по локалке. гостевые друг с другом должны соединиться через хосты. Пробовал просто добавить на гостевых такое:
vlans:
enp0s31f6.4000:
id: 4000
link: enp0s31f6
mtu: 1400
addresses:
- 192.168.100.46/24 (192.168.100.138/24)
Но при такой конфигурации на интерфейсе хоста обнаруживается трафик с маком виртуалок, что показывает команда:
tcpdump -Q out -ni enp0s31f6 ether host not 90:1b:0e:8e:45:f8 and ether host not 90:1b:0e:8e:45:f8
Подскажите пожалуйста как конфигурировать сеть, чтобы гостевые видели друг друга и не было трафика с гостевыми мак адресами?