Назад | Перейти на главную страницу

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

Моя сеть настроена вот так. 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.

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

Для создания пакетов с адресами 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.

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

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

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

/sbin/route -n

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

/sbin/route del default gw $IP

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

/sbin/route add default gw $IP

Дополнительные сведения см. На странице руководства. Есть и другие способы управления и отображения таблицы маршрутизации.

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