Meu problema é que eu estava editando o iptables, mas nunca os salvando (por medo de atrapalhar as regras anteriores).
Usando isso:
sudo /etc/init.d/networking restart
Eu pude testar se meus iptables estavam funcionando sem salvá-los.
Eu configurei o servidor OpenVPN em um VPS Ubuntu 14.04 usando o OpenVZ. Eu posso estabelecer uma conexão com a VPN com um cliente. Eu posso acessar algumas páginas como o Google e o Twitter, mas muitos sites não carregam.
Eu adicionei isso ao iptables:
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source my-server-ip
Meu server.conf tem esta aparência:
port 1194
proto udp
dev tun
ca ca.crt
cert my-cert.crt
key my-key.key # This file should be kept secret
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
Tente usar apenas um servidor DNS primeiro. Pode ser que um dos servidores DNS não esteja aceitando solicitações de entrada. Na minha configuração eu simplesmente tenho o DNS dhcp-option apontando para o meu tun0 'inet addr:'. Execute o ifconfig no servidor para descobrir qual é esse endereço. Algo como 10.8.xx.xx
É provável que seja corrigido por uma configuração na configuração do cliente e do servidor. Veja o FAQ OpenVPN pergunta" Eu posso ping através do túnel, mas qualquer trabalho real faz com que ele trava. Isso é um problema de MTU? "