Как установить предпочтительный сетевой интерфейс в Linux


19

Моя сеть настроена так. http://docs.google.com/Doc?docid=0AZ1YxuLE4djaZGhqN2s1NmRfMjhjNjc0Ym1meg&hl=en

существующая сетевая архитектура

На словах: у меня есть машина (Calcium, работающая с Arch Linux), которая имеет два сетевых интерфейса. eth0 подключен к роутеру и является гигабитным. Eth1 подключен непосредственно к университетской сети через 10 мегабит. Восходящий канал маршрутизатора также подключен к университетской сети, и он также составляет 10 Мегабит.

В настоящее время (я полагаю) весь трафик на Calcium проходит через eth0 через маршрутизатор, независимо от того, является ли он внутренним или внешним. (Как я могу это подтвердить?)

В идеале трафик, предназначенный для внутренней сети (192.168.10.0/24), будет передаваться через eth0 к маршрутизатору и куда бы он ни шел. ВСЕ другой трафик должен идти по eth1.


Добавлены теги: tcpip routing route
Warner

Ваш документ Google здесь мало поможет, если вы не предоставляете людям разрешения на доступ к нему.
Зоредаче

Сожалею. Я думал, что обнародовал это, но документы Google, похоже, не помнили мои настройки. Это должно быть доступно сейчас.
Майк Купер

Ответы:


13

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

Если вам нужна дополнительная помощь, предоставьте таблицу маршрутизации.

Чтобы отобразить таблицу маршрутизации:

/sbin/route -n

Чтобы удалить gw по умолчанию:

/sbin/route del default gw $IP

Чтобы добавить gw по умолчанию:

/sbin/route add default gw $IP

Для получения дополнительной информации, проверьте справочную страницу. Есть и другие способы манипулирования и отображения таблицы маршрутизации.

netstat -rотображать и ipманипулировать дальше.


29

Вот полный ответ, если он помогает другим:

Для создания пакетов с пунктами назначения 192.168.10. * Используйте eth0, а все остальные пакеты используйте eth1:

1) Просмотр вашей текущей таблицы маршрутизации

ip route list

Одна запись будет что-то вроде «по умолчанию через 192.168.1.1», где 192.168.1.1 - это IP-адрес вашего маршрутизатора (он же шлюз). Запомните шлюзы для eth0 и eth1, так как они понадобятся нам позже.

2) Удалить маршрут по умолчанию. (Предупреждение: это выкинет вас в автономном режиме.)

ip route del default

3) Добавьте новый маршрут по умолчанию (это вернет вас в онлайн). Замените 192.168.1.1, ниже, вашим IP-адресом шлюза сверху.

ip route add default via 192.168.1.1 dev eth1

4) Добавьте определенный маршрут, который будет обслуживаться eth0. Более конкретные маршруты автоматически имеют приоритет над менее конкретными.

ip route add 192.168.10.0/24 via 192.168.1.1 dev eth0

Наконец, вы можете спросить Linux, какой интерфейс будет использоваться для отправки пакета на определенный IP-адрес:

ip route get 8.8.8.8

Если конфигурация сработала, пакеты 8.8.8.8 (сервер Google) будут использовать eth1. Пакеты на любой ip в вашей локальной сети:

ip route get 192.168.10.7

будет использовать eth0.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.