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

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
После этого:
- WAN_IP:22 → SSH на роутер
- WAN_IP:80 → LuCI
- 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. Проверяем доступность устройств снаружи:
- WAN_IP:10001 → устройство №1
- WAN_IP:10002 → устройство №2
- WAN_IP:10003 → устройство №3
- WAN_IP:10004 → устройство №4
- WAN_IP:10005 → устройство №5
Команды для терминала...
for i in 1 2 3 4 5; do
port=$((10000 + i)
curl http://WAN_IP:$port
done
Итог. Теперь порядок полностью правильный:
- Поднимаем Wi‑Fi‑WAN
- Открываем доступ к роутеру через WAN (порты 22, 80 и 443)
- Переподключаемся через WAN
- Меняем LAN-ы на VLAN‑ы
- Настраиваем DNAT к устройствам
Это безопасно и логично.