Как настроить конкретный интерфейс Ethernet для WSL (Ubuntu 20.04)?

Вопрос или проблема

На Windows 10 у меня установлен Ubuntu WSL 20.04, и я хочу подключить Ethernet-соединение через конкретный Ethernet-интерфейс. В PowerShell Windows я получаю следующую информацию для этого конкретного устройства:

Адаптер беспроводной сети WLAN:

   Специфичный для подключения DNS-суффикс  . :
   Описание . . . . . . . . . . . : Intel(R) Wi-Fi 6 AX201 160MHz
   Физический адрес. . . . . . . . . : 3C-E9-F7-A7-1C-0F
   DHCP включен. . . . . . . . . . . : Да
   Автоконфигурация включена . . . . : Да
   Локальный IPv6-адрес . . . . . . : fe80::5c2a:e902:799d:9451%10(Предпочтительный)
   IPv4-адрес. . . . . . . . . . . : 192.168.177.238(Предпочтительный)
   Маска подсети . . . . . . . . . . : 255.255.255.0
   Лизинг получен. . . . . . . . . . : Среда, 21 августа 2024 17:10:37
   Лизинг истекает . . . . . . . . . . : Среда, 21 августа 2024 18:10:37
   Шлюз по умолчанию . . . . . . . . . : 192.168.177.48
   DHCP-сервер . . . . . . . . . . . : 192.168.177.48
   DHCPv6 IAID . . . . . . . . . . . : 104655351
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-2B-50-68-10-3C-E9-F7-A7-1C-0F
   DNS-серверы . . . . . . . . . . . : 192.168.177.48
   NetBIOS через Tcpip. . . . . . . . : Включен

А в WSL я получаю для ip addr show следующее:

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: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:15:5d:67:b4:8c brd ff:ff:ff:ff:ff:ff
    inet6 fe80::215:5dff:fe67:b48c/64 scope link
       valid_lft forever preferred_lft forever

Хорошо, сейчас я не могу пинговать ничего (так как пытался настроить это самостоятельно, но не удалось). Как убедиться, что я могу получить доступ в интернет из WSL через это устройство “WLAN” в Windows? Как это настроить?

С недавними версиями WSL2 это возможно, использовав “зеркальный” режим сети, но только с Windows 11 23H2. Эта функция на данный момент не была возвращена в WSL10.

(Большая часть информации ниже скопирована из моего ответа на Super User по смежной теме), который стоит прочитать для получения дополнительной информации.

В Зеркальном режиме сетевые интерфейсы из Windows зеркалируются в WSL2, так что вы сможете видеть и взаимодействовать с интерфейсом WLAN напрямую (см. оговорку ниже).

Если вы можете обновиться до Windows 11, режим зеркальной сети можно включить в WSL 2 2.0.0 (это WSL2, использующий версию приложения WSL 2.0.0) или новее, установленной из Microsoft Store (или вручную).

Чтобы включить зеркальный режим:

  • Добавьте следующее в ваш <windows_user_profile>/.wslconfig:

    [wsl2]
    networkingMode=mirrored
    
  • Выход из вашего дистрибутива WSL

  • Запустите wsl --shutdown из PowerShell, затем перезапустите WSL

Запуск ip addr и ip link теперь должен показывать все физические интерфейсы (и некоторые виртуальные) из Windows, с возможностью маршрутизации между ними по желанию.

Обратите внимание, что WiFi-интерфейсы в Windows будут отображаться как проводные сетевые интерфейсы в этом режиме. Некоторые другие ограничения могут применяться, но, по крайней мере, вы сможете включать и выключать эти интерфейсы из WSL2.

Но что если мне нужно, чтобы WSL имел новый IP в диапазоне IP моей команды? Например: мой хост: 192.168.2.2, и я хочу, чтобы мой WSL имел IP 192.168.2.#

Ответ или решение

Для настройки Ethernet-интерфейса в WSL (Ubuntu 20.04) на Windows 10 вам нужно учитывать несколько аспектов сетевой конфигурации. Ниже приведены подробные шаги для настройки подключения и получения доступа к интернету через WLAN-адаптер на вашем компьютере.

Определение текущей конфигурации сети

Сначала важно понять вашу текущую конфигурацию сети. Из команд, которые вы привели, видно, что у вас есть Ethernet-интерфейс (eth0), который присвоен WSL, но он не имеет корректных настроек IP для доступа к интернету.

  1. Получите информацию о текущем состоянии сетевых интерфейсов в Windows:
    • Откройте PowerShell и выполните следующую команду:
      Get-NetIPAddress

Конфигурация WSL для использования WLAN

С тех пор как выпустили WSL 2, появилась возможность использовать режим «зеркальной связи» (mirrored mode), однако это доступно только в Windows 11, начиная с версии 23H2. Если у вас Windows 10, вы не сможете использовать эту функцию. Тем не менее, вы можете настроить статические маршруты или VPN для решения проблемы.

Шаги для настройки статического IP в WSL

Ваша цель — получить доступ к интернету через WLAN. Вы можете попробовать назначить WSL статический IP-адрес, который будет находиться в том же диапазоне, что и ваш основной IP-адрес.

  1. Определите сетевой диапазон вашего WLAN-адаптера:

    • Ваша текущая конфигурация WLAN показывает, что ваш основной IP-адрес — 192.168.177.238. Отсюда диапазон вашего подсети составляет 192.168.177.1 — 192.168.177.254.
  2. Настройка статического IP-адреса в WSL:

    • Откройте WSL и выполните:
      sudo nano /etc/netplan/01-netcfg.yaml
    • Добавьте следующую конфигурацию:
      network:
      version: 2
      renderer: networkd
      ethernets:
       eth0:
         dhcp4: no
         addresses:
           - 192.168.177.239/24
         gateway4: 192.168.177.1
         nameservers:
            addresses:
              - 192.168.177.48
              - 8.8.8.8
    • Здесь задается статический IP-адрес 192.168.177.239 для вашего WSL-интерфейса (выберите любой другой, уникальный адрес из диапазона).
  3. Применение изменений:

    • Сохраните файл (CTRL + O, затем ENTER) и выйдите (CTRL + X).
    • Примените изменения с помощью команды:
      sudo netplan apply

Проверка соединения

Теперь проверьте соединение с интернетом. Попробуйте выполнить пинг до какого-либо внешнего адреса:

ping 8.8.8.8

Если соединение работает, WSL будет правильно настроен для использования вашего WLAN-адаптера. Если нет, проверьте конфигурацию файлов и маршрут.

Заключение

Таким образом, настройка Ethernet-интерфейса в WSL под WLAN-адаптер Windows 10 включает в себя определения сетевых параметров и статическую конфигурацию IP. Следует учитывать, что в некоторых случаях может потребоваться использование VPN или иных решений для обеспечения доступа, особенно если вы работаете в сетевой среде с управляемым DNS- или DHCP-сервером.

Если у вас возникнут дополнительные вопросы или трудности в процессе настройки, не стесняйтесь обратиться за помощью к специалисту по сетям.

Оцените материал
Добавить комментарий

Капча загружается...