我目前正在设置 Raspberry Pi,以便在家中连接到公司的 VPN。Pi 具有以下接口:
eth0
-- 连接到我的 ISP 路由器。tun0
-- 连接公司VPN的OpenVPN隧道接口。wlan0
——配置为无线接入点。
我已经设置了以下 iptables 规则来桥接wlan0
和之间的所有流量tun0
(已启用 NATing):
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
我的/etc/resolv.conf
样子如下:
# 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
从 Pi,我可以解析并访问 VPN 主机和外部主机。但是,连接到无线接入点的设备无法解析任何一个(但通过 IP 访问 VPN 主机是可行的)。我不确定我的诊断是否正确解决了问题,但我注意到 TCPdump 包含tun0
:
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
这似乎表明有一些东西正在过滤 DNS 响应。
我不熟悉如何配置此类设置,因此如能得到任何帮助我将不胜感激!如果需要,我当然很乐意提供更多信息。