몇 년 전 저는 2개의 서로 다른 LAN과 통신하는 2개의 네트워크 카드를 사용하여 RHEL 7에 가상 호스트를 설정했습니다. 등 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 7이 곧 중단될 예정이므로 게스트를 RHEL 8의 가상 호스트로 이동하려고 합니다. 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