我刚刚在AWS VPC子网中配置了PPTP VPN服务器。但是,我无法ping通到同一子网中的其他主机(如VPN服务器)。我不确定我是否忽略了一般的网络配置,pptp / ppp配置,或者这是否与我失踪的AWS特别相关。
VPN服务器在VPC子网172.16.0.0/24中配置,并与之关联的公共EIP。一旦我从客户端建立了VPN连接,我就可以ping通VPN服务器的172.16接口,但除此之外什么都没有。
VPN服务器IP:172.16.0.235。 VPN客户端IP:192.168.11.11(通过vpn接口路由172.16.0.0/16)
vpnserver$ ping 172.16.0.200
64 bytes from 172.16.0.200
vpnclient$ ping 172.16.0.235
64 bytes from 172.16.0.235
vpnclient$ ping 172.16.0.200
timed out
在172.16.0.0/24子网上的任何其他主机上,虽然我在vpn服务器上看到了数据包,但我从未收到ICMP回应请求数据包:
vpnserver$ tcpdump -nn icmp
13:53:07.714010 IP 192.168.11.11 > 172.16.0.200: ICMP echo request, id 1, seq 1, length 40
172-16-0-200$ tcpdump -nn icmp
<no packet>
我检查过iptables - 没有规则,默认策略是ACCEPT(对于过滤器和nat表中的所有链)。启用转发:
vpnserver$ cat /proc/sys/net/ipv4/ip_forward
1
vpnserver$ route -n
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.16.0.1 0.0.0.0 UG 0 0 0 eth0
172.16.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.11.11 0.0.0.0 255.255.255.255 UH 0 0 0 pptp0
我已经配置了一个AWS安全组,VPN服务器和测试目标(172.16.0.200)都在其中,没有任何限制(允许所有流量)。我已经在用于172.16.0.0/24的VPC路由表中配置了一条路由,用于通过vpn服务器路由,这是没有NAT的icmp echo应答所需要的,但是echo请求甚至没有到达主机。
关于我做错了什么的任何想法? ppp配置中需要什么才能允许路由?我无法看到网络配置有任何问题,而且我想知道AWS在vpnserver与阻止数据包的其他主机之间是否存在某些问题?还是比这更简单?
答案 0 :(得分:0)
AWS正在启用阻止流量的源/目标检查。
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html#EIP_Disable_SrcDestCheck
默认情况下,每个EC2实例都执行源/目标检查。这意味着实例必须是它发送或接收的任何流量的源或目标。但是,当源或目标本身不是时,NAT实例必须能够发送和接收流量。因此,您必须禁用NAT实例上的源/目标检查。