AWS 上の OpenVPN を使用して VPN 経由の双方向トラフィックを有効にする

AWS 上の OpenVPN を使用して VPN 経由の双方向トラフィックを有効にする

AWS 上で Pritunl を使用して OpenVPN サーバーをセットアップしようとしていますが、AWS ノードを VPN 経由で VPC 外部のノードに接続できずに困っています。

基本的に私の設定は

[ AWS Instance ] -- [ AWS OpenVpn Instance ] -- [ Local OS X Machine ]

現在、OS X マシンから発信されるトラフィックは正常に動作しています。VPC の背後にあるどのインスタンスに対しても ping を実行できます。ただし、ローカル OS X マシンに対して ping を実行しようとすると (より正確には、そのマシン上で実行されているサーバーにアクセスしようとすると)、接続がハングします。

AWS ノードは 172.31.0.0/16 サブネットにあり、OS X マシンは 192.168.241.0/24 サブネットにあります。OpenVpn インスタンス マシンでは、ping は正常に動作します。

ubuntu@ip-172-31-11-153:~$ ping 192.168.241.2
PING 192.168.241.2 (192.168.241.2) 56(84) bytes of data.
64 bytes from 192.168.241.2: icmp_seq=1 ttl=64 time=186 ms
64 bytes from 192.168.241.2: icmp_seq=2 ttl=64 time=170 ms

AWS インスタンスで ping がハングします:

ubuntu@ip-172-31-32-5:~$ ping 192.168.241.2
PING 192.168.241.2 (192.168.241.2) 56(84) bytes of data.
^C
--- 192.168.241.2 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2015ms

OpenVPNマシンでtcpdumpを使用すると、パケットがマシンに到達したことを確認できますが、応答は送信されません。

ubuntu@ip-172-31-11-153:~$ sudo tcpdump -i any -n icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
02:04:32.706204 IP 172.31.32.5 > 192.168.241.2: ICMP echo request, id 31959, seq 1, length 64
02:04:33.705490 IP 172.31.32.5 > 192.168.241.2: ICMP echo request, id 31959, seq 2, length 64
02:04:34.705519 IP 172.31.32.5 > 192.168.241.2: ICMP echo request, id 31959, seq 3, length 64
02:04:35.705436 IP 172.31.32.5 > 192.168.241.2: ICMP echo request, id 31959, seq 4, length 64

比較のために、OpenVPNマシンがローカルOS Xマシンにpingを実行した場合の動作を示します。

ubuntu@ip-172-31-11-153:~$ sudo tcpdump -i any -n icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes 
02:06:13.214559 IP 192.168.241.1 > 192.168.241.2: ICMP echo request, id 4169, seq 1, length 64
02:06:13.791529 IP 192.168.241.2 > 192.168.241.1: ICMP echo reply, id 4169, seq 1, length 64
02:06:14.215124 IP 192.168.241.1 > 192.168.241.2: ICMP echo request, id 4169, seq 2, length 64
02:06:14.370423 IP 192.168.241.2 > 192.168.241.1: ICMP echo reply, id 4169, seq 2, length 64

AWSコンソールのルートテーブルが設定されている(192.168.241.0/24 -> OpenVpn Instance

OpenVPNインスタンスではIP転送が有効になっています(echo 1 > /proc/sys/net/ipv4/ip_forward

OpenVPN インスタンスのソース/宛先チェックは無効になっています。

試してみましたがip route add(11.153 は openvpn インスタンスです)、エラーが返されるだけです:

ubuntu@ip-172-31-32-5:~$ sudo ip route add  192.168.241.0/24 via 172.31.11.153
RTNETLINK answers: Network is unreachable

私の IP テーブルは次のように定義されています:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             ip-172-31-0-0.us-east-2.compute.internal/16  /* pritunl-5a1f3acaf55623048c5ccaf0 */
ACCEPT     all  --  anywhere             ip-192-168-241-0.us-east-2.compute.internal/24  /* pritunl-5a1f3acaf55623048c5ccaf0 */
DROP       all  --  anywhere             anywhere             /* pritunl-5a1f3acaf55623048c5ccaf0 */

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  ip-172-31-0-0.us-east-2.compute.internal/16  anywhere             ctstate RELATED,ESTABLISHED /* pritunl-5a1f3acaf55623048c5ccaf0 */
ACCEPT     all  --  anywhere             ip-172-31-0-0.us-east-2.compute.internal/16  /* pritunl-5a1f3acaf55623048c5ccaf0 */
ACCEPT     all  --  ip-192-168-241-0.us-east-2.compute.internal/24  anywhere             /* pritunl-5a1f3acaf55623048c5ccaf0 */
ACCEPT     all  --  anywhere             ip-192-168-241-0.us-east-2.compute.internal/24  /* pritunl-5a1f3acaf55623048c5ccaf0 */
DROP       all  --  anywhere             anywhere             /* pritunl-5a1f3acaf55623048c5ccaf0 */    

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  ip-172-31-0-0.us-east-2.compute.internal/16  anywhere             /* pritunl-5a1f3acaf55623048c5ccaf0 */
ACCEPT     all  --  ip-192-168-241-0.us-east-2.compute.internal/24  anywhere             /* pritunl-5a1f3acaf55623048c5ccaf0 */
DROP       all  --  anywhere             anywhere             /* pritunl-5a1f3acaf55623048c5ccaf0 */

答え1

続く -https://docs.pritunl.com/v1/docs/routing-issues

「ルーティングを制限する」オプションのチェックを外しました。

関連情報