无法连接到vpnnetworking内的成员服务器,反之亦然,但为什么?

我在AWS中为OpenVPN概念validation创build了一个testingVPC。

在这个VPC中,我已经从AWS Marketplace发布了一个linux成员服务器和一个OpenVPN服务器AMI,并安装并configuration了它。

作为一个客户端,我能够连接到VPNnetworking,并使用它的3个IP中的每一个ssh进入OpenVPN服务器,但问题是我无法ssh进入VPC主子网中的成员服务器。

networking在OpenVPN服务器和成员服务器之间完全build立。

细节是:

 VPC CIDR: 172.16.0.0/16 VPC Main Subnet CIDR: 172.16.200.0/24 VPN CIDR: 172.16.201.0/24 OVPN server: Main Subnet interface: 172.16.200.66 VPN Server interface: 172.16.201.1 VPN Client interface: 172.16.201.129 Member server: Main Subnet interface: 172.16.200.71 My Client IP: 172.16.201.131-134 (disconnected a few times) 

我configuration了OpenVPN服务器,如下所示: 在这里输入图像说明 和: 在这里输入图像说明

另外,我试过使用NAT,但无济于事。

当我试图从客户端机器ssh到成员服务器时从OVPN服务器运行tcpdump

 openvpnas@openvpnas2:~$ sudo tcpdump -i as0t1 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on as0t1, link-type RAW (Raw IP), capture size 262144 bytes 11:21:52.668974 IP 172.16.201.131.59009 > 172.16.200.71.ssh: Flags [SEW], seq 2266158529, win 65535, options [mss 1252,nop,wscale 5,nop,nop,TS val 758529356 ecr 0,sackOK,eol], length 0 11:21:53.681875 IP 172.16.201.131.59009 > 172.16.200.71.ssh: Flags [S], seq 2266158529, win 65535, options [mss 1252,nop,wscale 5,nop,nop,TS val 758530357 ecr 0,sackOK,eol], length 0 

我可以看到,OVPN服务器试图转发数据包到成员服务器,但在成员服务器的接口上运行tcpdump时,我看到没有数据包到达。

OVPN服务器上的路由

 $ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.16.200.1 0.0.0.0 UG 0 0 0 eth0 172.16.200.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 172.16.201.0 0.0.0.0 255.255.255.128 U 0 0 0 as0t0 172.16.201.128 0.0.0.0 255.255.255.128 U 0 0 0 as0t1 

成员服务器上的路由:

 $ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.16.200.1 0.0.0.0 UG 0 0 0 eth0 172.16.200.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 172.16.201.0 172.16.200.66 255.255.255.0 UG 0 0 0 eth0 

客户端(我的笔记本电脑)上的路由,其中​​一些已经由我手动添加:

 netstat -nr | grep tun 172.16.200/24 172.16.201.134 UGSc 4 4 utun2 172.16.201/24 172.16.200.66 UGSc 1 2 utun2 172.16.201.134 172.16.201.134 UH 3 4 utun2 

OVPN服务器上的networking接口:

 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP group default qlen 1000 link/ether 02:fb:99:4a:67:04 brd ff:ff:ff:ff:ff:ff inet 172.16.200.66/24 brd 172.16.200.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::fb:99ff:fe4a:6704/64 scope link valid_lft forever preferred_lft forever 3: pr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000 link/ether 36:ce:f1:ac:59:42 brd ff:ff:ff:ff:ff:ff inet6 fe80::34ce:f1ff:feac:5942/64 scope link valid_lft forever preferred_lft forever 21: as0t0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 200 link/none inet 172.16.201.1/25 brd 172.16.201.127 scope global as0t0 valid_lft forever preferred_lft forever 22: as0t1: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 200 link/none inet 172.16.201.129/25 brd 172.16.201.255 scope global as0t1 valid_lft forever preferred_lft forever 

成员服务器上的networking接口:

 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP group default qlen 1000 link/ether 02:c5:62:3b:ef:02 brd ff:ff:ff:ff:ff:ff inet 172.16.200.71/24 brd 172.16.200.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::c5:62ff:fe3b:ef02/64 scope link valid_lft forever preferred_lft forever 

还有一点:

从我的客户端ping成员服务器:

 $ ping 172.16.200.71 PING 172.16.200.71 (172.16.200.71): 56 data bytes Request timeout for icmp_seq 0 

从我的客户端ping到OVPN服务器(使用VPC主子网):

 $ ping 172.16.200.66 PING 172.16.200.66 (172.16.200.66): 56 data bytes 64 bytes from 172.16.200.66: icmp_seq=0 ttl=64 time=87.657 ms 

从我的客户端到OVPN VPN的IP也是可行的。

AWS中此VPC的路由表: 在这里输入图像说明

这些是我的问题:

  1. 我应该在VPC中创build“172.16.201.0”(vpn子网)的子网吗? (我有,但没有解决这个问题…这只是我尝试过的一件事)。

  2. 看起来我错过了一些东西,也许在AWS的configuration中,你可以试着find我的问题吗?

我可以想到3件事你可以看看

  1. 因为它代表了172.16.0.0/16 CIDR范围内的任何东西都将通过本地路由路由,其他所有0.0.0.0/0将通过互联网网关发送。 因为你的VPN子网落在172.16.0.0/16范围内,这可能会导致问题。 也许:

一个。 为您的VPN子网select不同的地址范围

湾 确保路由表中有路由通过VPN设备将stream量路由到该子网

  1. 您是否查看了链接到您的EC2实例的安全组? 他们是否允许stream向这些EC2实例的正确stream量(在这种情况下为SSH)
  2. 你有没有看看链接到你的VPC及其子网的networkingACL,他们是否允许入站和出站的正确stream量?