4.4. nmcli를 사용하여 NIC 팀 구성
명령줄에서 NIC(네트워크 인터페이스 컨트롤러) 팀을 구성하려면 nmcli 유틸리티를 사용합니다.
NIC 팀은 Red Hat Enterprise Linux 9에서 더 이상 사용되지 않습니다. 대안으로 네트워크 본딩 드라이버를 사용하는 것이 좋습니다. 자세한 내용은 네트워크 본딩 구성을 참조하십시오.
사전 요구 사항
-
teamd및NetworkManager-team패키지가 설치됩니다. - 두 개 이상의 물리적 또는 가상 네트워크 장치가 서버에 설치됩니다.
- 이더넷 장치를 팀의 포트로 사용하려면 물리적 또는 가상 이더넷 장치를 서버에 설치하고 스위치에 연결해야 합니다.
본딩, 브리지 또는 VLAN 장치를 팀의 포트로 사용하려면 팀을 생성하는 동안 이러한 장치를 생성하거나 다음에 설명된 대로 미리 생성할 수 있습니다.
프로세스
팀 인터페이스를 생성합니다.
# nmcli connection add type team con-name team0 ifname team0 team.runner activebackup이 명령은
activebackup러너를 사용하는team0이라는 NIC 팀을 생성합니다.선택 사항: 링크 감시자를 설정합니다. 예를 들어
team0연결 프로필에서ethtool링크 감시자를 설정하려면 다음을 수행합니다.# nmcli connection modify team0 team.link-watchers "name=ethtool"링크 감시자는 다양한 매개변수를 지원합니다. 링크 감시자의 매개변수를 설정하려면
name속성에서 공백으로 구분하여 지정합니다. name 속성은 따옴표로 묶어야 합니다. 예를 들어ethtool링크 감시기를 사용하고delay-up매개변수를2500밀리초(2.5초)로 설정하려면 다음을 수행합니다.# nmcli connection modify team0 team.link-watchers "name=ethtool delay-up=2500"여러 링크 감시자와 각각 특정 매개변수를 사용하려면 링크 감시자를 쉼표로 구분해야 합니다. 다음 예제에서는
source-host및target-host매개변수를 사용하여delay-up매개변수 및arp_ping링크 감시자를 사용하여ethtool링크 감시자를 설정합니다.# nmcli connection modify team0 team.link-watchers "name=ethtool delay-up=2, name=arp_ping source-host=192.0.2.1 target-host=192.0.2.2"네트워크 인터페이스를 표시하고 팀에 추가할 인터페이스의 이름을 확인합니다.
# nmcli device status DEVICE TYPE STATE CONNECTION enp7s0 ethernet disconnected -- enp8s0 ethernet disconnected -- bond0 bond connected bond0 bond1 bond connected bond1 ...이 예제에서는 다음을 수행합니다.
-
enp7s0및enp8s0은 구성되어 있지 않습니다. 이러한 장치를 포트로 사용하려면 다음 단계에서 연결 프로필을 추가합니다. 연결에 할당되지 않은 팀에서만 이더넷 인터페이스를 사용할 수 있습니다. -
bond0및bond1에는 기존 연결 프로필이 있습니다. 이러한 장치를 포트로 사용하려면 다음 단계에서 프로필을 수정합니다.
-
팀에 포트 인터페이스를 할당합니다.
팀에 할당하려는 인터페이스가 구성되지 않은 경우 해당 인터페이스에 대한 새 연결 프로필을 생성합니다.
# nmcli connection add type ethernet port-type team con-name team0-port1 ifname enp7s0 controller team0 # nmcli connection add type ethernet port--type team con-name team0-port2 ifname enp8s0 controller team0이러한 명령은
enp7s0및enp8s0에 대한 프로필을 생성하고team0연결에 추가합니다.팀에 기존 연결 프로필을 할당하려면 다음을 수행합니다.
이러한 연결의
controller매개변수를team0으로 설정합니다.# nmcli connection modify bond0 controller team0 # nmcli connection modify bond1 controller team0이러한 명령은
bond0및bond1이라는 기존 연결 프로필을team0연결에 할당합니다.연결을 다시 활성화합니다.
# nmcli connection up bond0 # nmcli connection up bond1
IPv4 설정을 구성합니다.
정적 IPv4 주소, 네트워크 마스크, 기본 게이트웨이, DNS 서버를
team0연결로 설정하려면 다음을 입력합니다.# nmcli connection modify team0 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- DHCP를 사용하려면 작업이 필요하지 않습니다.
- 이 팀 장치를 다른 장치의 포트로 사용하려는 경우 작업이 필요하지 않습니다.
IPv6 설정을 구성합니다.
정적 IPv6 주소, 네트워크 마스크, 기본 게이트웨이, DNS 서버를
team0연결로 설정하려면 다음을 입력합니다.# nmcli connection modify team0 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- 이 팀 장치를 다른 장치의 포트로 사용하려는 경우 작업이 필요하지 않습니다.
- SLAAC(stateless address autoconfiguration)를 사용하려면 작업이 필요하지 않습니다.
연결을 활성화합니다.
# nmcli connection up team0
검증
팀 상태를 표시합니다.
# teamdctl team0 state setup: runner: activebackup ports: enp7s0 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up down count: 0 enp8s0 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up down count: 0 runner: active port: enp7s0이 예에서는 두 포트가 모두 up입니다.