Могу ли я использовать сеть Wi-Fi и кабель (Ethernet) одновременно?

10

Я нахожусь в интрасети, которая не подключена к Интернету и маршрутизатору Wi-Fi с подключением к Интернету. Когда я подключен к беспроводной сети, я могу просматривать Интернет, но я не могу просматривать свою LAN с подключенным кабелем Ethernet.

Как я могу просматривать Интернет через мой Wi-Fi-маршрутизатор и в то же время просматривать локальное веб-приложение локальной сети через подключенный кабель Ethernet?

    
задан omadegbo 03.03.2013 в 20:28
источник

3 ответа

5

Вы уверены, что можете. Вы не указали его, но я предполагаю, что вы автоматически получите IP-адрес (через DHCP ) как на беспроводных, так и на проводное соединение.

Проводной Ethernet быстрее, чем беспроводной, поэтому, если есть два способа добраться где-то, проводной будет иметь приоритет по Wi-Fi по умолчанию. При этом, когда вы подключаетесь к обеим ссылкам, оба DHCP-сервера по умолчанию будут рекламировать себя как шлюз по умолчанию для всего трафика.

Итак, теперь ваш компьютер думает, что у него есть два способа подключения к Интернету, и поскольку проводной предпочтительнее, он отправит трафик для Интернета через Ethernet. Если это так, вы увидите два шлюза для сетей по умолчанию 0.0.0.0 в вашей таблице маршрутизации, route -n , один с вашим беспроводным маршрутизатором в качестве шлюза и один для проводного.

Но Метрика для шлюза Ethernet будет ниже, чем беспроводной, поэтому ваш ПК будет отправлять туда пакеты. Теперь, когда ваш маршрутизатор Ethernet получает их, он не знает, что с ними делать, поэтому он просто их отбрасывает. Порядок, в котором вы были связаны первым, не имеет значения.

Что касается фиксации (это предполагает случай DHCP), правильным способом было бы сообщить маршрутизатору локальной сети прекратить рекламировать себя как шлюз по умолчанию. Вам нужно войти в маршрутизатор и просмотреть настройки. Если у вас нет контроля над маршрутизатором, вы можете удалить его с вашего конца:

route del default gw eth.router.ip.address
    
ответ дан meccooll 16.05.2014 в 02:53
1

У меня все еще недостаточно информации, чтобы дать вам ответ, в котором я на 100% уверен, но вот несколько гипотез.

  • При подключении к кабельной локальной сети вы находитесь в другой подсети, чем при использовании беспроводной локальной сети. Маршрутизация между этими двумя LAN не настроена, поэтому при запросе диапазона IP, который не находится в текущей активной локальной сети, пакет отправляется на интерфейс «по умолчанию», обычно на шлюз / маршрутизатор.
  • У вас есть как беспроводное, так и проводное соединение, но проводной активируется после того, как беспроводной и любой инструмент управления сетью, который вы используете, просто заменяет записи таблицы маршрутов последним активированным соединением. Таким образом, при активации проводного соединения предыдущая таблица маршрутизации «отменяется / удаляется». Возможно, вам придется вручную настроить маршрутизацию в своем инструменте управления сетью.
ответ дан Huygens 04.03.2013 в 08:41
0

Сетевой менеджер Ubuntu теперь имеет прекрасную возможность изолировать интерфейс только для локальных ресурсов. Эта функция позволяет вам указать интерфейс (например, VPN или LAN-соединение) как локальный и не использовать для исходящих интернет-подключений.

В меню WiFi выберите Изменить подключения , а затем выберите Ethernet-соединение, которое вы хотите отредактировать. Затем перейдите на вкладку Настройки IPv4 и нажмите кнопку Маршруты . Установите флажок Используйте это соединение только для ресурсов в своей сети :

Сделайте то же самое на вкладке Настройки IPv6 , если это необходимо. Затем, наконец, отключите и снова подключите измененный интерфейс.

Теперь Ubuntu разумно не будет маршрутизировать трафик, связанный через Интернет через этот интерфейс.

В качестве альтернативы вы можете сделать то же самое из командной строки. cd до /etc/NetworkManager/system-connections и найдите интерфейс, на который вы хотите настроить таргетинг.

Откройте его с sudo nano <your targeted interface> и добавьте следующий текст ниже заголовков [ipv4] и [ipv6] :

never-default=true

Ваш готовый файл должен выглядеть примерно так:

...

[ipv4]
dns-search=
method=auto
never-default=true

[ipv6]
addr-gen-mode=stable-privacy
dns-search=
ip6-privacy=0
method=auto
never-default=true

Обратите внимание, что с помощью метода командной строки вам необходимо отключить и повторно подключиться к сети, чтобы эти параметры могли выполняться.

    
ответ дан Kaz Wolfe 13.03.2017 в 19:05