OpenVPN: クライアント LAN からサーバーに 1 つの IP を転送する

OpenVPN: クライアント LAN からサーバーに 1 つの IP を転送する

私の設定は次のようになります:

  • 1.2.3.4OpenVPN サーバーとして機能するパブリック IP アドレスを持つサーバー (Ubuntu サーバー)
  • 10.8.0.6RaspberryPi (raspbian) は、OpenVPN ネットワークのアドレスと物理ネットワークのローカル アドレスを使用して OpenVPN サーバーに接続されています。192.168.178.36
  • 「Lan-Client」は、ローカルアドレスを持つラズベリーパイと同じ物理ネットワークにあります192.168.178.56
  • 「クライアント」は、ラズベリーパイと同じOpenVPNネットワークにあり、アドレスは次の通りです。10.8.0.10

現在の設定では、「クライアント」と Raspberry Pi は OpenVPN サーバーに正常に接続し、相互に通信できます。次に、Raspberry Pi をルーターとして使用して、「lan-client」を OpenVPN ネットワークに転送し、OpenVPN サーバーに接続されている各クライアントがアクセスできるようにします。

「lan-client」に OpenVPN をインストールできず、ポート転送や構成の変更も一切できません。

これは OpenVPN でも可能ですか? もし可能であれば、どうすればいいですか? この特定の IP のみを転送したいのですが、Raspberry Pi LAN 内のすべてのクライアントを転送したいわけではありません。

現在の設定は次のようになります:

サーバー.conf

port  1194
proto udp
dev   tun

ca   /etc/certs/ca.crt
cert /etc/certs/server.crt
key  /etc/certs/server.key

dh   /etc/certs/dh4096.pem

cipher AES-256-CBC

server    10.8.0.0 255.255.255.0
keepalive 10 120
client-to-client

ifconfig-pool-persist /etc/openvpn/ipp.txt
client-config-dir /etc/openvpn/ccd

persist-key
persist-tun

status     /var/log/openvpn/status.log
log        /var/log/openvpn/openvpn.log
log-append /var/log/openvpn/openvpn.log

verb 3

ipp.txt ファイル(サーバ)

client-rpi,10.8.0.4

ccd/クライアント-rpi(サーバ)

ifconfig-push 10.8.0.6 10.8.0.1

クライアント.conf(ラズベリーパイ)

client
dev     tun
proto   udp
remote  1.2.3.4 1194

resolv-retry infinite
nobind
persist-key
persist-tun

ca   /etc/certs/ca.crt
cert /etc/certs/client-rpi.crt
key  /etc/certs/client-rpi.key

cipher AES-256-CBC

remote-cert-tls server

verb 3

1つのIPアドレスだけをルーティングしたいのですが、すでにオンラインのガイドに従ってLAN全体をルーティングしています。そのために、

route 192.168.178.0 255.255.255.0

サーバー.confそして

iroute 192.168.178.0 255.255.255.0

ccd/クライアント-rpiconfig。192.168.178.20たとえばサーバーに ping を実行しようとすると、100% のパケット損失 (応答なし) が発生します。Raspberry Pi では次のようになります。

$ sudo tcpdump -i tun0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 262144 bytes
09:39:09.863118 IP 10.8.0.1 > 192.168.178.20: ICMP echo request, id     19467, seq 1, length 64
09:39:10.869903 IP 10.8.0.1 > 192.168.178.20: ICMP echo request, id 19467, seq 2, length 64
09:39:11.878093 IP 10.8.0.1 > 192.168.178.20: ICMP echo request, id 19467, seq 3, length 64

同じアドレスに Raspberry Pi (ターゲットと同じ物理ネットワーク内) から ping を実行すると、すべて予想どおり正常に動作するので、リクエストをドロップするのはターゲットのファイアウォールではありません。

私の推測では、Raspberry Pi は ping 要求を受信して​​転送しますが、ターゲットは192.168.178.20応答方法を知りません。問題は、すでに述べたように、そのデバイスのルーティング テーブルやその他の設定を変更できないことです。サーバーと Raspberry Pi にしかアクセスできません。私の理解は正しいですか。また、うまくいく解決策はありますか。それとも、私の設定ミスや誤解だ​​けでしょうか。Raspberry Pi のルートに問題がある可能性もありますが、それを修正する方法がわかりません。

関連情報