1

Итак, вот моя система: у меня есть модем / маршрутизатор 2Wire AT & T, который я использую для беспроводной связи, и маршрутизатор Buffalo, прошитый DD-WRT, который физически подключен к 2Wire и установлен в DMZ. Я настроил все на DD-WRT, чтобы иметь возможность подключаться к нему с помощью ssh, а также так, чтобы он отправлял ssh-запросы через другой порт одному из серверов позади него. Теперь, когда я физически подключен к DD-WRT, все это прекрасно работает, и я бы этого хотел. Я подключаюсь к двум разным портам, используя WAN IP моей сети, и получаю то, на что рассчитываю. Однако, если я подключен с помощью Wi-Fi к 2Wire, те же команды не работают. Я не получаю ошибку, просто тайм-аут. У меня проблемы с пониманием этого, так как DD-WRT установлен в DMZ, и все должно пройти к нему. Чтобы еще больше усложнить проблему, я попытался подключиться к тому же IP-адресу с помощью моего телефона (беспроводная связь отключена, поэтому на самом деле из глобальной сети) и удивительно, это работает! Если я вернусь в локальную сеть, включив Wi-Fi, время соединения ssh истечет. Чтобы сделать это еще более странным, мой WAN IP-адрес всегда реагирует на пинг (то есть во всех вышеупомянутых ситуациях). Что здесь может происходить?

Я знаю, что мне следует сделать, полностью отключить 2wire в качестве маршрутизатора и использовать его строго как модем, а они используют все возможности маршрутизации dd-wrt. Это то, что я, вероятно, в конечном итоге буду делать, но мой вопрос остается, потому что я действительно хочу знать, что здесь происходит.

[Править] Вышесказанное довольно расплывчато, поэтому я попытаюсь дать несколько подсказок. 2wire получил адрес от провайдера, который выглядел примерно как 99.xx.xx.38. Он использовал один и тот же адрес для обозначения одного устройства, помещенного в DMZ, в данном случае это dd-wrt. Для всех других клиентов он использовал DHCP, чтобы автоматически дать адрес в диапазоне 192.168.1.100-254. Для ясности: адрес dd-wrt в локальной сети был идентичен адресу wan модема / маршрутизатора 2wire. DD-WRT был подключен только к одному компьютеру через кабель, и он дал ему статический IP-адрес 192.168.1.100.

Что я забыл упомянуть, так это то, что у меня была почти идентичная установка, где я использовал маршрутизатор Belkin вместо DD-WRT. Я переключился, потому что Белкин не позволил мне посылать магические пакеты на широковещательный адрес. Во всяком случае, с Belkin вместо DD-WRT, вышеупомянутая проблема не существовала. Конфигурация была настолько близка к идентичности, насколько я мог это сделать. Я мог подключиться к адресу 99.xx.xx.38 из любого места, изнутри или снаружи локальной сети, и тайм-ауты не происходили.

1 ответ1

2

Это происходит потому, что маршрутизатор 2wire не настроен для ответа на запросы внешнего IP-адреса, поступающие от одного из его внутренних интерфейсов. У него нет никаких правил для этого случая, поэтому он просто разрывает соединение.

Это красивая проблема. Увидеть:

https://serverfault.com/questions/259514/how-do-i-access-my-wan-ip-internally-according-to-my-existing-iptables-port-forw

http://forums.whirlpool.net.au/archive/1048732

http://www.computing.net/answers/networking/use-wan-and-lan-ips-to-access-server-internal/43067.html

http://doc.pfsense.org/index.php/Why_can%27t_I_access_forwarded_ports_on_my_WAN_IP_from_my_LAN/OPTx_networks%3F

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