Roteando uma sub-rede ao redor do túnel OpenVPN

0

Eu tenho uma caixa Linux configurada como o cliente roteador / DNS / DHCP / OpenVPN da minha rede doméstica. O servidor DHCP do ISC distribui endereços para minhas duas sub-redes:

172.16.1.0/24
172.16.2.0/24

O primeiro contém todos os dispositivos da minha rede exceto meu PC de home theater (HTPC). O segundo contém apenas o HTPC. A razão para isso é que o HTPC é essencialmente um dispositivo Netflix e tem que se originar do meu IP devido à restrição geográfica da Netflix.

Estou usando o OpenVPN para me conectar a um serviço VPN do qual sou membro.

Meu objetivo é ter todo o tráfego da rota de sub-rede 172.16.1.0/24 através da VPN como normal (que funciona!), mas ter o tráfego da rota de sub-rede 172.16.2.0/24 diretamente na interface WAN do meu roteador. Essa sub-rede 172.16.2.0/24 também precisa ser capaz de se comunicar com dispositivos na primeira sub-rede, já que existe um NAS (172.16.1.11). Eu tentei usar o iproute2 e o iptables para realizar isso com o roteamento baseado em políticas, mas estou tendo problemas.

Arquivo de configuração do OpenVPN:

client
dev tun
proto udp
remote GATEWAY 1197
resolv-retry infinite
nobind
persist-key
persist-tun
cipher aes-256-cbc
auth sha256
tls-client
remote-cert-tls server
auth-user-pass /etc/openvpn/credentials
comp-lzo
verb 1
reneg-sec 0
crl-verify crl.rsa.4096.pem
ca ca.rsa.4096.crt
disable-occ
#
# Troy's modifications
#
up ./auto_vpn/route_up.sh               # Run script on tunnel up.
down ./auto_vpn/route_down.sh           # Run script on tunnel down.
auth-nocache                            # Don't cache user/password in memory.
mute-replay-warnings                    # Mute packet replay warnings.
script-security 2                       # 2: Allow calling of built-in scripts.
dhcp-option DNS 209.222.18.222          # PIA's DNS servers.
dhcp-option DNS 209.222.18.218

Script de túnel: 172.16.2.0/24 dev wan

#!/bin/sh
ip rule add from 172.16.2.0/24 table novpn
ip route add 172.16.2.0/24 dev wan table novpn
/etc/openvpn/update-resolv-conf

Script de túnel:

#!/bin/sh
ip rule del from 172.16.2.0/24 table novpn
ip route del 172.16.2.0/24 dev wan table novpn
/etc/openvpn/update-resolv-conf

Quando o OpenVPN é iniciado, todos os clientes na rede têm acesso à Internet através da VPN incluindo a sub-rede que deve acessar a Internet contornando a VPN. Enquanto o túnel está em alta, posso ver que meu caminho está no lugar, mas não está sendo usado aparentemente.

$ ip route show table novpn
172.16.2.0/24 dev wan  scope link

Além disso, o HTPC (172.16.2.50) não consegue ver meu NAS (172.16.1.11).

Quaisquer sugestões que me ajudem a identificar onde eu errei seriam bem-vindas.

    
por TroyDowling 11.03.2018 / 05:27

0 respostas