サーバー自体からSSH経由でOpenVPNサーバーの各クライアントにアクセスしたい。

client-to-client各クライアント同士で会話したくないので設定を有効にしたくありません。また、クライアント自体のサブネット上のマシンにはアクセスしたくありません。実際のマシンだけにアクセスします。

トンネルを設定でき、クライアントからサーバーにSSHで接続できますが、その逆はできません。

  • VPN経由のサーバーのIP:10.4.0.1

差出人ipp.txt

  • VPNを介したクライアントAのIP:10.4.0.4
  • VPNを介したクライアントBのIP:10.4.0.8

サーバー構成:

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 [email protected]、サーバーから動作します:sshの[email protected]ありません

ポート22でtelnetを試しましたが、失敗します。マシンAはUbuntuにあり、マシンBはOS Xにあり、サーバーはAWSEC2にあります。

他に情報が必要な場合はお知らせください。

編集:解決済みtopology subnet両方の設定ファイルに 追加するだけでうまくいきました!

answer

正しいIPに接続していますか?IPPに表示されるアドレスが、クライアントで実際に使用されているアドレスかどうかはわかりません。あなたは、アドレス指定が少し奇妙なnet_30トポロジーにいるようです。このトポロジでは、/30クライアントごとにサブネットが作成され、ポイントツーポイントリンクが作成されます。したがって10.4.0.4、ippファイル内ののアドレスは、実際には割り当てられた/30サブネットのネットワークアドレスでしたおそらく、pingを実行し10.4.0.6てに接続10.4.0.4し、ippファイルで報告されたシステムに接続することができたはずです。

しかし、net_30の奇妙さをすべて無視すると、考慮すべき最も簡単な解決策は、トポロジサブネットに切り替えることです。これは、古いクライアントをサポートしていない限り、最適なモードです。これは、各クライアントに1つのアドレスが割り当てられ、すべて同じマスクを持つ、通常使用する他のネットワークとほぼ同じように機能します。