План настройки

1. Настраиваем Wi‑Fi‑клиент как WAN. Включаем Wi‑Fi STA (Client). Привязываем его к интерфейсу wan или wwan. Проверяем, что роутер получил IP и интернет работает.

Команды для терминала...
uci set wireless.sta=wifi-iface
uci set wireless.sta.device='radio0'
uci set wireless.sta.network='wwan'
uci set wireless.sta.mode='sta'
uci set wireless.sta.ssid='SSID'
uci set wireless.sta.encryption='psk2'
uci set wireless.sta.key='PASSWORD'

uci set network.wwan=interface
uci set network.wwan.proto='dhcp'

uci commit wireless
uci commit network
wifi reload
Команды для терминала...
ip a show dev wlan0
ping -c 3 8.8.8.8

 

2. Разрешаем доступ к самому роутеру через WAN (порты 22, 80 и 443). Создаём traffic rules:

src=wan
dest=router
proto=tcp
dest_port=22 → SSH
dest_port=80 → LuCI HTTP
dest_port=443 → LuCI HTTPS
target=ACCEPT

 

После этого:

  1. WAN_IP:22   → SSH на роутер
  2. WAN_IP:80   → LuCI
  3. WAN_IP:443  → LuCI HTTPS

 

Теперь WAN‑доступ к роутеру открыт и можно безопасно переподключиться.

Команды для терминала...
uci add firewall rule
uci set firewall.@rule[-1].name='Allow-SSH-WAN'
uci set firewall.@rule[-1].src='wan'
uci set firewall.@rule[-1].dest='lan'
uci set firewall.@rule[-1].dest_port='22'
uci set firewall.@rule[-1].proto='tcp'
uci set firewall.@rule[-1].target='ACCEPT'

uci add firewall rule
uci set firewall.@rule[-1].name='Allow-LuCI-HTTP'
uci set firewall.@rule[-1].src='wan'
uci set firewall.@rule[-1].dest='lan'
uci set firewall.@rule[-1].dest_port='80'
uci set firewall.@rule[-1].proto='tcp'
uci set firewall.@rule[-1].target='ACCEPT'

uci add firewall rule
uci set firewall.@rule[-1].name='Allow-LuCI-HTTPS'
uci set firewall.@rule[-1].src='wan'
uci set firewall.@rule[-1].dest='lan'
uci set firewall.@rule[-1].dest_port='443'
uci set firewall.@rule[-1].proto='tcp'
uci set firewall.@rule[-1].target='ACCEPT'

uci commit firewall
/etc/init.d/firewall restart

 

3. Переподключаемся к роутеру через Wi‑Fi‑WAN. Теперь, когда WAN‑доступ разрешён: узнаём WAN‑IP, который роутер получил от внешней сети. Подключаемся к роутеру через WAN‑IP:

ssh root@WAN_IP -p 22
http://WAN_IP
https://WAN_IP

Теперь управление роутером идёт через WAN, и LAN‑порты можно безопасно переконфигурировать.

Команды для терминала...
ip a show dev wlan0  # Узнаём WAN_IP
ssh root@WAN_IP -p 22

 

4. Разделяем 5 LAN‑портов на 5 отдельных VLAN. Каждый порт — отдельный L2‑сегмент, чтобы одинаковые IP не конфликтовали.

VLAN Порт Назначение
10 LAN1 Устройство №1
20 LAN2 Устройство №2
30 LAN3 Устройство №3
40 LAN4 Устройство №4
50 LAN5 Устройство №5
Команды для терминала...
uci set network.vlan10=interface
uci set network.vlan10.ifname='eth0.10'
uci set network.vlan10.proto='static'
uci set network.vlan10.ipaddr='192.168.10.1'
uci set network.vlan10.netmask='255.255.255.0'

uci set network.vlan20=interface
uci set network.vlan20.ifname='eth0.20'
uci set network.vlan20.proto='static'
uci set network.vlan20.ipaddr='192.168.20.1'
uci set network.vlan20.netmask='255.255.255.0'

uci set network.vlan30=interface
uci set network.vlan30.ifname='eth0.30'
uci set network.vlan30.proto='static'
uci set network.vlan30.ipaddr='192.168.30.1'
uci set network.vlan30.netmask='255.255.255.0'

uci set network.vlan40=interface
uci set network.vlan40.ifname='eth0.40'
uci set network.vlan40.proto='static'
uci set network.vlan40.ipaddr='192.168.40.1'
uci set network.vlan40.netmask='255.255.255.0'

uci set network.vlan50=interface
uci set network.vlan50.ifname='eth0.50'
uci set network.vlan50.proto='static'
uci set network.vlan50.ipaddr='192.168.50.1'
uci set network.vlan50.netmask='255.255.255.0'

uci commit network
/etc/init.d/network restart

 

5. Создаём 5 интерфейсов OpenWrt — по одному на VLAN. Каждый интерфейс получает свою подсеть (DHCP выключен):

VLAN OpenWrt IP Устройство IP
10 192.168.10.1 192.168.1.100
20 192.168.20.1 192.168.1.100
30 192.168.30.1 192.168.1.100
40 192.168.40.1 192.168.1.100
50 192.168.50.1 192.168.1.100
Команды для терминала...
proto=static

 

6. Создаём firewall‑зону для устройств. Зона devices:

masquerading: on
forwarding → wan: allow

Добавляем туда все 5 VLAN‑интерфейсов.

Команды для терминала...
uci add firewall zone
uci set firewall.@zone[-1].name='devices'
uci set firewall.@zone[-1].network='vlan10 vlan20 vlan30 vlan40 vlan50'
uci set firewall.@zone[-1].input='ACCEPT'
uci set firewall.@zone[-1].output='ACCEPT'
uci set firewall.@zone[-1].forward='ACCEPT'
uci set firewall.@zone[-1].masq='1'

uci add firewall forwarding
uci set firewall.@forwarding[-1].src='devices'
uci set firewall.@forwarding[-1].dest='wan'

uci commit firewall
/etc/init.d/firewall restart

 

7. Настраиваем DNAT (port forwarding) к устройствам:

WAN порт VLAN Внутренний IP
10001 10 192.168.1.100
10002 20 192.168.1.100
10003 30 192.168.1.100
10004 40 192.168.1.100
10005 50 192.168.1.100

Каждое правило:

src=wan
dest=devices
dest_ip=192.168.X.100
proto=tcp/udp
dest_port=порт устройства
Команды для терминала...
for i in 1 2 3 4 5; do
  port=$((10000 + i))
  vlan=$((i * 10))
  uci add firewall redirect
  uci set firewall.@redirect[-1].name="DNAT-device-$i"
  uci set firewall.@redirect[-1].src='wan'
  uci set firewall.@redirect[-1].dest='devices'
  uci set firewall.@redirect[-1].proto='tcp udp'
  uci set firewall.@redirect[-1].src_dport="$port"
  uci set firewall.@redirect[-1].dest_ip="192.168.${vlan}.100"
  uci set firewall.@redirect[-1].dest_port="$port"
done

uci commit firewall
/etc/init.d/firewall restart

 

8. Проверяем доступность устройств снаружи:

  1. WAN_IP:10001 → устройство №1
  2. WAN_IP:10002 → устройство №2
  3. WAN_IP:10003 → устройство №3
  4. WAN_IP:10004 → устройство №4
  5. WAN_IP:10005 → устройство №5
Команды для терминала...
for i in 1 2 3 4 5; do
  port=$((10000 + i)
  curl http://WAN_IP:$port
done

 

Итог. Теперь порядок полностью правильный:

  1. Поднимаем Wi‑Fi‑WAN
  2. Открываем доступ к роутеру через WAN (порты 22, 80 и 443)
  3. Переподключаемся через WAN
  4. Меняем LAN-ы на VLAN‑ы
  5. Настраиваем DNAT к устройствам

 

Это безопасно и логично.