WSL2의 다중 가상 네트워크 인터페이스

WSL2의 다중 가상 네트워크 인터페이스

내 WSL 인스턴스에서 ip addr출력은 다음과 같습니다.

ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: bond0: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 62:7d:94:c7:52:0b brd ff:ff:ff:ff:ff:ff
3: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether aa:20:18:64:a4:89 brd ff:ff:ff:ff:ff:ff
4: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/ipip 0.0.0.0 brd 0.0.0.0
5: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/sit 0.0.0.0 brd 0.0.0.0
6: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:15:5d:f7:c6:4d brd ff:ff:ff:ff:ff:ff
    inet 172.25.42.162/20 brd 172.25.47.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::215:5dff:fef7:c64d/64 scope link
       valid_lft forever preferred_lft forever

이것들은 무엇입니까? 나는 무엇인지 알고 lo있습니다 eth0. 하지만 다른 것들은 무엇입니까? 나는 그들에게 어떻게 해야 합니까?

답변1

나는 무엇을 해야 합니까?

'어벤져스4:엔드게임'의 한 문장을 빌리자면——"우리는 그것을 다루지 않음으로써 그것을 처리합니다." 즉, 이러한 인터페이스에 대해 걱정하지 마십시오. 그것들은 무해하며 아마도 필요하지 않을 것입니다. 자세한 내용은 아래를 참조하세요.

이것들은 무엇입니까?

나는 결코 커널 전문가는 아니지만, 내가 알 수 있는 것 중 대부분은 Linux 커널 모듈에 의해 생성된 상당히 표준적인 인터페이스입니다. 나는 Microsoft가 구성에서 이를 제거하지 않고 컴파일에 유지하기로 선택한 두 가지 가능한 이유가 있다고 추측합니다.

  • 호환성 - 존재한다고 가정하는 일부 응용 프로그램이 있을 수 있으며, 적어도 해당 응용 프로그램이 있으면 보다 원활한 WSL 경험을 제공할 수 있습니다.
  • 개발자 사용 - WSL은 Linux 개발자를 위해 설계되었으므로 특정 애플리케이션을 테스트하기 위해 이러한 인터페이스를 제공하는 것이 유용할 수 있습니다.

인터페이스 자체:

  • bond0링크 속도나 장애 조치를 높이기 위해 여러 인터페이스를 함께 묶는 데 사용되며 둘 다 WSL에서는 작동하지 않습니다. 즉, 이론적으로 Hyper-V(Windows Pro 이상을 사용하는 경우)를 사용하여 추가 가상 NIC를 만든 다음 본딩할 수 있습니다. 우리 대부분은 이 사용 사례를 접할 가능성이 낮지만 일부 개발자는 이 기능을 테스트해야 할 수도 있습니다.

  • dummy0또한 일반적으로 다음에 따라 테스트 목적으로 사용됩니다.이 Red Hat 문서.

  • sit0IPv4를 통해 IPv6 패킷을 전달하려면(참조이 답변상세 사항은). 다시 말하지만, 이것은 우리 대부분에게 일어나지 않을 것입니다.

Microsoft WSL에서 세 가지 모듈이 모두 활성화되어 있는 것을 볼 수 있습니다.커널 구성(앉다,링크, 그리고가짜).

  • tunl: 내 시스템에는 tunl 인터페이스가 없으므로 initWSL 프로세스 중에 생성된 것으로 생각됩니다. init다른 많은 작업 중에서 WSL 네트워크 인터페이스 시작을 담당하는 것은 불행하게도 블랙박스입니다(내가 아는 한 Microsoft는 소스 코드를 공개하지 않았습니다). 어쩌면 시스템에 VPN이 있어 해당 인터페이스가 매핑될 수도 있습니다 init.

그렇다면 정말로 원한다면 그것들을 제거할 수 있습니까? 그럴 가능성이 높지만 위에 링크된 소스 코드를 사용하여 자체 Linux 커널을 구축해야 합니다. 개인적으로 저는 "대처하지 마세요"라는 접근 방식을 취하고 싶습니다. 그럼에도 불구하고 사실은 우리가할 수 있는IMHO는 원할 경우 자체 WSL 커널을 사용자 정의하고 컴파일할 수 있다는 사실이 놀랍습니다.

관련 정보