가상 호스트의 브리지

가상 호스트의 브리지

몇 년 전 저는 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

두 번째 네트워크 카드를 무차별 모드로 설정해야 할 것 같습니다. 그러나 nmclior 을 사용하여 이 작업을 수행하는 방법을 모르겠습니다 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

관련 정보