привязывать программное обеспечение к различным сетевым интерфейсам

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

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

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

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

42
задан 29 September 2010 в 10:16

2 ответа

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

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

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

$ 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: сетевой трафик, направленный на компьютеры. в этих сетях будут напрямую направлены им через соответствующий интерфейс.

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

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

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 двумя способами:

  1. Посмотрите в каталог /var/lib/dhcp3/: вы должны найти некоторые dhclient-...-wlan0.lease files. Откройте последний и ищите строку со строкой опции маршрутизатор в ней: остальное в строке указывается IP-адрес A.B.C.D.

  2. Спросите у администраторов вашей локальной сети. (Наверное, лучше всего делать, так или иначе.)

С этой конфигурацией вы должны быть в состоянии:

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

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

25
ответ дан 29 September 2010 в 10:16

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

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

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

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

3
ответ дан 29 September 2010 в 10:16

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

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