Столкнулся с небольшой проблемой с пробросом портов через VPN соединение. А конкретно, хотел получать доступ к web-интерфейсам камер видеонаблюдения и sonoff'ам с любого устройства в VPN-сети.
До этого приходилось подключаться к raspberry через xrdp и запускать браузер чтобы попасть в web-морду девайсов. Фу.
Схема сети такая (надеюсь доходчиво, рисую впервые)
Собственно, действующие лица
10.0.0.1 - внутренний IP-адрес роутера
10.0.10.9 - IP-адрес роутера в VPN-сети
10.0.0.201 - IP-адрес sonoff'а в локальной сети
Подключаемся к консоли роутера через ssh и набираем
iptables -t nat -A PREROUTING -d 10.0.10.9 -p tcp -m tcp --dport 10201 -j DNAT --to-destination 10.0.0.201:80
iptables -t nat -A POSTROUTING -d 10.0.0.201 -p tcp -m tcp --dport 80 -j SNAT --to-source 10.0.0.1
iptables -t nat -A OUTPUT -d 10.0.10.9 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.0.0.201
iptables -I FORWARD 1 -i tun0 -o br0 -d 10.0.0.201 -p tcp -m tcp --dport 80 -j ACCEPT
И проверяем в браузере клиента VPN-сетиСохраним изменения в таблицах маршрутизации, чтобы они не пропали после перезагрузки роутера.
iptables-save


