http://www.lartc.org/howto/lartc.rpdb.multiple-links.html
Назначение сетевых интерфейсов
Имеем сетевые интерфейсы в количестве 3шт.
При установке интерфейсы отображаются как eth0, eth1 и eth2 (ip addr). Основным интерфейсом, очевидно, является eth0, каким образом ОС сопоставит физическим интерфейсам логические имена предсказать мы не можем. Поэтому на этапе установки по сети методом научного тыка выясняем, какой сетевой карте ОС назначила имя eth0. После установки, к примеру, мы захотели сделать, чтобы eth0 - была верхней сетевой картой.
Итак, система установлена, переназначим eth0 для самой верхней сетевой карты. Данная карта будет смотреть на LAN(делаем это из соображений получения практического опыта и из чувства прекрасного: сверху линк встроенной сетевухи, 2 внешних сетевухи - внизу)
Открываем файл с сетевыми интерфейсами /etc/network/interfaces
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp
опишем 2 сетевых интерфейса в этом файле:
allow-hotplug eth1
iface eth1 inet dhcp
allow-hotplug eth2
iface eth2 inet dhcp
Выключаем наш сетевой интерфейс eth0:
#ifdown eth0
Втыкаем сетевой кабель в верхнюю сетевую карту, пытаемся включить линк при помощи команды ifup
#ifup eth1 - fail
#ifup eth2 - ура, линк включился
Таким образом, мы выяснили, что нам нужно eth2 "поменять местами" с eth0
Открываем файлик
/etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.
# PCI device 0x10ec:0x8139 (8139too)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:80:48:4d:b5:8e", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
# PCI device 0x10ec:0x8139 (8139too)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:f2:e6:ce:eb", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x10ec:0x8139 (8139too)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:80:48:27:29:4d", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"
редактируем соответствующие ключи NAME
После редактирования перезагружаем систему #reboot
После перезагрузки проверяем, что все наши сетевые интерфейсы имеют соответствующие имена в соответствии с нашим замыслом.
#ip addr - смотрим, какие интерфейсы имеют статус UP,
при помощи команд #ifdown ethXXX и #ifup ethXXX последовательно включаем и выключаем сетевые карты таким образом, чтобы включенным оставался лишь один проверяемый интерфейс, соединяя сетевой кабель с проверяемым интерфейсом.
Зададим статические адреса для 3х наших сетевых карт:
#WAN1
auto eth1
iface eth1 inet static
address 192.168.0.101
netmask 255.255.255.0
broadcast 192.168.0.255
network 192.168.0.0
gateway 192.168.0.1
#WAN2
auto eth2
iface eth2 inet static
address 192.168.0.102
netmask 255.255.255.0
broadcast 192.168.0.255
network 192.168.0.0
#LAN
auto eth0
iface eth0 inet static
address 192.168.77.1
netmask 255.255.255.0
broadcast 192.168.77.255
network 192.168.77.0
Для интерфейсов eth1 и eth2 broadcast и network можно не задавать.
Перезагрузим машину и убедимся, что все 3 интерфейса пингуются при подключенном eth1.
Пересылка пакетов между интерфейсами
Важно!!
Включаем форвардинг IP-пакетов, чтобы разрешить пересылку пакетов между интерфейсами:
в файле /etc/sysctl.conf нужно раскомментировать(вписать, если ее почему-то нет) строчку:
net.ipv4.ip_forward=1
далее выполняем команду:
/etc/init.d/networking restart