내가 구성한오픈 스위치ip
다음 명령을 사용하여 나열할 수 있는 가상 스위치:
# Show all interfaces
ip link
산출:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
<snip>
5: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 8a:94:11:48:01:db brd ff:ff:ff:ff:ff:ff
6: ovsbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/ether e6:db:3f:88:4b:48 brd ff:ff:ff:ff:ff:ff
이 출력의 openvswitch 이름은 다음과 같습니다.ovsbr0
ip
이제 다음과 같은 명령을 사용하여 이 가상 스위치만 나열하고 다른 인터페이스는 제외하고 싶습니다 .
# List only bridges
ip link show type bridge
예상 출력:
6: ovsbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/ether e6:db:3f:88:4b:48 brd ff:ff:ff:ff:ff:ff
실제 출력:
<no output>
이 명령이 출력되는 이유는 무엇입니까 ovsbr0
?
이 질문은 구체적입니다 openvswitch
. 동일한 명령을 사용하여 그렇지 않은 브리지를 나열하면 openvswitch
제대로 작동하기 때문입니다.
다음 명령을 사용하여 생성된 브리지의 예 ip
:
# Create bridge named "br0"
sudo ip link add br0 type bridge
# Show the newly created bridge called "br0"
ip link show type bridge
예상되는 출력을 제공합니다.
7: br0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 6a:76:6f:50:da:35 brd ff:ff:ff:ff:ff:ff
보시다시피, 이 명령을 사용하여 브리지를 생성하면 명령이 작동합니다 ip
.
하지만 이건 작동하지 않아openvswitch
질문:
- 이 명령을 사용하여 인터페이스(가상 스위치)
ip
만 나열하려면 어떻게 해야 합니까 ?openvswitch
- 이 명령이 인터페이스(가상 스위치)를
ip
나열하지 못하는 이유는 무엇입니까?openvswitch
추가 배경:
openvswitch
명령 으로 ip
생성되는 것이 아니라 다음과 같이 생성됩니다 .ovs-vsctlopenvswitch
패키지의 일부인 명령 :
sudo ovs-vsctl add-br ovsbr0
그러나 명령을 사용하여 브리지를 생성하지 않은 경우에도 다음 명령을 사용하여 삭제할 수 있습니다 openvswitch
.ip
ip
# Delete it with ip command
sudo ip link delete ovsbr0
# Alternative and conventional method
sudo ovs-vsctl del-br ovsbr0
내가 시도한 것:
# List openvswitch only but specifying type other than TYPE bridge
ip link show type TYPE
목록을 테스트할 수 있는 다른 인터페이스 유형은 무엇입니까?
# See TYPE := section from this output for types other than "bridge"
ip link show help
답변1
Open vSwitch 인터페이스는 커널이 아닙니다.다리인터페이스이지만 핵심(-가속)오픈 스위치인터페이스에는 자체 독립 드라이버가 있습니다.
의심스러운 경우 이 옵션은 모든 인터페이스 유형에 대해 표시됩니다 -details
(OP와 일치하도록 편집됨).
$ ip -details link show dev ovsbr0
6: ovsbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/ether e6:db:3f:88:4b:48 brd ff:ff:ff:ff:ff:ff promiscuity 1 allmulti 0 minmtu 68 maxmtu 65535
openvswitch numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 tso_max_size 65536 tso_max_segs 65535 gro_max_size 65536 gso_ipv4_max_size 65536 gro_ipv4_max_size 65536
$ ip -details -json link show dev ovsbr0 | jq -r '.[].linkinfo.info_kind'
openvswitch
따라서 당연히 이 유형만 표시하는 명령은 다음과 같습니다.
ip link show type openvswitch
이 리소스는 별도로 개발되었습니다.IP 경로 2도움말에 포함되어 있지 않더라도 사람들은 놀라지 말아야 합니다. 예를 들어 wireguard
도움말에는 동일한 내용이 표시되지 않지만 (커널 기반) WireGuard 인터페이스에서는 ip link show type wireguard
.