Eu configurei um servidor OpenVPN em um Fedora 20 VPS, eu posso me conectar ao servidor em si e aos seus serviços através da vnet bem.
# +<tun>+ VNET <tun>-<eth> +------------+
# | VPS |--[10.8.0.0/24]--|CLIENT|---| LAN |
# +-----+ +------+ +------------+
# 192.168.178.0/24
Mas assim que o cliente OpenVPN é iniciado, uma nova rota default
é enviada ao cliente. Isso, por sua vez, causa alguma confusão, pois agora tenho um gateway padrão incorreto que obviamente não funciona, já que todos os pedidos que não são destinados à LAN agora estão sendo (tentados ser roteados) através do VNET
(via seu gateway):
# ip route list
default via 10.8.0.1 dev tun0 proto static metric 1024
192.168.178.0/24 dev eth0 ....
....
No entanto, um conjunto de simpe de route delete e route add
ip route del default via 10.8.0.1
ip route add default via 192.168.178.1
ip route add 10.8.0.0/24 dev tun0
faz tudo funcionar novamente, pois (suponho que essa é a razão) apenas resta uma rota padrão e a sub-rede 10.8.0.0/24
é roteada pela interface tun0
.
Que mudanças eu preciso fazer para ter acesso à internet através do gatway local, mas ainda assim acessar serviços em minha rede virtual privada sem ter que alterar as rotas manualmente?
port 1194
dev tun
tls-server
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
mode server
# the addresses which represent the server
ifconfig 10.8.0.1 10.8.0.2
# pool of IPs to assign to clients
ifconfig-pool 10.8.0.66 10.8.0.99
#### routing info that gets pushed from server to client
#### so this represents the subnet that gets routed
#### through the tap0 interface
push "route 10.8.0.0 255.255.255.0"
#### do I need any of these? don't think so
####
#push "dhcp-option DNS 8.8.8.8"
#push "dhcp-option WINS 8.8.8.8"
#push "dhcp-option DNS 192.168.0.1"
#push "dhcp-option WINS 192.168.0.1"
keepalive 10 60
inactive 600
#### what should I set this to?
#### the routing from server => client
#### so this should include all IPs we assign
#### to the clients
route 10.8.0.1 255.255.255.0
user openvpn
group openvpn
persist-tun
persist-key
client-to-client
verb 4
Nota: não quero que o tráfego passe pelo servidor (e, portanto, passe pelo vnet), mas seja resolvido pelo roteador local.