いくつかの提案を検索して試しましたが、うまくいきませんでした。
私のホストコンピュータでUbuntuを実行しています。 VirtualBoxをインストールし、ホスト専用アダプタを作成し、ホストIPを192.168.15.1に設定し、アダプタのDHCPサーバーをオフにします。その後、ゲスト(Win XP)を作成し、IPを192.168.15.101/24、DGを192.168.15.1に設定しました。ホストからゲストに、またはその逆にpingを送信できました。
その後、ホストコンピュータにOpenVPNをインストールしました。私自身のCA、サーバー証明書/キー、およびクライアント証明書/キーを作成しました。 192.168.15.0/24 すべての VPN クライアントにパスをプッシュするように OpenVPN サーバー構成を設定します。 UDP 1194をOpenVPNサーバーに転送するようにルーターを設定し、接続をテストしました。
OpenVPN クライアントは他のノートブックで動作する Debian です。 VPNトンネルが確立されると、VPNクライアント(10.8.0.6)はVPNホスト(10.8.0.1)をpingでき、その逆も同様です。クライアントは問題なく192.168.15.1でホストの「ホストのみ」IPをpingできます。
私の問題は、Open VPN Client(10.8.0.6)がVMゲスト(192.168.15.101)と通信できるようにすることです。 VMゲスト(XP)はVPNクライアントの存在を認識せず、トラフィック/応答を10.8.0.6にルーティングできないようです。
1)不足しているステップと2)この問題を解決する方法を教えてください。
ありがとうございます。
OpenVPNサーバー/VirtualBoxホストのIPTABLES出力...
root@xxxxxxxxxxxx:~# iptables -L -nv
Chain INPUT (policy ACCEPT 48 packets, 53304 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 35 packets, 2992 bytes)
pkts bytes target prot opt in out source destination
解決策 欠けている部分はIP転送です。 /etc/sysctl.conf を編集し、以下を変更する必要があります。
# Uncomment the next line to enable packet forwarding for IPv4
#net.ipv4.ip_forward=1
これに関して
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
Hauke Largeに感謝します!
答え1
ファイアウォール構成が配信を許可していることを確認する必要があります。
iptables -L -nv
ただし、ルーティングを許可するようにファイアウォールを設定するだけでは十分ではありません。ルーティング機能自体はカーネルで有効にする必要があります。カーネルがパケットをルーティングしようとしない場合、ファイアウォールがパケットを通過できるようにするかどうかは重要ではありません。次のコマンドを使用してルーティング状態を確認できます。
cat /proc/sys/net/ipv4/ip_forward
1(ルーティング有効)または0(ルーティング無効)を返します。通常、後者はデフォルトです。次のコマンドを使用してこの設定を変更できます。
echo 1 >/proc/sys/net/ipv4/ip_forward
/etc/sysctl.conf
恒久的な変更は、次の方法で行うことができます。