几年前,我在 RHEL 7 上设置了一个虚拟主机,有 2 个网卡与 2 个不同的 LAN 通信。我使用了brctl
、等的某种组合ifconfig
。主机的两个 LAN 上都有来宾。 LAN1 上的访客和外部主机应该能够连接到主机。但是,LAN2 上的任何人都没有理由连接到主机。从主机到 LAN2 的所有流量都应经过外部交换机和防火墙。
------ 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
我正在尝试将来宾移动到 RHEL 8 上的虚拟主机,因为 7 即将停产。我配置了 LAN1 网桥和网卡。如果没有为网桥分配 IP,主机就无法访问 LAN2 网桥和网卡。而且,如果我这样做,从主机到 LAN2 的流量将绕过交换机/防火墙并直接从第二个网卡到达 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
我认为第二个网卡需要置于混杂模式。但是,我不知道如何使用nmcli
or来做到这一点firewall-cmd
。
答案1
以下命令将为虚拟访客设置一个网桥,而无需为该网桥分配 IP 地址。
# nmcli con add type bridge con-name dmz ifname br1
# nmcli con add type ethernet slave-type bridge con-name lan2 ifname enp7s0 master br1
# nmcli con modify dmz ipv4.method disabled
# nmcli con modify dmz ipv6.method disable
# nmcli con modify dmz 802-3-ethernet.accept-all-mac-addresses true
# firewall-cmd --permanent --zone=dmz --change-interface=enp7s0
# firewall-cmd --permanent --zone=dmz --change-interface=dmz