Regras Iptables para NATing para servidor DNS em VPN

Regras Iptables para NATing para servidor DNS em VPN

Atualmente estou configurando um Raspberry Pi para facilitar a conexão de casa com a VPN da minha empresa. O Pi possui as seguintes interfaces:

  • eth0- Conectado ao meu roteador ISP.
  • tun0-- A interface do túnel OpenVPN conectando-se à VPN da empresa.
  • wlan0-- Configurado como um ponto de acesso sem fio.

Eu configurei as seguintes regras de iptables para conectar todo o tráfego entre wlan0e tun0(o NAT foi habilitado):

sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
sudo iptables -A FORWARD -i tun0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o tun0 -j ACCEPT

Minha /etc/resolv.confaparência é a seguinte:

# Generated by resolvconf
search a.my-company.com b.my-company.com c.my-company.com
nameserver 10.0.0.1           # VPN DNS server
nameserver 10.4.0.1           # VPN DNS server
nameserver 194.168.4.100      # ISP DNS server
nameserver 194.168.8.100      # ISP DNS server

A partir do Pi, posso resolver e acessar hosts VPN e hosts externos. No entanto, os dispositivos conectados ao ponto de acesso sem fio também não podem resolver (mas alcançar hosts VPN por IP funciona). Não tenho certeza se meu diagnóstico identifica o problema corretamente, mas notei que um TCPdump tun0contém:

IP 10.4.119.198.35387 > [VPN DNS SERVER 1].domain: 12662+ A? some.website.com. (38)
IP [VPN DNS SERVER 1].domain > 10.4.119.198.35387: 12662 1/13/13 A [Resolved IP] (486)
IP 10.4.119.198 > [VPN DNS SERVER 1]: ICMP 10.4.119.198 udp port 35387 unreachable, length 522

Isso parece indicar que algo está filtrando as respostas do DNS.

Não estou familiarizado com a configuração de tais configurações, então qualquer ajuda com isso seria apreciada! É claro que ficarei feliz em fornecer mais informações, se necessário.

informação relacionada