0

我刚刚在 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(路由172.16.0.0/16通过vpn接口)

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 子网上的任何其他主机上,我从未收到 ICMP 回显请求数据包,尽管我在 vpn 服务器上看到了该数据包:

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) 都在其中,没有任何限制(允许所有流量)。我在 VPC 路由表中配置了一条用于 172.16.0.0/24 的路由,以通过 vpn 服务器进行路由,这对于没有 NAT 的 icmp echo 回复是必需的,但 echo 请求甚至没有到达主机。

关于我做错了什么的任何想法?ppp 配置中需要什么来允许路由?我看不出网络配置有什么问题,我想知道 AWS 可能在 vpnserver 和其他阻止数据包的主机之间做些什么?还是比这更简单?

4

1 回答 1

0

AWS 正在启用阻止流量的源/目的地检查。

http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html#EIP_Disable_SrcDestCheck

默认情况下,每个 EC2 实例都会执行源/目标检查。这意味着实例必须是它发送或接收的任何流量的来源或目的地。但是,当源或目标不是自身时,NAT 实例必须能够发送和接收流量。因此,您必须在 NAT 实例上禁用源/目标检查。

于 2014-07-17T10:50:50.763 回答