Acabei de concluir a configuração de um servidor OpenVPN em execução no Ubuntu 12.04 e consegui conectá-lo a partir do meu próprio computador (o cliente).
Eu sou capaz de configurar o servidor VPN para rotear todo o tráfego através da VPN com a diretiva push "redirect-gateway def1"
. Quando eu, então, verifico meu IP, ele não está mostrando meu IP real, mas o IP da VPN.
Também posso restringir ALGUM tráfego para passar pela VPN. ou seja: todo o meu tráfego passa pela minha conexão normal com a internet, e o tráfego para um servidor que eu queria (46.XX.XX.XX) passa pela VPN. Eu alcanço isso com a diretiva push "route 46.XX.XX.XX 255.255.255.255"
. Isso funciona bem: o google está me mostrando meu endereço IP real, e quando eu rastrear os logs de acesso nginx no meu servidor 46.XX.XX.XX, eu posso ver que o tráfego está vindo da VPN.
Tudo funciona bem e estou feliz com isso, mas no meu servidor VPN também estou hospedando alguns outros sites com o Nginx. Se eu seguir o log de acesso nesses sites, ele mostrará o meu endereço IP real, de modo que o tráfego para o próprio servidor VPN não passará pela VPN (mesmo se eu fizer o tráfego direto ALL via diretiva VPN).
Lendo sobre isso, eu entendo que isso é algo normal, já que o tráfego que vai para o servidor VPN em si não tem a chance de ser reencaminhado via VPN. O que eu não consigo encontrar em qualquer lugar, é alguma informação sobre como configurar o servidor VPN para que eu possa acessar o site hospedado no meu próprio servidor VPN, através da VPN.
Meus Iptables tem apenas uma regra:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Meu objetivo final é conseguir que o tráfego vá para o próprio servidor VPN por meio da VPN e, em seguida, poderei restringir o acesso ao meu site (via regras de permissão / negação) para que ele possa ser acessado por pessoas conectadas à VPN).
Isso é algo que pode ser alcançado com mais regras do iptables? ou uma diretiva de envio push diferente?