Я хочу получить доступ к каждому клиенту сервера OpenVPN через SSH с самого сервера.
Я не хочу включать client-to-client
настройка, так как я не хочу, чтобы каждый клиент разговаривал друг с другом. Я также не хочу получать доступ к машинам в подсетях самих клиентов, только к реальным машинам.
Мне удалось настроить туннель, и я могу использовать ssh с клиента на сервер, но не могу сделать обратное.
Из ipp.txt
:
Конфигурация сервера:
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
dh /etc/openvpn/rsa/keys/dh2048.pem
server 10.4.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 172.31.0.0 255.255.0.0"
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3
/ etc / sysconfig / iptables сервера:
*nat
:POSTROUTING ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -s 10.4.0.0/24 -d 0.0.0.0/0 -o eth0 -j MASQUERADE
COMMIT
client.conf
client
remote <serverIP> 1194
proto udp
dev tun
persist-key
persist-tun
cipher AES-256-CBC
remote-cert-tls server
resolv-retry infinite
nobind
comp-lzo
verb 3
<ca>
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
-----END PRIVATE KEY-----
</key>
В конфигах: ipv4.ip_forward = 1
от B: ssh user@10.4.0.1 работает с сервера: ssh user@10.4.0.8 не работает
Я попробовал telnet на 22-м порту, но ничего не вышло. Машина A находится на Ubuntu, машина B - на OS X, сервер - на AWS EC2.
Дайте мне знать, если вам понадобится дополнительная информация.
Изменить: решено Просто добавив topology subnet
чтобы оба файла конфигурации сделали свое дело!
Вы уверены, что подключаетесь к правильному IP-адресу? Я не уверен, что адрес, который вы видите в IPP, действительно используется клиентом. Похоже, вы находитесь в топологии net_30, где адресация немного странная. В этой топологии a /30
Подсеть создается для каждого клиента, и создается двухточечная ссылка. Итак, ваш адрес 10.4.0.4
в файле ipp действительно был сетевой адрес назначенного /30
подсеть. Вы, вероятно, смогли бы проверить связь и подключиться к 10.4.0.6
для подключения к системе, сообщившей 10.4.0.4
в файле ipp.
Но, игнорируя всю эту странность net_30, самое простое решение, которое вы должны рассмотреть, - это переключиться на подсеть топологии, что является лучшим режимом, если вы не поддерживаете старых клиентов. Он действует более или менее аналогично любой другой сети, которую вы обычно используете, где каждому клиенту назначается один адрес, и все они имеют одинаковую маску.