Мост - это очень полезная штука, которая позволяет прозрачно для всех протоколов соединить две сетевые карты. Далее описывается процедура настройки, которая была опробована на ASPLinux 10 и RedHat 4 Enterprise Linux (2.6.9-42.EL).
Мост можно использовать удлинения кабеля Ethernet (как известно, длина одного сегмента Ethernet не может превышать 100 м, а с мостом можно увеличить размер сегмента до 200 м), для анализа проходящего трафика (с помощью tcpdump).
Установка
# rpm -i bridge-utils-1.0.4-4.i386.rpm
После установки этого пакета станет доступна утилита brctl, реализующая функционал мостов.
Далее конфигурируется и запускается мост (сработает, если работаем через локальную консоль, или подключаемся не через интерфейсы, которые входят в мост, иначе после добавления интерфейса, через которого подключена сессия консоли, мы потеряем управление компьютером):
# brctl addbr mybridge // добавляем мост mybridge
# brctl addif mybridge eth0 // добавляем к мосту mybridge интерфейс eth0
# brctl addif mybridge eth1 // ... eth1
# ifconfig eth0 0.0.0.0 // убираем IP с интерфейса eth0
# ifconfig eth1 0.0.0.0 // ... eth1
# ifconfig mybridge up // запускаем мост
# ifconfig mybridge aa.bb.11.111 netmask 255.0.0.0 up // назначаем IP на мост
Далее необходимо заново прописать нужные маршруты командой route, так как после настройки моста маршруты сбросятся. Кроме того, нужно иметь в виду, что после перезагрузки мост потеряется.
Если управляющая консоль подключена через сетевые интерфейсы, которые будут входить в мост, то единственная возможность настроить мост - подготовить скрипт и выполнить его:
#!/bin/sh
log=/root/scripts/log.txt
brctl addbr mybridge >> $log
brctl addif mybridge eth1 >> $log
brctl addif mybridge eth0 >> $log
ifconfig eth1 0.0.0.0 >> $log
ifconfig eth0 0.0.0.0 >> $log
ifconfig mybridge up >> $log
ifconfig mybridge aa.bb.11.111 netmask 255.0.0.0 up >> $log
Аналогичный скрипт можно настроить в автостарт при перезагрузке компьютера, если Вы хотите, чтобы мост настраивался автоматически.
Тестирование моста
# brctl show
Полезные ссылки
1. http://linux-net.osdl.org/index.php/Bridge#Bridging_and_Firewalling.
2. http://www.faqs.org/docs/Linux-HOWTO/BRIDGE-STP-HOWTO.html. |