Как открыть порты на Openwrt (web, rdp, torrentstream)?
Всем привет.
Коллеги, подскажите как открыть порты на openwrt для RDP, TorrentStream и Webserver? Что имею:
1.Роутер Asus RT-N13-U B1 c OpenWrt BarrierBreaker 14.07
2.Провайдер Билайн с динамическим внешним ip.
3.На роутере настроен dydns (no-ip.com), пинг по зарегистрированному хосту выдает мой внешний динамический ip.
4.Поднят upnp (порт 5000) Что хочу:
1.Доступ к одному из компов в домашней сети по RDP
2.Просмотр TorrentTV в XBMC
3.Доступ к роутеру из инета
Прописал в /etc/config/firewall как мне казалось правильные правила, с пернаправлением портов 80 и 3389, и открытием 80, 3389 и 8621, но ничего не работает. Конфиг ниже. Помогите, пожалуйста разобраться.
config forwarding
option src 'lan'
option dest 'wan'
config rule
option name 'Allow-DHCP-Renew'
option src 'wan'
option proto 'udp'
option dest_port '68'
option target 'ACCEPT'
option family 'ipv4'
config rule
option name 'Allow-Ping'
option src 'wan'
option proto 'icmp'
option icmp_type 'echo-request'
option family 'ipv4'
option target 'ACCEPT'
config rule
option name 'Allow-DHCPv6'
option src 'wan'
option proto 'udp'
option src_ip 'fe80::/10'
option src_port '547'
option dest_ip 'fe80::/10'
option dest_port '546'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-ICMPv6-Input'
option src 'wan'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
list icmp_type 'router-solicitation'
list icmp_type 'neighbour-solicitation'
list icmp_type 'router-advertisement'
list icmp_type 'neighbour-advertisement'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-ICMPv6-Forward'
option src 'wan'
option dest '*'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'
config include
option path '/etc/firewall.user'
config redirect
option target 'DNAT'
option src 'wan'
option dest 'lan'
option proto 'tcp'
option src_dport '80'
option dest_ip '192.168.1.1'
option dest_port '80'
option name 'Router_From_Inet'
config include 'miniupnpd'
option type 'script'
option path '/usr/share/miniupnpd/firewall.include'
option family 'any'
option reload '1'
config rule
option target 'ACCEPT'
option src 'wan'
option proto 'tcp udp'
option dest_port '8621'
option name 'TorrentSteam'
option dest 'lan'
config rule
option target 'ACCEPT'
option src 'wan'
option proto 'tcp'
option dest_port '80'
option name 'RouterInet'
config rule
option enabled '1'
option target 'ACCEPT'
option src 'wan'
option proto 'tcp udp'
option dest_port '3389'
option name 'RDP'
option dest_ip '192.168.1.224'
option dest 'lan'
config redirect
option target 'DNAT'
option src 'wan'
option dest 'lan'
option proto 'tcp'
option src_dport '3389'
option dest_ip '192.168.1.224'
option dest_port '3389'
option name 'RDP'
Попробуйте использовать интерфейс пользователя LuCI для наглядной настройки iptables.
Еще можно посмотреть цепочки правил iptables после применения конфига, чтобы понять какие правила применяются и сколько пакетов по какому правилу заблокировано (iptables -vnL и iptables -t nat -vnL).
Еще можно попробовать вручную команднуть что то типа:
iptables -t nat -I PREROUTING -p tcp -m tcp --dport 8080 -i pppoe-wan -j DNAT --to 10.0.0.33:8080
iptables -I FORWARD -m tcp -p tcp -d 10.0.0.33 --dport 8080 -j ACCEPT
для перенаправления, и для открытия:
iptables -I INPUT -i pppoe-wan -p tcp -m tcp --dport 25 -j ACCEPT
Не забудьте заменить IP, порты и имена интерфейсов. Так же, для отладки, можно заставить iptables писать в лог о блокируемых пакетах.
Удалось пробиться к роутеру из инета, открыл все такими командами:
iptables -t nat -A PREROUTING -p tcp -i l2tp-BeeLine --dport 8081 -j DNAT --to-destination 192.168.1.1:80
iptables -I FORWARD -i l2tp-BeeLine -d 192.168.1.1 -p tcp -m tcp --dport 80 -j ACCEPT
Проблема заключалась в операторе, просканировав порты и увидев, что большинство из них в статусе stealth, нагуглил, что это блокировка оператором, после чего зашел в личный кабинет Билайн и нашел опцию подключенного файерволла, перевел его в статус отключенного и после этого все заработало.
Однако ping.eu/port-chk пишет, что 3389 закрыт и 8621 тоже, при конечном конфиге:
RDP может быть закрыт потому что блокирует брандмауэр Windows, когда видит внешние IP в обращение, его можно попробовать отключить для пробы, потом создать соответствующие правило.
TorrentTV - не знаю что это, если это работает на openwrt попробуйте заглянуть в конфиги этого сервиса и посмотреть какой интерфейс он слушает, если br0(lan) например, то это не ok, надо чтобы все интерфейсы слушал.
@FessAectan: правильно я понимаю, что все правила созданные ранее мною через luci надо убрать?
И еще, последовательность команд идет обычно:
PREROUTING
FORWARD
ACCEPT
так?
Вывод без добавления вашей команды:
root@OpenWrt:~# iptables -vnL -t nat
Chain PREROUTING (policy ACCEPT 10 packets, 933 bytes)
pkts bytes target prot opt in out source destination
858K 964M delegate_prerouting all -- * * 0.0.0.0/0 0.0.0.0/0
Chain INPUT (policy ACCEPT 2 packets, 104 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
38714 2545K delegate_postrouting all -- * * 0.0.0.0/0 0.0.0.0/0
Да, только в цепочке INPUT не нужно открывать для проброса этот порт.
Пакеты идущие к локальным процессам роутера попадают в эту цепочку, а нас интересует транзит, т.е. FORWARD.
Проверить можете здесь - ping.eu/port-chk
@FessAectan:
1. Попробовал - тоже ничего
2. Слушает
TCP 0.0.0.0:3389 beast:0 LISTENING
Завтра на работе попробую роутер прошить заново, а то он уже после экспериментов даже не перезагружается что-то.
Завтра через скайп сможем опробовать укротить мою упрямую openwrt?
Удалось пробиться к роутеру из инета, открыл все такими командами:
iptables -t nat -A PREROUTING -p tcp -i l2tp-BeeLine --dport 8081 -j DNAT --to-destination 192.168.1.1:80
iptables -I FORWARD -i l2tp-BeeLine -d 192.168.1.1 -p tcp -m tcp --dport 80 -j ACCEPT
Проблема заключалась в операторе, просканировав порты и увидев, что большинство из них в статусе stealth, нагуглил, что это блокировка оператором, после чего зашел в личный кабинет Билайн и нашел опцию подключенного файерволла, перевел его в статус отключенного и после этого все заработало.
Однако ping.eu/port-chk пишет, что 3389 закрыт и 8621 тоже, при конечном конфиге: