ПК с двумя интерфейсами и одним IP-адресом

Я хотел бы настроить машину с 2 сетевыми интерфейсами в следующей настройке:

LAN1 <---> ПК <---> LAN2

Сложность заключается в том, что ПК должен быть доступен как из LAN1, так и из LAN2 с одним и тем же IP-адресом, а LAN1 и LAN2 не должны быть подключены , а не . Пока что я пробовал:

1) Настроить мост на двух интерфейсах; однако мосты обычно предназначены для пересылки трафика, и я не хочу такого поведения.

2) Настройка интерфейса связывания с режимом 3. Это работает, но отправляет любой ответ с ПК на оба интерфейса.

Ребята, вы знаете какие-нибудь альтернативы?

Спасибо,

Сандер

0
задан 10 June 2016 в 12:59
2 ответа

Я сам нашел здесь отличное рабочее решение и поделился им с людьми с похожими проблемами.

В конце концов, мне был нужен мост; и вы можете довольно легко управлять поведением с помощью ebtables. Чтобы убедиться, что мост не пересылает пакеты, все, что мне нужно было сделать, это изменить политику ebtables «forward» на «drop». Это делает так, что пакеты, поступающие на eth0, никогда не отправляются на eth1, в то время как у вас все еще есть приятные функции моста (1 IP-адрес доступен с обеих сторон) на вашем устройстве.

Теперь ПК прослушивает один и тот же IP-адрес на обоих интерфейсах и выбирает, на каком интерфейсе он отправляет пакеты, на основе разрешений ARP.

Код:

ebtables -P FORWARD DROP
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
0
ответ дан 4 December 2019 в 16:35

Я думаю, вы имеете в виду следующее:

  • eth0 подключен к одной сети, которая имеет 192.168.0.0/24
  • eth1, подключенную к другой сети, которая также имеет 192.168.0.0. 0.0 / 24
  • Сеть на одной стороне является другим широковещательным доменом по сравнению с сетью на другой стороне
  • Ваш ПК должен иметь одинаковый IP-адрес (например: 192.168.0.1/24) в обеих сетях

Is правильно?

Это неправильный способ настройки сети. Система может иметь только один интерфейс для связи с данной подсетью.

Допустим, ваша система (192.168.0.1) хочет связаться с другой системой (192.168.0.2). Какой интерфейс использовать? Нет возможности сказать. Если этот IP-адрес назначения существует в обеих подсетях, с какой системой назначения следует связаться? Невозможно сказать.

Вам нужно будет пронумеровать каждый интерфейс по-разному, например:

  • eth0 - 192.168.0.1/24[1275 sizeseth1 - 192.168.1.1/24

Затем выполните SNAT и DNAT на интерфейсе eth1 , чтобы ваша система думала , что обращается к другой сети, но iptables фактически переписывает пакеты с другим IP-адресом источника / назначения на вход / выход.

1
ответ дан 4 December 2019 в 16:35

Теги

Похожие вопросы