Назад | Перейти на главную страницу

Как подключить 2 сети без доступа к конфигу роутера?

Пытаюсь подключить 2 устройства в разные подсети.

Device 1:
IP address: 172.20.35.1
netmask: 255.255.0.0
gateway: 172.20.1.1

Device 2:
IP address: 172.20.100.100
netmask: 255.255.255.0
gateway: 172.20.100.1

Маршрутизатор имеет IP-адрес 172.20.1.1.

Когда я отправляю дейтаграмму UDP с устройства 1 на устройство 2, устройство 2 получает ее, но не может ответить, поскольку IP-адрес шлюза (устройство 2) неверен.

Но не должен ли маршрутизатор соединять эти две сети вместе, как показано здесь. http://www.eventhelix.com/realtimemantra/networking/ip_routing.htm#.VMo5Sx3n5Qs? Нужно ли настраивать маршруты вручную?

Также: Что если я изменю конфигурацию сети device 2 как показано ниже?

Device 1:
IP address: 172.20.35.1
netmask: 255.255.0.0
gateway: 172.20.1.1

Device 2:
IP address: 192.168.170.100
netmask: 255.255.255.0
gateway: 192.168.170.1

С этой сетевой конфигурацией, device 2 никогда не получает дейтаграмму UDP. Это почему?

РЕДАКТИРОВАТЬ:

Просто для уточнения. Я вообще-то не новичок. Описанная проблема мне известна, поскольку многие из моих клиентов склонны настраивать свои устройства так, как я описал выше, а затем не могут связаться с ними по TELNET. Мне удалось решить эту проблему, реализовав multicast tunnel позволяя пользователю изменять конфигурацию сети на удаленном устройстве, используя multicast UDP protocol, всякий раз, когда они портят конфигурацию, как показано выше. Во всяком случае, у меня было телефонное собеседование в компании, и менеджер сказал, что трафик между такими устройствами всегда будет возможен, потому что для этого нужны маршрутизаторы. Меня пригласили на личное собеседование, и я знаю, что этот вопрос возникнет снова. Поэтому я разместил этот вопрос здесь, чтобы помочь мне сформулировать лучший ответ.

Я думаю, что на самом деле есть несколько проблем. Первый из них:

без доступа к конфигурации роутера

Все действия, предложенные Майком, требуют изменения конфигурации маршрутизатора.

Вторая проблема заключается в следующем:

Маршрутизатор имеет IP-адрес 172.20.1.1 !!

Перенаправление трафика (то есть маршрутизация) между подсетями A и B возможна тогда и только тогда, когда маршрутизатор имеет IP-интерфейсы в обеих подсетях. IP-интерфейс маршрутизатора - это IP-адрес, поэтому, если у вашего маршрутизатора только один IP-адрес, маршрутизация невозможна.

Вы не разъясняете, что именно вы имеете в виду под словом «маршрутизатор», но, например, ваш средний маршрутизатор DSL работает именно так. Он имеет только один IP-адрес, который используется во внутренней сети, другой IP-адрес он получает через линию DSL от интернет-провайдера. Таким образом, у него будет два IP-адреса, и он сможет маршрутизировать трафик между этими двумя подсетями. Обычно у вас даже нет возможности создавать новые VLAN, чтобы иметь больше подсетей на стороне LAN.

Вот немного любопытства. Вы настроили для своего клиента 1 IP-адрес с подсетью / 16 (маска 255.255.0.0). Диапазон IP-адресов подсети 172.20.0.0/16: 172.20.0.1-172.20.255.255, последний из которых является широковещательным адресом. IP-адрес маршрутизатора обычно самый низкий или самый высокий в подсети, поэтому я ожидаю 172.20.0.1 или 172.20.255.254. Это не правило, это обычное дело.

Если на самом деле подсеть вашего маршрутизатора / 16, вы легко решите свою первую проблему: настройте свое второе устройство с маской подсети 255.255.0.0 и используйте 172.20.1.1 в качестве шлюза по умолчанию. Это поместит его в одну подсеть с устройством 1, и трафик будет течь. Это не маршрутизация, это коммутация L2.

Я отправляю дейтаграмму UDP с устройства 1 на устройство 2, устройство 2 получает ее, но не может ответить, поскольку IP-адрес шлюза (устройство 2) неверен.

Это не обязательно имеет какое-либо отношение к вашему адресу шлюза. UDP - это односторонний протокол. Сам протокол не содержит механизма для отправки ответов или подтверждений. Чтобы ваше устройство 2 отвечало на дейтаграмму UDP, вы должны запустить приложение, которое будет отвечать при получении пакета. Если вы тестируете подключение, используйте команду ping, разработанную для этой цели. ICMP - это протокол TCP, поэтому он двусторонний. Ваше устройство 1 отправит эхо-запрос ICMP (т. Е. Пакет ping) на устройство 2, которое ответит ICMP-ответом.

При такой конфигурации сети устройство 2 никогда не получает дейтаграмму UDP. Это почему?

Здесь мы вернемся к IP-интерфейсам. Как говорит Майк, вам нужен маршрут в эту сеть, поэтому ваш маршрутизатор должен иметь IP-адрес 192.168.170.1/24.

Возвращаясь к заголовку вашего вопроса. Если вы не можете настроить маршрутизатор, единственное, что вы можете сделать, - это настроить подсеть и шлюз устройства 2, как я описал выше, и это будет работать, только если подсеть маршрутизатора / 16. Все остальные представленные решения требуют доступа к конфигурации маршрутизатора.

Пытаюсь подключить 2 устройства в разные подсети.

Устройство 1: IP-адрес: 172.20.35.1 маска сети: 255.255.0.0 шлюз: 172.20.1.1

Устройство 2: IP-адрес: 172.20.100.100 сетевая маска: 255.255.255.0 шлюз: 172.20.100.1

Маршрутизатор имеет IP-адрес 172.20.1.1 !! Когда я отправляю дейтаграмму UDP с устройства 1 на устройство 2, устройство 2 получает ее, но не может ответить, поскольку IP-адрес шлюза (устройство 2) неверен.

Настоящая проблема заключается в перекрытии подсетей в сочетании с отсутствием прокси-сервера arp на интерфейсе маршрутизатора с 172.20.1.1.

Хост 172.20.35.1 считает, что 172.20.1.1 находится в той же подсети, поэтому 172.20.35.1 ARP напрямую для 172.20.1.100. Однако в подсети 172.20.0.0/16 нет ничего для ответа.

Есть несколько вариантов решения проблемы:

  1. (Кратковременный взлом) Включите proxy-arp на 172.20.1.1. Пока 172.20.1.1 имеет маршрут к 172.20.35.0/24, 172.20.1.1 будет отвечать на ARP-запросы для 172.20.1.100 своим собственным MAC-адресом и, при отсутствии других проблем, вы получите двунаправленную связь между этими подсетями.

  2. (Долгосрочный) Реорганизуйте свою сеть без перекрытия подсетей. Для этого требуется переадресация хостов; потенциально много хозяев.

  3. Выполните NAT на 172.20.35.0/24, чтобы он не выглядел как та же подсеть, что и все остальное. Решения NAT может становиться все труднее поддерживать, но это позволяет избежать использования proxy arp.

Также: что, если я изменю сетевую конфигурацию device 2 как показано ниже.

С этой сетевой конфигурацией, device 2 никогда не получает дейтаграмму UDP. Это почему?

Похоже, вам нужен маршрут к 192.168.170.0/24