Как перенаправить трафик через нестандартный интерфейс?

281
Mikhail T.

У меня довольно домашняя локальная сеть с маршрутизатором, предоставленным интернет-провайдером и обеспечивающим DHCP. Маршрутизатор использует многие из его настроек по умолчанию без изменений. Домашняя сеть - 192.168.1.0/24, а сам маршрутизатор внутренне известен как 192.168.1.1.

Мне нужно настроить несколько похожих маршрутизаторов, чтобы изменить их настройки по умолчанию. Один из моих компьютеров (на котором работает FreeBSD) имеет запасной интерфейс Ethernet ( bce0), и я подключил к нему один из этих дополнительных маршрутизаторов. Как и ожидалось, этот маршрутизатор также использует 192.168.1.1. Теперь машина имеет два «настроенных» интерфейса:

  • bce1 - 192.168.1.8, который подключен к «реальному» маршрутизатору, подключив его к Интернету и остальной домашней сети
  • bce0 - 192.168.1.5, который подключен ко второму маршрутизатору, который мне нужно изменить, чтобы использовать другие настройки сети

Как я могу подключиться ко второму маршрутизатору, не нарушая соединение аппарата с локальной сетью и Интернетом? Просто попытка достичь 192.168.1.1 проходит bce1и достигает моего обычного маршрутизатора ...

Может ли ipfw(8)как-то заставить определенные пакеты выходить из использования bce0вместо bce1? Желательно, без использования «fib», потому что добавление одного требует перезагрузки ...

4
Две идентичные подсети на разных интерфейсах, оба получающие адреса через DHCP, будут проблемой независимо от того, что вы делаете. Настройте один из ваших маршрутизаторов для другой подсети, например, 192.168.2.0/24. Все маршрутизаторы, которые я видел, могут быть настроены таким образом. dirkt 7 лет назад 1
Конечно, это будет боль. Но это настройка по умолчанию для этих маршрутизаторов после сброса ... И я не хочу перенастраивать всю мою домашнюю локальную сеть для этой единственной задачи. Если нет способа сделать это, я выберу один компьютер, отключу его от локальной сети (и интернета) и поработаю с этим. Но я надеялся избежать этого ... Mikhail T. 7 лет назад 0

1 ответ на вопрос

-2
grin

У вас не может быть двух хостов с одним и тем же IP-адресом, если вы хотите использовать обычную маршрутизацию, так как маршрутизация является решением на основе адреса назначения. Пакет не может идти двумя путями одновременно.


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

Например, вы можете создать поддельный IP-адрес для настраиваемого устройства (192.168.1.99) и установить запись ARP вручную (на bce0), используя MAC-адрес устройства, и надеяться, что он не будет фильтроваться на dst IP. если пакет адресован ему layer2. В этом случае ваше устройство для настройки может быть доступно по поддельному адресу (192.168.1.99), если вы создадите для него маршрут к bce0.

Или вы можете попытаться сделать то же самое с вашей восходящей линией связи: создать новую сеть (192.168.2.0/24), дать себе адрес в ней (192.168.2.2), создать поддельную запись ARP IP (192.168.2.1) с MAC вашей восходящей линии связи (на bce1) и используйте его в качестве шлюза по умолчанию. Вам также может понадобиться прокси-ARP для 192.168.1.xx (ваш ip на bce1), ваша система может быть достаточно запутана в тот момент, что она не будет автоматически обрабатывать ваш исходный IP (или ваш rp-фильтр может действовать на это ).

Эта теория основана на Linux, но должна применяться на любых сетевых устройствах, включая * BSD.

Поэтому я специально отозвал свои комментарии. Мой голос не имеет ничего общего с вами на личном уровне, я чувствую, что этот ответ можно улучшить, и это единственная причина, по которой я проголосовал. Это не имеет ничего общего с «попыткой убедить вас НЕ отвечать на вопросы», вы должны отвечать на столько вопросов, сколько хотите, но повышать качество этого ответа в ходе этого процесса. Ramhound 7 лет назад 0