Как пробросить порт на openwrt роутере ?
Роутер openwrt подключен к точке доступа, которую раздает андроид. У андроида подсеть 192.168.43.xx, у роутера 192.168.8.1 родной адрес для подключения по ssh.
Хочу через приложение андроид подключиться к нему по ssh. Вижу, что он там получил 192.168.43.226 ип.
Сделал такой конфиг тут: /etc/config/firewall
config rule option enabled '1' option target 'ACCEPT' option src 'wan' option proto 'tcp' option dest_port '2222' option name 'ssh' config redirect option target 'DNAT' option src 'wan' option dest 'lan' option proto 'tcpudp' option dest_ip '192.168.8.1' option dest_port '22' option name 'ssh2' option src_dport '2222'
С андроид пытаюсь по 2222 порту зайти, но connection refused. Потом подключил к компу, пробую с компа ssh root@192.168.43.226 -p 2222, такой же результат.
Openwrt как открыть порт
Есть роутер с openWRT, уже более суток пытаюсь настроить перенаправление порта, но ничего не получается.
Роутер подключается к интернету по WiFi (wan), к его порту подключен пк с IP 10.1.186.266
1. Попробовал просто добавить перенаправление порта 5901 с WAN в LAN на 5901, результата нет
config redirect
option target ‘DNAT’
option src ‘wan’
option src_dport ‘5901’
option dest_ip ‘10.1.186.226’
option dest_port ‘5901’
option name ‘VNC’
option dest ‘lan’
option proto ‘tcp’
2. попробовал по очереди разрешать forwarding в настройках зон:
config zone
option name ‘wan’
option input ‘ACCEPT’
option output ‘ACCEPT’
option forward ‘ACCEPT’
option masq ‘1’
option mtu_fix ‘1’
option network ‘wwan’
config defaults
option syn_flood ‘1’
option input ‘ACCEPT’
option output ‘ACCEPT’
option forward ‘ACCEPT’
ничего не дало.
3. Пробовал в настройках порту открыть порт:
config rule
option target ‘ACCEPT’
option dest_port ‘5901’
option name ‘5901’
option src_port ‘5901’
option dest_ip ‘10.1.186.226’
option proto ‘all’
option src ‘wan’
option dest ‘lan’
4. разрешить перенаправление
config forwarding
option dest ‘lan’
option src ‘wan’
опять же нет результата
В чем может быть проблема?
Звідки: Донецк
Недавно сталкивался с подобной проблемой, пару дней пыхтел, а в итоге оказалось что просто виндовый файрволл (на тот момент стоял керио) блокировал порт.
Проброс портов в OpenWrt
Мне никогда не нравилось, что в интерфейсе OpenWrt нельзя указать несколько портов при пробросе, можно указать только диапазон. А если мне нужно несколько, объединенных одним сервисом? Например, почта. Если указывать все порты, то получается, что на каждый из них нужно создавать свое правило. В итоге получается такая простыня правил, что ориентироваться в ней становится затруднительно.
По сути, эта заметка — напоминание себе как нужно правильно прокинуть порты во внутреннюю сеть, используя iptables. И, заодно, там же сделаем так, чтобы из локальной сети можно было обращаться к своим серверам по доменному имени.
Идем в раздел Network — Firewall и открываем вкладку Custom rules. Добавляем туда строку такого вида:
iptables -t nat -A zone_wan_prerouting -p tcp -m multiport --dports 25,110,143,465,587,993,995,4190 -j DNAT --to-destination 192.168.1.100
Здесь мы помещает в цепочку zone_wan_prerouting таблицы nat правило, указывающее, что сервисы, обращающиеся из внешней сети на перечисленные порты, должны перенаправляться на сервер с адресом 192.168.1.100. Параметр -р указывает протокол tcp, а параметр -m multiports позволяет указать не один порт, а несколько. Это правило позволит открыть порты для доступна извне, но при обращении к ним из локальной сети придется указывать «прямой» адрес 192.168.1.100. Если вписать свой внешний адрес (IP или DNS), то ничего не выйдет. Чтобы это стало возможным, нужно дописать еще две строки:
iptables -t nat -A zone_lan_prerouting -d 95.170.188.45 -p tcp -m multiport --dports 25,110,143,465,587,993,995,4190 -j DNAT --to-destination 192.168.1.100 iptables -t nat -A zone_lan_postrouting -d 192.168.1.100 -p tcp -m multiport --dports 25,110,143,465,587,993,995,4190 -j MASQUERADE
В первой строке мы говорим, что все обращения к внешнему адресу на указанные порты должны перенаправляться на локальный адрес 192.168.1.100. Во второй строке мы, если так можно выразиться, прячем, что обращаемся из локальной сети.
После нажатия кнопки Save содержимое поля Custom Rules будет сохранено на роутере в файле /etc/firewall.user. Для применения эти необходимо перезапустить файрволл:
/etc/init.d/firewall restart
После этого почта станет доступной из внешней сети и из локальной, причем по доменному имени или внешнему IP-адресу.
Обновление Если оставить последнее правило в таком виде, то исходящий IP-адрес (адрес клиента) будет отображаться как адрес самого роутера в локальной сети: 192.168.1.1. Поэтому следует немного изменить правило, чтобы оно выглядело следующим образом:
iptables -t nat -A zone_lan_postrouting -s 192.168.1.0/24 -d 192.168.1.100 -p tcp -m multiport --dports 25,110,143,465,587,993,995,4190 -j MASQUERADE
В этом случае внешние адреса останутся «настоящими», а все запросы из локальной сети будут отображаться как 192.168.1.1. На мой взгляд, это приемлемо.
OpenWRT доступ из Интернета
Для того чтобы открыть доступ к интерфейсу управления OpenWRT из Интернета, нужно зайти на роутер, выбрать пункт Администрирования (Administration), из меню Сеть (Network) выбрать Фаирволл (Firewall), а в нем пункт Управление траффиком (Traffic Control).
Здесь нужно добавить строчку, выбрав в качестве источника (Source) – интернет (Wan), а в качестве пункта назначения (Destination) – само устройство (Device).
Сохраняем изменение и переходим в пункт Фаирвол – Редирект Траффика (Firewall – Traffic Redirection). Здесь добавляем новое правило, где в качестве зоны (Zone) выбираем Wan, в качестве протокола (Protocol) – TCP, в качестве внешнего порта (External port) – 80, в качестве внутреннего адреса –
локальный IP-адрес роутера, в большинстве случаев это 192.168.1.1, и в качестве внутреннего порта – порт по которому отвечает встроенный вебсервер OpenWRT, в большинстве случаев это порт 80.
Сохраняем все настройки, перезагружаем роутер. Теперь, если войти в интернет скажем через сотовую сеть и ввести в адресной строке внешний, т.е. выданный провайдером, IP-адрес вашего роутера, то вы попадаете на его панель управления.
Обратите внимания, для этого необходимо иметь хотя бы динамический, но свой внешний IP-адрес, а это есть далеко не у всех типов подключений. Если адрес динамический, то имеет смысл воспользоваться клиентом роутеру можно было подключаться, даже не зная его текущий внешний IP. Если же у вас внешнего IP нет, то попробуйте договориться с провайдером выделить вам входящий порт, и соответствующим образом изменить правило переадресации в настройке редиректа траффика. Для подсоединения, вам нужно будет указать в адресной строке этот внешний порт через двоеточие после общего IP адреса провайдера или DNS-имени роутера, полученного от DynDNS.
Leave a Comment
You must be logged in to post a comment.