6장. 네트워크 브리지 구성
네트워크 브리지는 MAC 주소 테이블을 기반으로 네트워크 간에 트래픽을 전달하는 링크 계층 장치입니다. 브리지는 네트워크 트래픽을 청취하여 MAC 주소 테이블을 빌드하므로 각 네트워크에 연결된 호스트를 학습합니다. 예를 들어 Red Hat Enterprise Linux 호스트에서 소프트웨어 브릿지를 사용하여 하드웨어 브릿지 또는 가상화 환경을 에뮬레이션하여 VM(가상 머신)을 호스트와 동일한 네트워크에 통합할 수 있습니다.
브릿지에는 브리지가 연결해야 하는 각 네트워크의 네트워크 장치가 필요합니다. 브리지를 구성하면 브리지를 controller 라고 하며 포트 를 사용하는 장치입니다.
다음과 같은 다양한 유형의 장치에서 브릿지를 생성할 수 있습니다.
- 물리적 및 가상 이더넷 장치
- 네트워크 본딩
- 네트워크 팀
- VLAN 장치
무선 시간을 효율적으로 사용하기 위해 Wi-Fi에서 3-address 프레임의 사용을 지정하는 IEEE Cryostat 표준으로 인해 Ad-Hoc 또는 Infrastructure 모드에서 작동하는 Wi-Fi 네트워크를 통해 브릿지를 구성할 수 없습니다.
6.1. nmcli를 사용하여 네트워크 브리지 구성 링크 복사링크가 클립보드에 복사되었습니다!
명령줄에서 네트워크 브릿지를 구성하려면 nmcli 유틸리티를 사용합니다.
사전 요구 사항
- 두 개 이상의 물리적 또는 가상 네트워크 장치가 서버에 설치됩니다.
-
호스트는 Red Hat Enterprise Linux 9.4 이상에서 실행됩니다. 이 버전에서는 이 절차에서 사용되는
port-type,controller,connection.autoconnect-ports옵션이 도입되었습니다. 이전 RHEL 버전에서는 대신slave-type,master,connection.autoconnect-slaves를 사용합니다. - 이더넷 장치를 브리지 포트로 사용하려면 물리적 또는 가상 이더넷 장치를 서버에 설치해야 합니다.
브릿지 포트로 팀, 본딩 또는 VLAN 장치를 사용하려면 브리지를 생성하는 동안 이러한 장치를 생성하거나 다음에 설명된 대로 미리 생성할 수 있습니다.
프로세스
브리지 인터페이스를 만듭니다.
nmcli connection add type bridge con-name bridge0 ifname bridge0
# nmcli connection add type bridge con-name bridge0 ifname bridge0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은
bridge0이라는 브릿지를 생성합니다.네트워크 인터페이스를 표시하고 브리지에 추가할 인터페이스의 이름을 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예제에서는 다음을 수행합니다.
-
enp7s0및enp8s0은 구성되어 있지 않습니다. 이러한 장치를 포트로 사용하려면 다음 단계에서 연결 프로필을 추가합니다. -
bond0및bond1에는 기존 연결 프로필이 있습니다. 이러한 장치를 포트로 사용하려면 다음 단계에서 프로필을 수정합니다.
-
인터페이스를 브리지에 할당합니다.
브리지에 할당할 인터페이스가 구성되지 않은 경우 해당 인터페이스에 대한 새 연결 프로필을 생성합니다.
nmcli connection add type ethernet port-type bridge con-name bridge0-port1 ifname enp7s0 controller bridge0 nmcli connection add type ethernet port-type bridge con-name bridge0-port2 ifname enp8s0 controller bridge0
# nmcli connection add type ethernet port-type bridge con-name bridge0-port1 ifname enp7s0 controller bridge0 # nmcli connection add type ethernet port-type bridge con-name bridge0-port2 ifname enp8s0 controller bridge0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이러한 명령은
enp7s0및enp8s0에 대한 프로필을 생성하고bridge0연결에 추가합니다.기존 연결 프로필을 브리지에 할당하려면 다음을 수행합니다.
이러한 연결의
컨트롤러매개 변수를bridge0으로 설정합니다.nmcli connection modify bond0 controller bridge0 nmcli connection modify bond1 controller bridge0
# nmcli connection modify bond0 controller bridge0 # nmcli connection modify bond1 controller bridge0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이러한 명령은
bond0및bond1이라는 기존 연결 프로필을bridge0연결에 할당합니다.연결을 다시 활성화합니다.
nmcli connection up bond0 nmcli connection up bond1
# nmcli connection up bond0 # nmcli connection up bond1Copy to Clipboard Copied! Toggle word wrap Toggle overflow
IPv4 설정을 구성합니다.
정적 IPv4 주소, 네트워크 마스크, 기본 게이트웨이, DNS 서버를
bridge0연결로 설정하려면 다음을 입력합니다.nmcli connection modify bridge0 ipv4.addresses '192.0.2.1/24' ipv4.gateway '192.0.2.254' ipv4.dns '192.0.2.253' ipv4.dns-search 'example.com' ipv4.method manual
# nmcli connection modify bridge0 ipv4.addresses '192.0.2.1/24' ipv4.gateway '192.0.2.254' ipv4.dns '192.0.2.253' ipv4.dns-search 'example.com' ipv4.method manualCopy to Clipboard Copied! Toggle word wrap Toggle overflow - DHCP를 사용하려면 작업이 필요하지 않습니다.
- 이 브릿지 장치를 다른 장치의 포트로 사용하려는 경우 작업이 필요하지 않습니다.
IPv6 설정을 구성합니다.
정적 IPv6 주소, 네트워크 마스크, 기본 게이트웨이, DNS 서버를
bridge0연결로 설정하려면 다음을 입력합니다.nmcli connection modify bridge0 ipv6.addresses '2001:db8:1::1/64' ipv6.gateway '2001:db8:1::fffe' ipv6.dns '2001:db8:1::fffd' ipv6.dns-search 'example.com' ipv6.method manual
# nmcli connection modify bridge0 ipv6.addresses '2001:db8:1::1/64' ipv6.gateway '2001:db8:1::fffe' ipv6.dns '2001:db8:1::fffd' ipv6.dns-search 'example.com' ipv6.method manualCopy to Clipboard Copied! Toggle word wrap Toggle overflow - SLAAC(stateless address autoconfiguration)를 사용하려면 작업이 필요하지 않습니다.
- 이 브릿지 장치를 다른 장치의 포트로 사용하려는 경우 작업이 필요하지 않습니다.
선택 사항: 브리지의 추가 속성을 구성합니다. 예를 들어
bridge0의 Spanning Tree Protocol(STP) 우선순위를 설정하려면다음을입력합니다.nmcli connection modify bridge0 bridge.priority '16384'
# nmcli connection modify bridge0 bridge.priority '16384'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 기본적으로 STP는 활성화됩니다.
연결을 활성화합니다.
nmcli connection up bridge0
# nmcli connection up bridge0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 포트가 연결되어 있고
CONNECTION열에 포트의 연결 이름이 표시되는지 확인합니다.nmcli device DEVICE TYPE STATE CONNECTION ... enp7s0 ethernet connected bridge0-port1 enp8s0 ethernet connected bridge0-port2
# nmcli device DEVICE TYPE STATE CONNECTION ... enp7s0 ethernet connected bridge0-port1 enp8s0 ethernet connected bridge0-port2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 연결 포트를 활성화하면 NetworkManager는 브리지도 활성화하지만 다른 포트는 활성화하지 않습니다. 브릿지가 활성화되면 Red Hat Enterprise Linux에서 모든 포트를 자동으로 사용하도록 구성할 수 있습니다.
브리지 연결의
connection.autoconnect-ports매개변수를 활성화합니다.nmcli connection modify bridge0 connection.autoconnect-ports 1
# nmcli connection modify bridge0 connection.autoconnect-ports 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 브리지를 다시 활성화합니다.
nmcli connection up bridge0
# nmcli connection up bridge0Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
ip유틸리티를 사용하여 특정 브리지의 포트인 이더넷 장치의 링크 상태를 표시합니다.ip link show master bridge0 3: enp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bridge0 state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:62:61:0e brd ff:ff:ff:ff:ff:ff 4: enp8s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bridge0 state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:9e:f1:ce brd ff:ff:ff:ff:ff:ff# ip link show master bridge0 3: enp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bridge0 state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:62:61:0e brd ff:ff:ff:ff:ff:ff 4: enp8s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bridge0 state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:9e:f1:ce brd ff:ff:ff:ff:ff:ffCopy to Clipboard Copied! Toggle word wrap Toggle overflow bridge유틸리티를 사용하여 브리지 장치의 포트인 이더넷 장치의 상태를 표시합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 특정 이더넷 장치의 상태를 표시하려면
bridge link show dev < ethernet_device_name> 명령을사용합니다.