Настройка шлюза под Linux (разделения сетей не требуется все работает
на канальном уровне (с MAC-адресами ))
Начальные условия:
1) компьютер с двумя сетевыми картами
2) утилита bridge-utils
C командной строки вводим следующие строки:
brctl addbr br0 #добавить(создать) новый мост
brctl addif br0 eth0 #подключить к нему сетевые интерфейсы
#(eth0 и eth1)
#при этом интерфейсы, в данный момент,
#не должны иметь IP адресов
#(команда "ip addr delete 192.168.2.1 dev eth0")
brctl addif br0 eth1
ip addr add 192.168.168.8/24 dev br0 #назначить мосту IP адрес
brctl stp br0 off #отключить режим STP
#цитата из man
#brctl stp <bridge> <state>
#controls this bridge instance's participation in the spanning tree
#protocol. If <state> is "on" or "yes" the STP will be turned on,
#otherwise it will be turned off. When turned off, the bridge will not
#send or receive BPDUs, and will thus not participate in the spanning
#tree protocol. If your bridge isn't the only bridge on the LAN, or if
#there are loops in the LAN's topology, DO NOT turn this option off. If
#you turn this option off, please know what you are doing.)
ip link set br0 up #запускаем интерфейсы
ip link set eth0 up
ip link set eth1 up
-------------------------------------------------------------------------------
Вспомогательные команды с различной информацией
ip addr #инф. о сетевых интерфейсах
ip link #инф. о сетевых интерфейсах
brctl show #инф. о бридже
brctl showmacs br0 #таблица MAC-адресов
arp -a #ARP-таблица
ip route add default via 192.168.1.1 #gateway по умолчанию
#(должен быть если есть
#потребность выходить в "Inet")
Все это должно запускаться при каждом запуске системы (надо прописать в
автозагрузку (например в конец скрипта /etc/init.d/rc.init))