私がやろうとしていることの基本的な設定は次のとおりです。
クライアント (任意のマシン) ---> VPN クライアント (Raspberry Pi) ---> OpenVPN サーバー ---> インターネット
VPN クライアント (Rpi) は信頼できないネットワークを使用している可能性がありますが、この場合は、ポート 4443 上のインターネットからのすべてのトラフィックをクライアントに転送して、クライアントが応答するようにしたいと思います。
他のすべては正常に動作しています。クライアントは Pi に接続し、作成した VPN の一部であるように見えますが、どうしても戻りパスがわかりません。
ありがとう!
答え1
あなたの質問に具体的に答えるには情報が少し足りないのですが、さらにお役に立てるよういくつか整理してみたいと思います。
[...] ポート 4443 上のインターネットからのすべてのトラフィックをクライアントに転送して、クライアントが応答するようにしたいと思います。
データに適したサービスがないポートに他のデータを転送することはできません。
VPN は、仮想ネットワーク インターフェイスを含む仮想ネットワークを作成することで機能します。仮想ネットワーク インターフェイスが機能するには、VPN ソフトウェア (クライアントまたはサーバー) が実行されている必要があります。VPN ソフトウェアが仮想ネットワーク インターフェイスからデータ/パケットを受信すると、データは再パッケージ化され、従来の方法で暗号化されてから物理ネットワークによって転送されます。また、データを受信すると、その逆も行われます。
Physical Ethernet
WANインターフェースです。
VPN の特性により、2 つのネットワークが得られます。物理ネットワークと仮想ネットワークで、それぞれに IP アドレスがあります。これらのネットワークを使用すると、ネットワークで実行できる一般的な操作をすべて実行できます。
クライアント (任意のマシン) ---> VPN クライアント (Raspberry Pi) ---> OpenVPN サーバー ---> インターネット
およびPhysical Ethernet
はPhysical Ethernet 0
WAN インターフェイスです。Physical Ethernet 1
は に接続するためのものですClient (machine)
。
イーサネット ケーブルを使用して に接続しておりClient (machine)
、VPN Client (Raspberry Pi)
Raspberry Pi に iptables がインストールされていると想定します...
Physical Ethernet 1
2 つのネットワークとの間に NAT 転送を設定するには、の名前が eth0 で、 の名前が tun0 であるVirtuel Ethernet
と想定します。Physical Ethernet 1
Virtuel Ethernet
# Set default policies
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
# NAT
iptables -A POSTROUTING -o tun0 -j MASQUERADE # Enable NAT
# Forwarding
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT # Allow forwarding from client to vpn
iptables -A FORWARD -i eth0 -o eth0 -j ACCEPT # Allow forwarding from client to client
iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT # Allow forwarding from vpn to client, for already established connections
参照Ubuntu で iptables を使用してシンプルなルーターを設定する方法
VPN サーバーがインストールされているマシンでどの OS を使用しているかはわかりません。そのため、NAT 転送の方法について詳しく説明することはできません...
答え2
実際に分かりました!
これを実行する方法については、投稿全体を書きました -https://virtualprivatepi.com/diy/