OpenWRT: как открыть доступ к веб-интерфейсу из интернета

Раздел: Железяки
Написано: 21.11.2012
Автор: Antonio

Поставил на свой Wi-Fi роутер TP-Link TL-WR842ND прошивку OpenWRT ради гибкости и возможностей — и скажу вам, это действительно так.

Столкнулся с вопросом: как открыть доступ к веб-интерфейсу OpenWRT со стороны WAN-порта, то есть из интернета. По умолчанию LuCI доступен только из внутренней сети (LAN или Wi-Fi).

Важно: веб-интерфейс роутера, открытый всему интернету, — лакомая цель для ботов. Безопаснее заходить через VPN (WireGuard) или SSH-туннель. Если всё же открываете — ограничьте доступ своим IP (ниже покажу как) и поставьте сложный пароль.

OpenWRT 22.03 и новее (firewall4)

  1. Network → Firewall → Traffic Rules → Add.
  2. Name: например, Allow-LuCI-WAN; Protocol: TCP; Source zone: wan; Destination zone: Device (input); Destination port: 80 (или 443, если включён HTTPS); Action: accept.
  3. На вкладке Advanced Settings в поле Source IP address укажите свой внешний IP или подсеть.
  4. Save & Apply.

Или то же самое в консоли:

uci add firewall rule
uci set firewall.@rule[-1].name='Allow-LuCI-WAN'
uci set firewall.@rule[-1].src='wan'
uci set firewall.@rule[-1].proto='tcp'
uci set firewall.@rule[-1].dest_port='80'
uci set firewall.@rule[-1].src_ip='94.94.94.0/24'
uci set firewall.@rule[-1].target='ACCEPT'
uci commit firewall
service firewall restart

Старые OpenWRT (iptables) — как я делал в 2012

Всё решалось двумя строками.
1. Заходим в Network → Interfaces и смотрим, как называется WAN-интерфейс (в моём случае eth1).

openwrt access web from wan eth1

2. Переходим в Network → Firewall → Custom Rules и дописываем правило:

WAN='eth1'
iptables -A input_rule -i $WAN -p tcp --dport 80 -j ACCEPT

openwrt access web from wan custom rules

3. Перезагружаем роутер.

Всё, управлять точкой доступа со стороны WAN теперь можно. Если не работает — проверьте, правильно ли указано имя WAN-интерфейса: у вас оно может быть другим.

Не открывается снаружи? Доступ из интернета возможен, только если у роутера «белый» IP-адрес. Если провайдер выдаёт «серый» (адрес WAN из диапазонов 10.x.x.x, 100.64–100.127.x.x, 172.16–172.31.x.x или 192.168.x.x), закажите у провайдера белый IP или поднимите WireGuard-туннель через недорогой VPS — например, у Fornex (по моей ссылке −7% на VPS).

Ссылка на Fornex партнёрская: для вас цена со скидкой, а блог получает небольшое вознаграждение.

Ещё по теме: как пробросить порт в OpenWRT.

Ещё похожие заметки:

6 комментариев

Степан
Июл 4, 2017 23:00

Автор, огромное тебе спасибо, перешерстил все, уже и порты на ОНТ открыл, думал там загвоздка, а оно вон оно что, от души благодарю!

 
Antonio
Авг 24, 2017 22:33

Пожалуйста! 🥳

 
Wed
Май 31, 2018 11:42

Спасибо. =)

 
Макс)
Янв 16, 2019 19:47

Не работает почему то.

Внес данное правило (скопипастил) — сохранил и перезагрузил роутер.

Захожу на 2ip смотрю свой ip, открываю браузер телефона — ввожу его и ничего не происходит %)

Правда на WAN интерефейсе USB модем…. может что то не так делаею? :-D

 
Antonio
Янв 17, 2019 11:09

Макс, название интерфейса правильное?
В вашем случае оно может быть другим.

 
Анрей
Окт 20, 2023 19:07

Ввожу правило перегружаю роутер ,но правило почему то не сохраняется

 

Написать

Копирование информации с сайта возможно только с указанием прямой ссылки - https://nemcd.com