Ситуация. Есть аккаунт в сервисе dyndns.com. Есть домашний роутер, который в нем регистрируется и сообщает миру как его найти в сети. В роутере осуществлен проброс портов на всякие домашние железяки. Предположим, что некая железка находится по адресу http://myhome.dyndns.org:12345 . Если я нахожусь за пределами домашней сети, то достичь железяку удается, все работает. Но если я нахожусь в домашней сети - ничего путного по этому адресу не получается. Ну и шут бы с ним. Но, оказывается, это зависит от прошивки роутера. С одной прошивкой можно войти, с другой - нет. Предполагаю, что у роутера на этот счет есть какие-то установки по умолчанию, которые в одной прошивке настроены так, а в другой - наоборот. Вопрос - кто-то может просветить на эту тему?
1. А если просто ро IP из внутренней сети подключиться? 2. Посмотреть модель роутера и есть ли к ней DD-WRT прошивки если есть брать и шить http://www.dd-wrt.com/site/index
1. По внутреннему IP тоже все подключается. В чем практическая суть задачи. Я управляю некоторым прибором как из домашней сети так и из интернета. И для решения этой задачи придется иметь два управляющих окна, например. Можно, конечно, перетерпеть. Но не удобно. 2. Есть прошивка под него. Баловался я когда-то этим. Но. А кто сказал что там не надо знать в чем причина и по умолчанию там не будет того-же? То есть важнее понимать в чем дело, а не менять прошивки. DD-WRT хотя и достаточно стабильна, но и ее пилить и пилить. А родная прошивка в моем случае работает сперстабильно и не хочется экспериментов.
Это вы откуда решили перешивали свой? Или на чужом увидели(да и модель бы роутера так для разнообразия узнать бы)
Проблема очень простая. В linux есть iptables и nat, и вот они не настроены корректно для работы с внешним IP адресом на внутреннем интерфейсе. Обычно за это отвечает arp_filter, настройка ярда в sysctl, который если включен, то интерфейс не принимает пакеты на IP адрес другого интерфейса.
Этот же роутер у меня не первый. Были и другие. Вот я и тренировался на них. Другое дело что раньше этот вопрос не был актуален. Роутер у меня сейчас RT-AC66U. Под него прошивка DD-WRT есть. Но мучить этой прошивкой не буду - все родные прошивки работают очень хорошо, роутер не виснет. Проблема возникла после обновления очередной заводской прошивки.
Ну я и предполагал, что для человека в теме вопрос несложный. Но что теперь делать? Полагаю, надо сбросить роутер к "заводскому состоянию". Это несложно. Вся ценность у меня - это проброс портов да статические адреса. Придется делать скриншоты да забивать все вручную.
А вот я не уверен что заводское состояние поможет. Ведь это довольно низкоуровневая настройка линукса, и обычно такие вещи не доступны для настройки через web-интерфейс. Так что вам лучше уточнить в службе техподдержки, как изменить этот параметр. Иначе придётся всё же патчить прошивку.
Если у вас DD-WRT уже сейчас стоит, и она устраивает, то настроить будет проще самостоятельно, зайти по ssh и выполнить "sysctl -a | grep arp_filter", чтобы посмотреть какая сейчас настройка стоит. И поменять в случае, если там 1. Но насколько я понял вы не стали ставить DD-WRT. Тогда можно попробовать включить telnet/ssh доступ, если таковой имеется в заводской прошивке, и посмотреть тоже самое попробовать.
Мне кажется надо внутренний IP роутера привязать к myhome.dyndns.org. А то получается из внутренней сетки мы лезем с начало в интернет по этому адресу, а нас потом перенаправляют назад по привязке. И на обратном пути все и сбоит. PS Не лучше ли посмотреть в сторону VPN.
Так, конечно, и сделано, иначе как его из интернета найдешь. Вообще с этим роутером история длинная. Был и VPN в образе OpenVPN, который тоже куда-то делся. Может кто посоветует что почитать на всю эту тему компактного и по делу?
Для информации, может кому полезно. Роутер ASUS RT-AC66U с заводской прошивкой 3.0.0.4.376_3602 стабильно устанавливает OpenVPN канал с другим таким же роутером и обеспечивает взаимную видимость машин каждой сети.