Я настраиваю сервер openvpn на экземпляре aws ec2. Этот экземпляр имеет два интерфейса:
- Один интерфейс, принадлежащий частной подсети (10.10.0.0/17)
- Один интерфейс, принадлежащий публичной подсети (10.10.128.0/17)
Моя цель — разрешить трафику из Интернета взаимодействовать с экземплярами, находящимися в частной подсети, через VPN. Вот схема
Соединение хорошо установлено между внешним и публичным интерфейсом. Оно также установлено между частным интерфейсом и экземплярами, которые находятся в частной подсети.
Проблема возникает, когда я пытаюсь пинговать частные экземпляры с внешнего клиента. Я вижу сообщение "initialization sequence done", но трафик, похоже, не направляется через туннель. На самом деле, кажется, что вообще не найдено ни одного маршрута, даже когда пунктом назначения является сам vpn-сервер:
трассировка маршрута к серверу tun-интерфейс
регистрация соединения на клиенте
ведение журнала подключений на сервере
Несмотря на то, что при создании маршрута возникают ошибки, он присутствует в таблице маршрутизации ядра, поэтому я предполагаю, что проблема не здесь:
Вот конфигурация моего клиента:
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 от начала до начала и действительно не знаю, что я упускаю. Заранее спасибо за помощь!