На даче есть видеорегистратор, к которому подключены камеры и у него есть веб-интерфейс, так же есть raspberry pi с raspbian на борту. Все это подключено к интернету через 4g wifi роутер от мегафона, с динамическим ip. Дома же, в городе, нормальный интернет с белым ip. Суть вопроса в том, как получить доступ из дома к raspberry(vnc,ssh). И как получить доступ к вебморде регистратора для начала из дома, потом от куда хочется.
Насколько понял надо VPN поднимать, если так то подскажите общую схему как это должно работать и какой-нибудь мануал для настройки.
включаем на raspberry форвардинг ip пакетов, ставим openvpn на pi и на домашнем сервере
настраиваем примерно так: debian-help.ru/articles/ustanovka-nastroika-openvp...
на регистраторе указываем в качестве шлюза адрес raspberry. дома указываем маршрут в локальную сеть, в которой находятся raspberry и регистратор на ip адрес raspberry в vpn
в /etc/sysctl.conf добавить строчку
net.ipv4.ip_forward=1
в автозапуск команды:
iptables -A FORWARD -i <интерфейс ovpn> -j ACCEPT
iptables -A FORWARD -o <интерфейс ovpn> -j ACCEPT
проброс портов:
iptables -t nat -A FORWARD -i <интерфейс ovpn> -p tcp -m tcp --dport 8801 -j DNAT --to-destination
- при обращении на адрес в vpn raspberry pi на порт 8801 - проброс на регистратор. порт можно на любой свободный поменять
alegzz: интерфейс ovpn это мой tun0, который дает vpn соединение?
Не могли бы вы по шагам объяснить какие должны быть мои действия?
На данный момент в домашней сети стоит raspberry на ней openvpn server, на даче raspberry client, соединение установлено, у регистратора в качестве шлюза стоит клиентская raspberry.
alegzz: мне нужно получить доступ из дома к веб морде регистратора. Думаю объединение сетей более перспективный вариант, но если проще, то подойдет и проброс
1. Сети не должны пересекаться
2. Допустим дома сеть 192.168.1.0/24, на даче 192.168.2.0/24, vpn сеть 192.168.0.0 с адресом сервера 192.168.0.1 и клиента 0.2
Тогда конфиг сервера дополняем
push "route 192.168.1.0 255.255.255.0"
route 192.168.2.0 255.255.255.0 192.168.0.2
на малинах в автозапуск
iptables -A FORWARD -i tun0 -j ACCEPT
iptables -A FORWARD -o tun0 -j ACCEPT
в /etc/sysctl.conf добавить строчку
net.ipv4.ip_forward=1
Все. Если дома сервер не шлюз по умолчанию (есть роутер), то на шлюзе нужно прописать маршрут до 192.168.2.0 на роутере. В качестве шлюза локальный адрес ovpn сервера
После перезагрузки должно заработать
alegzz: Вроде все понятно, сначала мне получается надо как то сделать к клиентской rpi доступ по VNC, чтобы тот роутер перенастроить на сеть 192.168.2.0.
Дома роутер стоит, в нем стоит переадресация по udp:1194 чтобы связь с серверной rpi была, получается надо еще что-то добавить?
Используйте openvpn. Проверенное решение для таких задач.
Там, где у вас статический белый ip, делаете openvpn-сервер.
На стороне с динамическим ip делаете openvpn-клиент.
После того, как туннель заработает, настраиваете маршрутизацию/проброс портов.
Если регистратор солидного производителя типа hikvision, dahua и др, то у них есть свое бесплатное облако, p2p обычно называется, которое как раз этим занимается. Помогает, даже когда он стоит в серой сети, и нет возможности прокинуть порты.
Если такого нет, то остаются только сервисы типа noip, dyndns и прикидывать порт на 4g роутере.