
로컬 Windows 2003 VPN 서버에 대한 L2TP VPN 연결을 위한 포트 전달을 설정하고 있습니다. 라우터는 iptables가 있는 단순한 데비안 시스템입니다. VPN 서버는 완벽하게 작동합니다. 하지만 WAN에서는 로그인할 수 없습니다. 나는 뭔가를 놓치고 있습니다.
VPN 서버는 사전 공유 키(L2TP)를 사용하고 있으며 192.168.3.0 범위의 IP를 제공합니다. 로컬 네트워크 범위는 192.168.2.0/24입니다.
경로를 추가했습니다. 경로 add -net 192.168.3.0 netmask 255.255.255.240 gw 192.168.2.13 (VPN 서버)
iptables -t nat -A PREROUTING -p udp --dport 1701 -i eth0 -j DNAT --to 192.168.2.13
iptables -A FORWARD -p udp --dport 1701 -j ACCEPT
iptables -t nat -A PREROUTING -p udp --dport 500 -i eth0 -j DNAT --to 192.168.2.13
iptables -A FORWARD -p udp --dport 500 -j ACCEPT
iptables -t nat -A PREROUTING -p udp --dport 4500 -i eth0 -j DNAT --to 192.168.2.13
iptables -A FORWARD -p udp --dport 4500 -j ACCEPT
iptables -t nat -A PREROUTING -p 50 -j DNAT --to 192.168.2.13
iptables -A FORWARD -p 50 -j ACCEPT
iptables -t nat -A PREROUTING -p 51 -j DNAT --to 192.168.2.13
iptables -A FORWARD -p 51 -j ACCEPT
전체 iptables 스크립트는 다음과 같습니다(위의 줄 제외).
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
#Flush table's
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -t nat -F
#Drop traffic
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
#verkeer naar buiten toe laten en nat aanzetten
iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#RDP forward voor windows servers
iptables -t nat -A PREROUTING -p tcp --dport 3389 -i eth0 -j DNAT --to 192.168.2.10:3389
iptables -A FORWARD -p tcp --dport 3389 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 3340 -i eth0 -j DNAT --to 192.168.2.12:3340
iptables -A FORWARD -p tcp --dport 3340 -j ACCEPT
#toestaan SSH verkeer
iptables -t nat -A PREROUTING -p tcp --dport 22 -i eth0 -j DNAT --to-destination 192.168.2.1
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#toestaan verkeer loopback
iptables -A INPUT -i lo -j ACCEPT
#toestaan lokaal netwerk
iptables -A INPUT -i eth1 -j ACCEPT
#accepteren established traffic
iptables -A INPUT -i eth0 --match state --state RELATED,ESTABLISHED -j ACCEPT
#droppen ICMP boodschappen
iptables -A INPUT -p icmp -i eth0 -m limit --limit 10/minute -j ACCEPT
iptables -A INPUT -p icmp -i eth0 -j REJECT
ifconfig eth1 192.168.2.1/24
ifconfig eth0 XXXXXXXXXXXXX/30
ifconfig eth0 up
ifconfig eth1 up
route add default gw XXXXXXXXXXXXXXXXXXX
route add -net 192.168.3.0 netmask 255.255.255.240 gw 192.168.2.13
답변1
테스트를 진행하는 동안 tcpdump 세션을 실행하고 테스트 전후에 iptables -L -nv의 카운터도 살펴보세요.
답변2
해결책: iptables -A FORWARD -p udp --sport 1701 -j ACCEPT
답변3
방화벽과 NAT 뒤에 있는 경우 다음을 찾을 수 있습니다. http://support.microsoft.com/kb/885407/en-us