私は aws ec2 インスタンスに openvpn サーバーを設定しています。このインスタンスには 2 つのインターフェースがあります。
- プライベートサブネットに属する 1 つのインターフェース (10.10.0.0/17)
- パブリックサブネットに属する 1 つのインターフェース (10.10.128.0/17)
私の目標は、インターネットからのトラフィックが VPN を介してプライベートサブネット内のインスタンスと通信できるようにすることです。 ここにスキーマがあります
外部とパブリック インターフェイス間の接続は適切に確立されています。また、プライベート インターフェイスとプライベート サブネット内のインスタンス間でも接続が確立されています。
外部クライアントからプライベート インスタンスを ping しようとすると、問題が発生します。「初期化シーケンスが完了しました」というメッセージは表示されますが、トラフィックはトンネルを経由してルーティングされていないようです。実際には、宛先が VPN サーバー自体であっても、ルートがまったく見つからないようです。
ルートの作成時にエラーが発生しているように見えますが、カーネル ルーティング テーブルに存在するため、問題はここから発生していないと思われます。
私のクライアント構成は次のとおりです:
client
dev tun
proto udp
remote <server_ip> 1194
route 10.10.0.0 255.255.128.0
nobind
resolv-retry infinite
persist-key
persist-tun
comp-lzo
verb 3
cipher AES-256-CBC
<ca>
-----BEGIN CERTIFICATE-----
<SNIP>
-----END CERTIFICATE-----
</ca>
<cert>
Certificate:
<SNIP>
-----BEGIN CERTIFICATE-----
<SNIP>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<SNIP>
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
<SNIP>
-----END PRIVATE KEY-----
</key>
そしてサーバー側:
local 0.0.0.0
port 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/server.crt
key /etc/openvpn/easy-rsa/pki/private/server.key
dh /etc/openvpn/easy-rsa/pki/dh.pem
topology subnet
server 10.10.0.0 255.255.128.0
#client-to-client communication
duplicate-cn
keepalive 10 120
cipher AES-256-CBC
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
mute 10
explicit-exit-notify 1
私は最初から最後まで openvpn のハウツーに従いましたが、何が足りないのか本当にわかりません。ご協力をよろしくお願いします!