Как получить доступ к IP-адресу из той же подсети, что и WAN IP-адрес, используя DD-WRT?

Как получить доступ к IP-адресу из той же подсети, что и WAN IP-адрес, используя DD-WRT?

У меня есть маршрутизатор с установленным DD-WRT v24-sp2, и у меня возникли проблемы с доступом к другому IP-адресу, который настроен в той же подсети, что и мой публичный IP-адрес. Мой интернет-провайдер требует устанавливать WAN-подключение с помощью DHCP, поэтому и IP, и шлюз назначаются автоматически. IP-адрес, назначенный интерфейсу WAN, также является публичным IP-адресом.

Итак, проиллюстрируем этот пример:

DD-WRT router -> [lan] ip: 192.168.1.1/24
                 [wan] ip: 12.34.56.78/24 (public IP)

Теперь предположим, что мой сосед пользуется тем же интернет-провайдером с той же конфигурацией и, следовательно, подключен к той же публичной 12.34.56.0/24сети (например, с IP-адресом WAN 12.34.56.10) и предоставляет некоторые сервисы на этом публичном IP. Проблема, с которой я сталкиваюсь, заключается в том, что я не могу получить доступ к этому сервису или даже пинговать публичный IP моего соседа ни с моего маршрутизатора DD-WRT, ни с любого устройства, подключенного к этому маршрутизатору.

Я могу получить доступ к этому сервису без каких-либо проблем, используя другое интернет-соединение, поэтому я на 100% уверен, что эта проблема сохраняется только за моим маршрутизатором DD-WRT.

Моя таблица маршрутизации выглядит следующим образом:

root@DD-WRT:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         12.34.56.1      0.0.0.0         UG    0      0        0 vlan2
12.34.56.0      0.0.0.0         255.255.255.0   U     0      0        0 vlan2
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 br0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 br0
192.168.66.0    192.168.66.2    255.255.255.0   UG    0      0        0 tun0
192.168.66.2    0.0.0.0         255.255.255.255 UH    0      0        0 tun0

Есть идеи, как с этим бороться?

решение1

Я тоже не эксперт. Я пишу это, потому что у меня похожая настройка с моим провайдером (WAN как /24подсеть) с похожей таблицей маршрутизации. Разница в том, что это работает. Я даже могу прослушивать пакеты, идущие от или к некоторым из моих "соседей" (хотя не ко всем; думаю, это те, с кем я делю хаб).

tracerouteк моему «соседу» показывает один прыжок, как я и ожидал.

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

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

Что вы можете попробовать самостоятельно

Второй пункт выше не означает, что вам вообще не разрешено общаться с соседом через шлюз.сейчас. Вам может быть разрешено или нет, шлюз может быть настроен любым образом. Суть в том, что с вашей текущей таблицей маршрутизации вы не пытаетесь.

Вторая строка таблицы маршрутизации ( 12.34.56.0 …) сообщает маршрутизатору, что всякий раз, когда ему нужно отправить пакет соседу, он должен отправлять его с IP-адресом соседа.иаппаратный (MAC) адрес в качестве пункта назначения. Аппаратный адрес изначально неизвестен, поэтому маршрутизатор осуществляет широковещательную передачу для него. Это никогда не доходит до соседа, и вы застряли.

Попробуйте временно удалить вторую строку из таблицы маршрутизации:

route del -net 12.34.56.0 netmask 255.255.255.0 dev vlan2

и пусть действует тот, что по умолчанию. Каждый пакет от вас к вашему соседу будет направлен на его или ее IP, но на аппаратный адрес шлюза (аналогично тому, как вы общаетесь с внешним миром). Теперь шлюз должен доставить этот пакет. Он может сделать это, а может и нет.

В моем случае, если я удалю соответствующее правило маршрутизации, я все равно смогу дозвониться до своих «соседей»; tracerouteпоказываетдваhops, средний узел - шлюз моего провайдера. Проблема с ответами: они направляются напрямую на мой аппаратный адрес из-за моего "соседского"неизмененныйтаблица маршрутизации. Это работает для меня, но не будет работать для вас. Так что ваш соседдолженпроделайте тот же трюк сихтаблица маршрутизации и затем этоможетработа.

У меня случайно есть доступ администратора к одному из моих "соседей". Я изменил его таблицу маршрутизации, а также свою. Затем я подтвердил wiresharkпакеты, проходящие через шлюз (используя его аппаратный адрес) в обоих направлениях.

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

Связанный контент