네트워크 관리자와 Fedora 31 및 openvswitch 브리징...불가능합니까?

네트워크 관리자와 Fedora 31 및 openvswitch 브리징...불가능합니까?

Fedora-31은 네트워크 스크립트 패키지가 더 이상 사용되지 않는 것으로 간주합니다(이미 설치가 가능하지만 Network Manager로 마이그레이션하라는 경고가 표시됩니다). 그래서 저는 Network-Manager(물론 ovs 플러그인이 설치된 상태)를 사용하여 먼저 openvswitch에 브리지를 생성하고 enp1s0을 포트로 추가했습니다.

ovs-vsctl add-br bridge0
ovs-vsctl add-port bridge0 enp1s0

그런 다음 다음 명령을 실행합니다.

nmcli connection add type ovs-bridge conn.interface-name bridge0 ipv4.method auto
nmcli connection add type ovs-port connection.interface-name port0 master bridge0
nmcli connection add type ovs-interface slave-type ovs-port connection.interface-name enp1s0 master port0

동적 주소가 있는 포트(enp1s0)가 있는 bridge0을 원합니다. 고전적인 Linux 브리지를 사용하는 것은 쉽습니다. 다시 시작한 후 bridge0에는 IP가 없습니다! 나도 이거 해본다

dhclient -v bridge0

그러나 시간 초과를 입력합니다. selinux와 방화벽을 비활성화하려고 시도했지만 소용이 없었습니다. Nmcli가 이를 보고합니다.

enp1s0              7d27e505-7931-4838-bea1-08c9fbf759ae  ethernet       enp1s0  
virbr0              0fc3c827-9649-4ef6-a96e-31a24228f7d9  bridge         virbr0  
ovs-bridge-bridge0  12abce0d-488a-444e-99b3-390cbb4edebd  ovs-bridge     bridge0 
ovs-slave-port0     247757ec-76e0-425c-8484-311b48e4de01  ovs-port       port0  

ovs-slave-port0 연결을 제외한 모든 것이 녹색입니다.

내 구성에 어떤 문제가 있나요?

답변1

NetworkManager를 사용하면 ovs-vsctlNM이 실제로 외부에서 생성된 OVS 장치를 인수하는 것을 방지할 수도 있습니다(따라서 불필요할 뿐만 아니라 해롭습니다).

dhclient또한 NetworkManager가 관리하는 장치에서 직접 실행 되지 않습니다 . 즉, 일부 임시 테스트에서는 이 작업을 수행할 수 있지만 전체적으로는 NetworkManager를 방해하게 됩니다.

또한 에 설명된 대로 man nm-openswitchNetworkManager와 NetworkManager 간에는 차이점이 있습니다 ovs-vsctl. 인용하다:

  • 구성은 브리지, 포트, 인터페이스로 구성됩니다. 인터페이스는 항상 포트에 종속되고 포트는 항상 브리지에 종속됩니다.

  • NetworkManager는 필요한 브리지, 포트 및 인터페이스만 생성합니다. ovs-vsctl과 달리 로컬 인터페이스와 해당 포트를 자동으로 생성하지 않습니다.

즉, ovs-vsctl add-brNetworkManager를 사용하면 이를 위한 구성 파일을 명시적으로 활성화해야 하지만 인터페이스도 생성됩니다. 이것이 작동하지 않는 이유입니다 . 그러한 인터페이스가 존재하지 않기 때문입니다(그리고 명시적으로 실행 dhclient bridge0하면 안 됩니다 ).dhclient

즉, an 및 an 을 nmcli device보기 전에 . 그러나 이러한 장치는 완전히 OVS( ) ​​내부에 있습니다. 해당 항목은 표시되지 않으며 IP 주소를 구성할 수도 없습니다. 커널은 이러한 인터페이스에 대해 알지 못합니다. 사용자(또는 NetworkManager)가 IP 주소를 구성할 수 있는 "실제" 인터페이스에 종속되어야 합니다 .ovs-bridgeovs-portovs-vsctl showip linkovs-port

여기서는 두 가지 작업을 수행할 수 있습니다.

  • 또는 슬레이브 이더넷 장치
    nmcli con add type ethernet slave-type ovs-port master port0 interface-name enp1s0 ...
    
  • 또는 ovs 인터페이스를 생성하십시오.
    nmcli con add type ovs-interface slave-type ovs-port master port0 interface-name bridge0-if0 ...
    

이러한 인터페이스에서는 해당 구성 파일에 IP 구성을 지정하여 IP 주소를 구성합니다.

언제나 그렇듯이 NetworkManager 연결 프로필과 장치 간의 차이점을 알고 있어야 합니다. NetworkManager에서는 적절한 구성 파일을 활성화하여 장치를 구성(및 생성)합니다.

나는 여러분에게 아이디어를 제공하기 위해 기억에서 이러한 예를 썼습니다. man nm-openvswitch거기에 있는 예제를 읽고 따라해 보시기 바랍니다 . 행운을 빌어요.

관련 정보