У меня есть две физические сетевые карты (eth2 и eth3) с eth2, подключающимся к домашнему маршрутизатору /dhcp-серверу, и eth3, подключенным к другой машине, которой требуется доступ к Интернету.

Я пытаюсь создать мост, чтобы вторая машина на eth3 могла быть подключена к локальной сети. Я пробовал следующее, однако он зависает при попытке получить IP-адрес от маршрутизатора. Аналогично, попытка задать статический маршрут тоже не работает.

$ sudo aptitude install bridge-utils
$ sudo ifconfig eth2 down
$ sudo ifconfig eth3 down
$ sudo brctl addbr br0
$ sudo brctl addif br0 eth2 eth3
$ sudo dhclient br0 # this hangs and fails to get a dhcp address

Я пытался убедиться, что моя таблица маршрутизации имитирует то, как она выглядит при обычном использовании eth2, я вообще не могу попасть в шлюз.

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0      0.0.0.0         255.255.255.0   U     2      0        0 br0
0.0.0.0         192.168.0.1      0.0.0.0         UG    0      0        0 br0

Я попытался выполнить «arping» на MAC-адрес маршрутизатора, пока у меня был мост eth2/3, но он также не смог получить свой IP-адрес.

Одна интересная вещь, которую я заметил, состояла в том, что, пытаясь сломать мост и активировать мой интернет на eth2, у меня были проблемы с пингом шлюза. Оказалось, что ipmasq был установлен и работал, вызывая странные проблемы. Когда я остановил службу ipmasq, мой интернет снова начал нормально работать. Я полностью удалил пакет 'ipmasq' и снова попытался соединить сетевые карты, думая, что это может вызывать проблемы, но все равно не удалось.

Любые предложения относительно того, как решить эту проблему? Любой надежный способ заставить это работать?

1 ответ1

1

После настройки интерфейсов моста вызовите интерфейс моста и его членов:

for i in br0 eth2 eth3; do
 sudo ifconfig $i up # or sudo ip link set dev $i up
done

После этого, в зависимости от настроек STP для моста, может пройти меньше или больше секунд, пока мост фактически не перейдет в режим пересылки. Если вам не нужно связующее дерево, выполните следующие команды после добавления интерфейсов-членов, чтобы оно быстрее входило в состояние пересылки:

sudo brctl stp br0 off  # disable spanning tree protocol
sudo brctl setfd br0 0 # configure forwarding delay to 0

Дайте нам знать, если это работает.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .