Anos atrás, configurei um host virtual no RHEL 7 com 2 NICs conversando com 2 LANs diferentes. Usei alguma combinação de brctl
, ifconfig
, etc. O host tem convidados em ambas as LANs. Os convidados e hosts externos na LAN1 devem poder se conectar ao host. No entanto, não há razão para alguém na LAN2 se conectar ao host. Todo o tráfego do host para a LAN2 deve passar por um switch e firewall externo.
------ x.x.1.17 LAN1 x.x.1.1----
host |___________________________| switch
| LAN2 x.x.2.1|
|___________________________|
------ ---
# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.3448edf46b6c no em1
br2 8000.3448edf46b6e no em3
# ifconfig br0
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.16.3.14 netmask 255.255.255.0 broadcast 172.16.3.255
ether 34:48:ed:f4:6b:6c txqueuelen 1000 (Ethernet)
# ifconfig br2
br2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 34:48:ed:f4:6b:6e txqueuelen 1000 (Ethernet)
# arp -n
Address HWtype HWaddress Flags Mask Iface
172.16.3.24 ether 52:54:00:91:66:93 C br0
172.16.3.16 ether 52:54:00:48:3d:2b C br0
169.254.16.161 (incomplete) br0
172.16.3.21 ether 52:54:00:1d:a4:c7 C br0
169.254.208.171 (incomplete) br0
172.16.3.1 ether 00:0e:da:b6:f9:bd C br0
172.16.3.17 ether 00:25:90:d9:c5:b1 C br0
172.16.3.15 ether 52:54:00:a2:b6:c0 C br0
169.254.239.170 (incomplete) br0
traceroute to 172.16.2.3 (172.16.2.3), 30 hops max, 60 byte packets
1 gw-gr (172.16.3.1) 0.903 ms 0.833 ms 0.771 ms
2 huginn (172.16.2.3) 1.636 ms 1.611 ms 1.579 ms
Estou tentando mover os convidados para um host virtual no RHEL 8, já que o 7 está no EOL. Eu configurei a ponte LAN1 e nic. O host não pode acessar a ponte LAN2 e nic funcionando sem atribuir um IP à ponte. E, se eu fizer isso, o tráfego do host para a LAN2 ignora o switch/firewall e sai diretamente do segundo nic para a LAN2.
# nmcli con add type bridge con-name dmz ifname br1
# nmcli con add type ethrnet slave-type bridge con-name enp7s0 ifname enp7s0 master dmz
# nmcli con add type ethernet slave-type bridge con-name enp7s0 ifname enp7s0 master dmz
# nmcli connection up dmz
Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/155)
# nmcli connection show
NAME UUID TYPE DEVICE
dmz 21130c23-08ff-4737-b485-b2d51e75e2fb bridge br1
br0 1c4bda58-a889-44de-9ae4-815dbac5a31d bridge br0
eno1 6d58a4e3-486e-44b3-aa7d-485b75aa50af ethernet eno1
enp7s0 64225181-c3eb-4acd-bc0c-25b32ae244ac ethernet enp7s0
# nmcli device status
DEVICE TYPE STATE CONNECTION
br0 bridge connected br0
eno1 ethernet connected eno1
enp7s0 ethernet connected enp7s0
br1 bridge connecting (getting IP configuration) dmz
Acho que o segundo nic precisa ser colocado em modo promíscuo. Mas não consigo descobrir como fazer isso com nmcli
or firewall-cmd
.
Os comandos a seguir configurarão uma ponte para convidados virtuais sem a necessidade de atribuir um endereço IP à ponte.