У меня установлен маршрутизатор с 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)

Теперь давайте предположим, что мой сосед использует того же ISP с той же конфигурацией и, следовательно, подключен к той же общедоступной сети 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 ответ1

0

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

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

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

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

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

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

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

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

route del -net 12.34.56.0 netmask 255.255.255.0 dev vlan2

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

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

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

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

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