Белый IP через OpenVPN на VDS
Изначальной задачей было сделать доступ из любой точки мира к домашнему серверу на Raspberry PI. Но данная инструкция универсальна, так как технология OpenVPN есть на всех платформах и ОС.
Устанавливаем на VDS сервер OpenVPN командой:
wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh
Источник скрипта:
Устанавливаем клиент OpenVPN на Raspberry PI командой:
sudo apt install openvpn
Подключаемся к VPN серверу:
sudo openvpn client.ovpn
Переходим обратно к VDS. Нужно включить перенаправление портов на уровне ядра:
sysctl net.ipv4.ip_forward=1
Для проброса портов используем утилиту iptables, она встроена в большинство дистрибутивов Linux.
Правила будут выглядеть следующим образом:
iptables -A FORWARD -i ens3 -o tun0 -p tcp -m tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j ACCEPT
iptables -t nat -A PREROUTING -i ens3 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.8.0.2
Где, 80 порт который мы хотим перенаправить, 10.8.0.2 адрес куда хотим перенаправить трафик, ens3 интерфейс публичного сервера (маршрутизатора).