
현재 집에서 회사의 VPN에 쉽게 연결할 수 있도록 Raspberry Pi를 설정하고 있습니다. Pi에는 다음과 같은 인터페이스가 있습니다.
eth0
-- ISP 라우터에 연결되었습니다.tun0
-- 회사 VPN에 연결되는 OpenVPN 터널 인터페이스.wlan0
-- 무선 액세스 포인트로 구성되었습니다.
wlan0
과 tun0
(NATing이 활성화됨) 사이의 모든 트래픽을 연결하기 위해 다음 iptables 규칙을 설정했습니다 .
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 응답을 필터링하고 있음을 나타내는 것 같습니다.
저는 이러한 설정을 구성하는 데 익숙하지 않으므로 이에 대한 도움을 주시면 감사하겠습니다! 물론 필요하다면 더 많은 정보를 제공해 드리겠습니다.