1

У меня есть сценарий, в котором один компьютер должен быть членом двух подсетей в одной физической сети - 192.168.2.0/24 и 192.168.3.0/24. Я добился этого, используя ifconfig eth0:1 192.168.3.123/24 up т.д. Проблема возникает, когда я пытаюсь запустить сеанс telnet с другим хостом, который также является членом этих двух подсетей. Этот хост доступен через telnet на обоих IP адресах, но когда я пытаюсь подключиться к нему, telnet зависает. Эта проблема исчезает, когда я удаляю один из двух интерфейсов. Я думаю, что также стоит упомянуть, что в Windows нет проблем с такой же множественной настройкой IP . Поскольку хост, к которому я пытаюсь подключиться, не может быть настроен или изменен, возможно ли решить эту проблему, скажем, ограничив трафик 192.168.3.0 только eth0:1 или, возможно, имея другой MAC адрес на этом псевдоинтерфейсе?

2 ответа2

0

Для меня это звучит как проблема с исходным IP-адресом. Я думаю, что есть несколько способов исправить это. Возможно, самым простым было бы отключить фильтрацию обратного пути.

Альтернативным вариантом может быть перезапись пакетов, чтобы гарантировать, что выходной адрес всегда соответствует подсети с парой правил snat - возможно, что-то вроде

iptables -t nat -A POSTROUTING -s 192.168.2.x -o 192.168.3.123 --sport 25
-j SNAT --to 192.168.3.x
0

Если ваш псевдоним адрес используется только для telnetting на этот сервер, то есть очень простое решение: попросите telnet привязаться к конкретному адресу, который вы хотите использовать, как в:

  telnet -b 192.168.3.123   192.168.3.201
  telnet -b 192.168.2.123   192.168.2.201

предполагая, что ваш компьютер имеет адреса 192.168.3.123/192.168.2.123, а удаленный сервер имеет IP-адреса 192.168.3.201/192.168.2.201. Обратите внимание, что адреса источника и назначения должны принадлежать к одной подсети, поскольку вы не указали наличие сетевого шлюза.

Если вместо этого вы используете альтернативный адрес более общего характера (например, если вы получаете вызовы telnet , и в этом случае вы не можете указать опцию -b как описано выше), вам нужно будет узнать о маршрутизации политики. Но я думаю, мы пересечем этот мост, когда доберемся туда.

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