Сделайте разные приложения для использования разных соединений [duplicate]

У меня есть два разных сетевых интерфейса, подключенных к двум сетям. Один из них - eth0, а другой - wlan0. Как я могу сказать, что программное обеспечение использует только определенный интерфейс?

В принципе, я хочу, чтобы Firefox использовал eth0, потому что это университетская сеть LAN, и мне нужно идти на сайты интрасети, а другая - сеть Wi-Fi, открытая для Интернета, и я хочу связать ее с Chrome.

Я работаю, и мне нужно использовать интрасеть. Поэтому eth0 - мой выбор, но eth0 - это интранет без доступа в Интернет (очевидно). Поскольку я хочу доступ в Интернет, я подключен к wlan0 (университетский wifi для студентов).

Проблема в том, что, если у меня есть оба подключения, иногда браузер ищет www.stackoverflow.com, используя eth0. Поэтому я хотел назначить браузеру использовать только определенный интерфейс.

35
задан 29 September 2010 в 11:16

14 ответов

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

Если я правильно прочитал ваш вопрос, вы хотите подключиться к IP-адресам интрасети, используя интерфейс eth0 и в интернет с помощью интерфейса wlan0.

Если вы запустите команду ip route list, вы увидите вывод, подобный следующему (числа будут разными, а также у вас может быть больше строк):

$ ip route list 10.60.44.0/25 dev eth0 proto kernel scope link src 10.60.44.39 metric 1 192.168.80.0/21 dev wlan0 proto kernel scope link src 192.168.84.122 metric 2 [...] default via 10.60.44.1 dev eth0 proto static

Первые две строки расскажут о сетях, подключенных к интерфейсам eth0 и wlan0: сетевой трафик, направляемый на компьютеры в этих сетях, будет напрямую отправлен им через соответствующий интерфейс. [ ! d3]

Последняя строка сообщает вам, что такое «маршрут по умолчанию»: если ваш компьютер хочет поговорить с компьютером в сети, к которому он не подключен (например, сервер stackoverflow.com), он будет маршрутизировать трафик через eth0, реализуя через host 10.60.44.1 (называемый «шлюз по умолчанию»).

Итак, чтобы маршрутизировать интернет-трафик wlan0, вы должны убедиться, что последняя строка на выходе ip route list читает s omething like:

default via A.B.C.D dev wlan0 proto static

где A.B.C.D - это IP-адрес шлюза в беспроводной локальной сети. Если выход не содержит «dev wlan0», вы можете изменить его с помощью команды:

sudo ip route change to default dev wlan0 via A.B.C.D

Вы можете найти правильный A.B.C.D для wlan0 двумя способами:

Посмотрите на каталог /var/lib/dhcp3/: вы должны найти некоторые файлы dhclient-...-wlan0.lease. Откройте самую последнюю и найдите строку со строкой option router в ней: остальная часть строки сообщает вам IP-адрес A.B.C.D. Спросите своих локальных сетевых администраторов. (Возможно, самое лучшее, что нужно сделать).

С помощью этой конфигурации вы должны:

просматривать Интернет через wlan0 просматривать свою интрасеть через eth0, при условии, что он находится в одной сети.

Если ваша интрасеть охватывает несколько сетей, вам нужно будет добавить маршруты для них - и это определенно то, что требует от вас взаимодействия с администраторами локальной сети. : -

)
23
ответ дан 25 July 2018 в 21:05

Вы не можете привязывать клиентское программное обеспечение к определенным сетевым интерфейсам, но вы можете сказать ядру, что вы хотите использовать только один сетевой интерфейс для некоторых IP-адресов, а другой для всего остального. Это называется «маршрутизация», и его можно настроить с помощью команд / sbin / route и / sbin / ip .

Если я прочитаю ваш вопрос правильно, вы хотите подключиться к IP-адресам интрасети с помощью интерфейса eth0 и в Интернете с помощью интерфейса wlan0 .

Если вы запустите команду ip route list , вы должны увидеть вывод, подобный следующему (числа будут разными, а также вы можете иметь больше строк):

  $ ip route list 10.60.44.0  / 25 dev eth0 proto kernel scope link src 10.60.44.39 метрическая 1 192.168.80.0/21 dev wlan0 proto kernel scope ссылка src 192.168.84.122 метрика 2 [...] по умолчанию через 10.60.44.1 dev eth0 proto static  [  ! d39] 

Первые две строки расскажут о сетях, подключенных к интерфейсам eth0 и wlan0 : сетевой трафик, направленный на компьютеры в этих сетях, будет напрямую отправлен им через соответствующий интерфейс.

Последняя строка сообщает вам, что такое «маршрут по умолчанию»: if ваш компьютер хочет поговорить с компьютером в сети, к которой он не подключен (например, сервер stackoverflow.com), он будет маршрутизировать трафик через eth0 , реализуя через хост 10.60.44.1 [ ! d9] (называемый «шлюз по умолчанию»).

Итак, чтобы маршрутизировать интернет-трафик wlan0 , вы должны убедиться, что последняя строка в списке маршрутов ip [ ! d11] выводит что-то вроде:

  по умолчанию через ABCD dev wlan0 proto static  

где ABCD - IP-адрес шлюз в беспроводной локальной сети. Если выход не содержит «dev wlan0», вы можете изменить его с помощью команды:

  sudo ip route change to default dev wlan0 через ABCD  

Вы можете найти правильный ABCD для wlan0 двумя способами:

  1. Искать в каталоге / var / lib / dhcp3 / : вы должны найти файлы dhclient -...- wlan0.lease . Откройте последнюю и найдите строку со строкой option router в ней: остальная часть строки сообщает вам IP-адрес ABCD .
  2. Обратитесь к местным администраторам сети. (Возможно, самое лучшее, что нужно сделать).

С помощью этой конфигурации вы должны иметь возможность:

  • просматривать Интернет через wlan0
  • просматривайте свою интрасеть через eth0 , при условии, что она находится в одной сети .

Если ваша интрасеть охватывает несколько сетей, вам нужно будет добавить маршруты для них - и это определенно то, что требует от вас взаимодействия с администраторами локальной сети. : -

)
23
ответ дан 2 August 2018 в 02:47

Вы не можете привязывать клиентское программное обеспечение к определенным сетевым интерфейсам, но вы можете сказать ядру, что вы хотите использовать только один сетевой интерфейс для некоторых IP-адресов, а другой для всего остального. Это называется «маршрутизация», и его можно настроить с помощью команд / sbin / route и / sbin / ip .

Если я прочитаю ваш вопрос правильно, вы хотите подключиться к IP-адресам интрасети с помощью интерфейса eth0 и в Интернете с помощью интерфейса wlan0 .

Если вы запустите команду ip route list , вы должны увидеть вывод, подобный следующему (числа будут разными, а также вы можете иметь больше строк):

  $ ip route list 10.60.44.0  / 25 dev eth0 proto kernel scope link src 10.60.44.39 метрическая 1 192.168.80.0/21 dev wlan0 proto kernel scope ссылка src 192.168.84.122 метрика 2 [...] по умолчанию через 10.60.44.1 dev eth0 proto static  [  ! d39] 

Первые две строки расскажут о сетях, подключенных к интерфейсам eth0 и wlan0 : сетевой трафик, направленный на компьютеры в этих сетях, будет напрямую отправлен им через соответствующий интерфейс.

Последняя строка сообщает вам, что такое «маршрут по умолчанию»: if ваш компьютер хочет поговорить с компьютером в сети, к которой он не подключен (например, сервер stackoverflow.com), он будет маршрутизировать трафик через eth0 , реализуя через хост 10.60.44.1 [ ! d9] (называемый «шлюз по умолчанию»).

Итак, чтобы маршрутизировать интернет-трафик wlan0 , вы должны убедиться, что последняя строка в списке маршрутов ip [ ! d11] выводит что-то вроде:

  по умолчанию через ABCD dev wlan0 proto static  

где ABCD - IP-адрес шлюз в беспроводной локальной сети. Если выход не содержит «dev wlan0», вы можете изменить его с помощью команды:

  sudo ip route change to default dev wlan0 через ABCD  

Вы можете найти правильный ABCD для wlan0 двумя способами:

  1. Искать в каталоге / var / lib / dhcp3 / : вы должны найти файлы dhclient -...- wlan0.lease . Откройте последнюю и найдите строку со строкой option router в ней: остальная часть строки сообщает вам IP-адрес ABCD .
  2. Обратитесь к местным администраторам сети. (Возможно, самое лучшее, что нужно сделать).

С помощью этой конфигурации вы должны иметь возможность:

  • просматривать Интернет через wlan0
  • просматривайте свою интрасеть через eth0 , при условии, что она находится в одной сети .

Если ваша интрасеть охватывает несколько сетей, вам нужно будет добавить маршруты для них - и это определенно то, что требует от вас взаимодействия с администраторами локальной сети. : -

)
23
ответ дан 4 August 2018 в 18:33

Вы не можете привязывать клиентское программное обеспечение к определенным сетевым интерфейсам, но вы можете сказать ядру, что вы хотите использовать только один сетевой интерфейс для некоторых IP-адресов, а другой для всего остального. Это называется «маршрутизация», и его можно настроить с помощью команд / sbin / route и / sbin / ip .

Если я прочитаю ваш вопрос правильно, вы хотите подключиться к IP-адресам интрасети с помощью интерфейса eth0 и в Интернете с помощью интерфейса wlan0 .

Если вы запустите команду ip route list , вы должны увидеть вывод, подобный следующему (числа будут разными, а также вы можете иметь больше строк):

  $ ip route list 10.60.44.0  / 25 dev eth0 proto kernel scope link src 10.60.44.39 метрическая 1 192.168.80.0/21 dev wlan0 proto kernel scope ссылка src 192.168.84.122 метрика 2 [...] по умолчанию через 10.60.44.1 dev eth0 proto static  [  ! d39] 

Первые две строки расскажут о сетях, подключенных к интерфейсам eth0 и wlan0 : сетевой трафик, направленный на компьютеры в этих сетях, будет напрямую отправлен им через соответствующий интерфейс.

Последняя строка сообщает вам, что такое «маршрут по умолчанию»: if ваш компьютер хочет поговорить с компьютером в сети, к которой он не подключен (например, сервер stackoverflow.com), он будет маршрутизировать трафик через eth0 , реализуя через хост 10.60.44.1 [ ! d9] (называемый «шлюз по умолчанию»).

Итак, чтобы маршрутизировать интернет-трафик wlan0 , вы должны убедиться, что последняя строка в списке маршрутов ip [ ! d11] выводит что-то вроде:

  по умолчанию через ABCD dev wlan0 proto static  

где ABCD - IP-адрес шлюз в беспроводной локальной сети. Если выход не содержит «dev wlan0», вы можете изменить его с помощью команды:

  sudo ip route change to default dev wlan0 через ABCD  

Вы можете найти правильный ABCD для wlan0 двумя способами:

  1. Искать в каталоге / var / lib / dhcp3 / : вы должны найти файлы dhclient -...- wlan0.lease . Откройте последнюю и найдите строку со строкой option router в ней: остальная часть строки сообщает вам IP-адрес ABCD .
  2. Обратитесь к местным администраторам сети. (Возможно, самое лучшее, что нужно сделать).

С помощью этой конфигурации вы должны иметь возможность:

  • просматривать Интернет через wlan0
  • просматривайте свою интрасеть через eth0 , при условии, что она находится в одной сети .

Если ваша интрасеть охватывает несколько сетей, вам нужно будет добавить маршруты для них - и это определенно то, что требует от вас взаимодействия с администраторами локальной сети. : -

)
23
ответ дан 6 August 2018 в 02:59

Вы не можете привязывать клиентское программное обеспечение к определенным сетевым интерфейсам, но вы можете сказать ядру, что вы хотите использовать только один сетевой интерфейс для некоторых IP-адресов, а другой для всего остального. Это называется «маршрутизация», и его можно настроить с помощью команд / sbin / route и / sbin / ip .

Если я прочитаю ваш вопрос правильно, вы хотите подключиться к IP-адресам интрасети с помощью интерфейса eth0 и в Интернете с помощью интерфейса wlan0 .

Если вы запустите команду ip route list , вы должны увидеть вывод, подобный следующему (числа будут разными, а также вы можете иметь больше строк):

  $ ip route list 10.60.44.0  / 25 dev eth0 proto kernel scope link src 10.60.44.39 метрическая 1 192.168.80.0/21 dev wlan0 proto kernel scope ссылка src 192.168.84.122 метрика 2 [...] по умолчанию через 10.60.44.1 dev eth0 proto static  [  ! d39] 

Первые две строки расскажут о сетях, подключенных к интерфейсам eth0 и wlan0 : сетевой трафик, направленный на компьютеры в этих сетях, будет напрямую отправлен им через соответствующий интерфейс.

Последняя строка сообщает вам, что такое «маршрут по умолчанию»: if ваш компьютер хочет поговорить с компьютером в сети, к которой он не подключен (например, сервер stackoverflow.com), он будет маршрутизировать трафик через eth0 , реализуя через хост 10.60.44.1 [ ! d9] (называемый «шлюз по умолчанию»).

Итак, чтобы маршрутизировать интернет-трафик wlan0 , вы должны убедиться, что последняя строка в списке маршрутов ip [ ! d11] выводит что-то вроде:

  по умолчанию через ABCD dev wlan0 proto static  

где ABCD - IP-адрес шлюз в беспроводной локальной сети. Если выход не содержит «dev wlan0», вы можете изменить его с помощью команды:

  sudo ip route change to default dev wlan0 через ABCD  

Вы можете найти правильный ABCD для wlan0 двумя способами:

  1. Искать в каталоге / var / lib / dhcp3 / : вы должны найти файлы dhclient -...- wlan0.lease . Откройте последнюю и найдите строку со строкой option router в ней: остальная часть строки сообщает вам IP-адрес ABCD .
  2. Обратитесь к местным администраторам сети. (Возможно, самое лучшее, что нужно сделать).

С помощью этой конфигурации вы должны иметь возможность:

  • просматривать Интернет через wlan0
  • просматривайте свою интрасеть через eth0 , при условии, что она находится в одной сети .

Если ваша интрасеть охватывает несколько сетей, вам нужно будет добавить маршруты для них - и это определенно то, что требует от вас взаимодействия с администраторами локальной сети. : -

)
23
ответ дан 7 August 2018 в 20:40

Вы не можете привязывать клиентское программное обеспечение к определенным сетевым интерфейсам, но вы можете сказать ядру, что вы хотите использовать только один сетевой интерфейс для некоторых IP-адресов, а другой для всего остального. Это называется «маршрутизация», и его можно настроить с помощью команд / sbin / route и / sbin / ip .

Если я прочитаю ваш вопрос правильно, вы хотите подключиться к IP-адресам интрасети с помощью интерфейса eth0 и в Интернете с помощью интерфейса wlan0 .

Если вы запустите команду ip route list , вы должны увидеть вывод, подобный следующему (числа будут разными, а также вы можете иметь больше строк):

  $ ip route list 10.60.44.0  / 25 dev eth0 proto kernel scope link src 10.60.44.39 метрическая 1 192.168.80.0/21 dev wlan0 proto kernel scope ссылка src 192.168.84.122 метрика 2 [...] по умолчанию через 10.60.44.1 dev eth0 proto static  [  ! d39] 

Первые две строки расскажут о сетях, подключенных к интерфейсам eth0 и wlan0 : сетевой трафик, направленный на компьютеры в этих сетях, будет напрямую отправлен им через соответствующий интерфейс.

Последняя строка сообщает вам, что такое «маршрут по умолчанию»: if ваш компьютер хочет поговорить с компьютером в сети, к которой он не подключен (например, сервер stackoverflow.com), он будет маршрутизировать трафик через eth0 , реализуя через хост 10.60.44.1 [ ! d9] (называемый «шлюз по умолчанию»).

Итак, чтобы маршрутизировать интернет-трафик wlan0 , вы должны убедиться, что последняя строка в списке маршрутов ip [ ! d11] выводит что-то вроде:

  по умолчанию через ABCD dev wlan0 proto static  

где ABCD - IP-адрес шлюз в беспроводной локальной сети. Если выход не содержит «dev wlan0», вы можете изменить его с помощью команды:

  sudo ip route change to default dev wlan0 через ABCD  

Вы можете найти правильный ABCD для wlan0 двумя способами:

  1. Искать в каталоге / var / lib / dhcp3 / : вы должны найти файлы dhclient -...- wlan0.lease . Откройте последнюю и найдите строку со строкой option router в ней: остальная часть строки сообщает вам IP-адрес ABCD .
  2. Обратитесь к местным администраторам сети. (Возможно, самое лучшее, что нужно сделать).

С помощью этой конфигурации вы должны иметь возможность:

  • просматривать Интернет через wlan0
  • просматривайте свою интрасеть через eth0 , при условии, что она находится в одной сети .

Если ваша интрасеть охватывает несколько сетей, вам нужно будет добавить маршруты для них - и это определенно то, что требует от вас взаимодействия с администраторами локальной сети. : -

)
23
ответ дан 10 August 2018 в 09:02

Вы не можете привязывать клиентское программное обеспечение к определенным сетевым интерфейсам, но вы можете сказать ядру, что вы хотите использовать только один сетевой интерфейс для некоторых IP-адресов, а другой для всего остального. Это называется «маршрутизация», и его можно настроить с помощью команд / sbin / route и / sbin / ip .

Если я прочитаю ваш вопрос правильно, вы хотите подключиться к IP-адресам интрасети с помощью интерфейса eth0 и в Интернете с помощью интерфейса wlan0 .

Если вы запустите команду ip route list , вы должны увидеть вывод, подобный следующему (числа будут разными, а также вы можете иметь больше строк):

  $ ip route list 10.60.44.0  / 25 dev eth0 proto kernel scope link src 10.60.44.39 метрическая 1 192.168.80.0/21 dev wlan0 proto kernel scope ссылка src 192.168.84.122 метрика 2 [...] по умолчанию через 10.60.44.1 dev eth0 proto static  [  ! d39] 

Первые две строки расскажут о сетях, подключенных к интерфейсам eth0 и wlan0 : сетевой трафик, направленный на компьютеры в этих сетях, будет напрямую отправлен им через соответствующий интерфейс.

Последняя строка сообщает вам, что такое «маршрут по умолчанию»: if ваш компьютер хочет поговорить с компьютером в сети, к которой он не подключен (например, сервер stackoverflow.com), он будет маршрутизировать трафик через eth0 , реализуя через хост 10.60.44.1 [ ! d9] (называемый «шлюз по умолчанию»).

Итак, чтобы маршрутизировать интернет-трафик wlan0 , вы должны убедиться, что последняя строка в списке маршрутов ip [ ! d11] выводит что-то вроде:

  по умолчанию через ABCD dev wlan0 proto static  

где ABCD - IP-адрес шлюз в беспроводной локальной сети. Если выход не содержит «dev wlan0», вы можете изменить его с помощью команды:

  sudo ip route change to default dev wlan0 через ABCD  

Вы можете найти правильный ABCD для wlan0 двумя способами:

  1. Искать в каталоге / var / lib / dhcp3 / : вы должны найти файлы dhclient -...- wlan0.lease . Откройте последнюю и найдите строку со строкой option router в ней: остальная часть строки сообщает вам IP-адрес ABCD .
  2. Обратитесь к местным администраторам сети. (Возможно, самое лучшее, что нужно сделать).

С помощью этой конфигурации вы должны иметь возможность:

  • просматривать Интернет через wlan0
  • просматривайте свою интрасеть через eth0 , при условии, что она находится в одной сети .

Если ваша интрасеть охватывает несколько сетей, вам нужно будет добавить маршруты для них - и это определенно то, что требует от вас взаимодействия с администраторами локальной сети. : -

)
23
ответ дан 15 August 2018 в 21:53
  • 1
    Просто из любопытства: что, если я хочу связать dns (включить субдомены), а не IP-адреса? – dierre 29 September 2010 в 21:15
  • 2
    @dierre Короче: вы не можете, маршрутизация основана на IP-адресах. Длинная история начинается с сообщения о том, что маршрутизация - это сетевой уровень 3, поэтому он даже не знает о DNS-именах, разрешение которых происходит дальше в стеке сетевых протоколов ... – Riccardo Murri 29 September 2010 в 23:40
  • 3
    да, я не имел в виду с маршрутизацией. Я имею в виду в целом. Это можно сделать? Связывание DNS с сетевыми интерфейсами? – dierre 30 September 2010 в 00:28
  • 4
    @dierre Что именно вы хотите сделать? Отправка DNS-сервера только по определенному сетевому интерфейсу? Или наличие DNS-клиента (т. Е. Разрешения DNS) использует только выбранный интерфейс? – Riccardo Murri 30 September 2010 в 01:18
  • 5

«ip netns» создает пространственные пространства имен. Затем вы можете создавать виртуальные интерфейсы (ip link add ... veth) и связывать их с пространствами имен.

Пространства имен могут быть настроены, например, на использование разных маршрутов (таким образом, используя разные интерфейсы)

Затем вы можете запускать команды в этом пространстве имен, которые будут использовать созданное пространство имен. «ip netns exec NAME cmd ...»

Источник: http://manpages.ubuntu.com/manpages /saucy/en/man8/ip-netns.8.html

1
ответ дан 25 July 2018 в 21:05

«ip netns» создает сетевые пространства имен. Затем вы можете создавать виртуальные интерфейсы (ip link add ... veth) и связывать их с пространствами имен.

Пространства имен могут быть настроены, например, для использования разных маршрутов (используя, таким образом, различные интерфейсы)

Затем вы можете запускать команды в этом пространстве имен, которые будут использовать созданное пространство имен. «ip netns exec NAME cmd ...»

Источник: http: //manpages.ubuntu. ком / страница руководство / дерзкое / а / man8 / ф-netns.8.html

1
ответ дан 2 August 2018 в 02:47

«ip netns» создает сетевые пространства имен. Затем вы можете создавать виртуальные интерфейсы (ip link add ... veth) и связывать их с пространствами имен.

Пространства имен могут быть настроены, например, для использования разных маршрутов (используя, таким образом, различные интерфейсы)

Затем вы можете запускать команды в этом пространстве имен, которые будут использовать созданное пространство имен. «ip netns exec NAME cmd ...»

Источник: http: //manpages.ubuntu. ком / страница руководство / дерзкое / а / man8 / ф-netns.8.html

1
ответ дан 4 August 2018 в 18:33

«ip netns» создает сетевые пространства имен. Затем вы можете создавать виртуальные интерфейсы (ip link add ... veth) и связывать их с пространствами имен.

Пространства имен могут быть настроены, например, для использования разных маршрутов (используя, таким образом, различные интерфейсы)

Затем вы можете запускать команды в этом пространстве имен, которые будут использовать созданное пространство имен. «ip netns exec NAME cmd ...»

Источник: http: //manpages.ubuntu. ком / страница руководство / дерзкое / а / man8 / ф-netns.8.html

1
ответ дан 6 August 2018 в 02:59

«ip netns» создает сетевые пространства имен. Затем вы можете создавать виртуальные интерфейсы (ip link add ... veth) и связывать их с пространствами имен.

Пространства имен могут быть настроены, например, для использования разных маршрутов (используя, таким образом, различные интерфейсы)

Затем вы можете запускать команды в этом пространстве имен, которые будут использовать созданное пространство имен. «ip netns exec NAME cmd ...»

Источник: http: //manpages.ubuntu. ком / страница руководство / дерзкое / а / man8 / ф-netns.8.html

1
ответ дан 7 August 2018 в 20:40

«ip netns» создает сетевые пространства имен. Затем вы можете создавать виртуальные интерфейсы (ip link add ... veth) и связывать их с пространствами имен.

Пространства имен могут быть настроены, например, для использования разных маршрутов (используя, таким образом, различные интерфейсы)

Затем вы можете запускать команды в этом пространстве имен, которые будут использовать созданное пространство имен. «ip netns exec NAME cmd ...»

Источник: http: //manpages.ubuntu. ком / страница руководство / дерзкое / а / man8 / ф-netns.8.html

1
ответ дан 10 August 2018 в 09:02

«ip netns» создает сетевые пространства имен. Затем вы можете создавать виртуальные интерфейсы (ip link add ... veth) и связывать их с пространствами имен.

Пространства имен могут быть настроены, например, для использования разных маршрутов (используя, таким образом, различные интерфейсы)

Затем вы можете запускать команды в этом пространстве имен, которые будут использовать созданное пространство имен. «ip netns exec NAME cmd ...»

Источник: http: //manpages.ubuntu. ком / страница руководство / дерзкое / а / man8 / ф-netns.8.html

1
ответ дан 15 August 2018 в 21:53

Другие вопросы по тегам:

Похожие вопросы: