네트워크 인터페이스가 탭, 튜닝, 브리지 또는 물리적인지 어떻게 알 수 있나요?

네트워크 인터페이스가 탭, 튜닝, 브리지 또는 물리적인지 어떻게 알 수 있나요?

내가 아는 한 Linux에는 tun, tap, bridge 및 Physical이라는 네 가지 주요 네트워크 인터페이스 유형이 있습니다.

KVM을 실행하는 컴퓨터에서 시스템 관리를 수행할 때 동일한 컴퓨터에서 탭, 브리지 및 물리적 인터페이스를 자주 접하지만 구분할 수 없습니다. ifconfig결과에는 큰 차이가 없습니다 ip.

인터페이스가 튜닝, 탭, 브리지 또는 물리적 인터페이스인지 어떻게 알 수 있나요?

참고: Linux에 다른 유형의 네트워크 인터페이스가 없다고 말하는 것은 아니지만 이 4가지 유형만 알고 있습니다.

답변1

TUN 및 TAP 장치 관련: 위의 확인을 수행하는 것만으로는 충분하지 않습니다.

그 이유는 어떤 경우에는 TUN 장치를 만들고 (잘못) tap10이라고 부르거나 TAP 장치를 만들고 이름을 tun10으로 지정하기 때문입니다. 그렇다면 그것이 tun 장치인지 탭 장치인지 어떻게 알 수 있습니까? 물론 두 장치 모두 "tun_flags" 항목을 갖기 때문입니다.

답은 달리고 있습니다 ethtool -i tunOrTapDeviceName.

  • TAP 장치인 경우 "bus-info: tap"이 표시됩니다.
  • TUN 장치인 경우 "bus-info: tun"이 표시됩니다.

$ ethtool -i tapfffb93e9-6a
driver: tun
version: 1.6
firmware-version:
bus-info: tap
supports-statistics: no
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no

답변2

쉽게 구분할 수 있는 방법은 없는 것 같아요. 몇 가지 탐색 끝에 /sys/class/net다음과 같은 차이점을 발견했습니다.

  • 물리적 장치에는 /sys/class/net/eth0/device심볼릭 링크 가 있습니다.
  • 브리지에는 /sys/class/net/br0/bridge디렉토리 가 있습니다
  • TUN 및 TAP 장치에는 /sys/class/net/tap0/tun_flags파일이 있습니다.
  • 브리지 및 루프백 인터페이스 00:00:00:00:00:00에는/sys/class/net/lo/address

답변3

tun, tap 및 veth를 포함하여 특정 장치의 유형을 알려주는 다소 문서화되지 않은 -d옵션을 사용할 수 있습니다.ip(8)

예를 들어

$ ip -d a
[regular devices]
6: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether 52:54:00:c8:12:ec brd ff:ff:ff:ff:ff:ff promiscuity 0 
tun

... tun마지막 줄을 주목하세요.

-d와 함께 사용할 수도 있습니다 ip l.

답변4

@ben이 말했듯이 ip -d l인터페이스 유형에 대한 인터페이스 세부 정보가 제공됩니다. 그런데 정보가 좀 헷갈리네요어떤 유형의 인터페이스에 관심이 있는지 알고 있는 경우ip link show type TYPE또 다른 가능성은 해당 유형의 모든 인터페이스를 나열하는 것을 사용하는 것입니다 .

어디

TYPE := { vlan | veth | vcan | vxcan | dummy | ifb | macvlan | macvtap |
          bridge | bond | team | ipoib | ip6tnl | ipip | sit | vxlan |
          gre | gretap | erspan | ip6gre | ip6gretap | ip6erspan |
          vti | nlmon | team_slave | bond_slave | bridge_slave |
          ipvlan | ipvtap | geneve | vrf | macsec | netdevsim | rmnet }

관련 정보