Caso você deseje ocultar a porta do servidor da web usando uma VPN (openvpn) no host do servidor web
Nesse caso, você poderia
- configurar um servidor vpn, e. g. openvpn, para ouvir no ip do seu host, e. g. 192.168.1.1, porta 1194
- configure seu servidor da web para ouvir apenas 192.168.1.1, porta 4444
- interrompe o encaminhamento de porta em seu roteador que encaminha o tráfego da Internet para o servidor da web
- configure um encaminhamento de porta no seu roteador que encaminha o tráfego da Internet para o servidor vpn na porta 1194 (eu pessoalmente uso uma porta diferente do lado de fora, para que o roteador envie por exemplo a porta 11945 para a porta 1194 no host)
- conecte-se à sua vpn via internet
- aponte seu navegador para seu aplicativo da web em 192.168.1.1, porta 4444
Nesse cenário, você provavelmente nem precisa do iptables. Seu roteador só sabe encaminhar essa porta (1194) para o seu host, e essa porta só pode ser estabelecida ou conectada com as chaves e certificados corretos. Todas as outras portas não precisam ser fechadas, porque não podem ser acessadas pelo seu roteador.
Caso deseje tornar seu servidor da Web conectável somente a partir do endereço IP da VPN
No entanto, presumo, pelos seus comentários, que você usa a VPN do seu laptop e que seu servidor da Web está conectado à Internet "simples". Nesse cenário, você abre seu firewall / iptables somente para o seu VPN IP, e. g. 3.2.2.2
iptables -A INPUT -s 3.2.2.2/32 -j ACCEPT
ou, mais finamente granular
iptables -A INPUT -p tcp -s 3.2.2.2/32 --dport 4444 -j ACCEPT
Atenção: essa não deve ser a única regra. Você provavelmente deseja acessar seu host via SSH a partir de sua rede local ou geralmente permitir tudo de sua rede local:
iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
Além disso, você deseja permitir o tráfego do host local:
iptables -A INPUT -i lo -j ACCEPT
Depois disso, você pode fechar todas as outras portas de entrada:
iptables -P INPUT DROP
Certifique-se de verificar isso completamente em relação ao seu próprio intervalo de endereços IP e ao seu próprio endereço IP da VPN.
Além disso, você precisa configurar seu roteador / modem para encaminhar qualquer porta, e. g. 4444 ou 44444 para a porta 4444 do servidor da Web.
Caso você queira executar seu serviço VPN (acesso privado à Internet) e seu servidor web no mesmo host
Olhando para privateinternetaccess.com, descobri que
- existem programas clientes para vários sistemas operacionais, entre eles o Linux. (ver aqui)
- A PIA recomenda, no entanto, usar o openVPN no caso de você sempre querer ter o mesmo endereço IP de VPN (veja aqui)
Então para
run VPN locally, so when DDNS resolves IP it will point at your VPN connection
você faria
- instalar o openVPN
- edite o arquivo ovpn fornecido pelo PIA para conectar-se sempre ao mesmo servidor VPN
- inicie a conexão openVPN ao PIA
- configure seu cliente DDNS que ele procura e atualiza o endereço IP somente após a conexão VPN é estabelecida. O cliente DDNS deve agora encontrar
3.2.2.2
como seu endereço IP, atualizá-lo no servidor DDNS e seus clientes podem resolveryourhost.yourddns.com
to3.2.2.2
. - Embora a PIA não recomende a isso ( veja aqui ), você deve ser capaz de habilitar o encaminhamento de porta no PIA como descrito aqui para a porta 4444.