私はUbuntu VPSでOpenvpnを設定しました。これ。
これは私のクライアントですroute -n
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.8.0.5 128.0.0.0 UG 0 0 0 tun0
0.0.0.0 122.84.124.1 0.0.0.0 UG 0 0 0 ppp0
10.8.0.1 10.8.0.5 255.255.255.255 UGH 0 0 0 tun0
10.8.0.5 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
122.84.124.1 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
128.0.0.0 10.8.0.5 128.0.0.0 UG 0 0 0 tun0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 ppp0
183.181.60.117 122.84.124.1 255.255.255.255 UGH 0 0 0 ppp0
クライアントではできますping 10.8.0.1
が、それ以外はインターネットにアクセスできないようです。試してみましたがmtr 8.8.8.8
、
Host Lost% ...
1. 10.8.0.1 0.0% ...
2. ???
サーバー上にいる場合はmtr 8.8.8.8
パスが表示されます。
何が間違っていたのかアドバイスをいただけますか? ありがとうございます!
答え1
サーバー上で NAT とルーティングを正しく設定する必要があります。
mtr
サーバーからは正常に動作しているが、クライアントからは動作していない場合は、サーバーに次のようなルールを追加する必要があります。
# iptables -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source <public IP of server>
また、サーバー上でルーティングが有効になっていることを確認してください。
# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 0 <<< disabled
# sysctl net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1 <<< enabled
または、起動時に有効にしたい場合は、net.ipv4.ip_forward
を 1 に変更し/etc/sysctl.conf
て を実行しますsysctl -p
。
答え2
念のため、他の回答はすでに承認されているようですが、役に立つかもしれません...
@petrusの回答は、あなたがすべてのインターネットトラフィックがOpenVPNネットワークを通過するそれがあなたが望むことなら、そうするべきです。
ただし、OpenVPN が必要なのは、そのネットワーク内のリソース (ファイル サーバーやイントラネットなど) にアクセスするときだけで、一般的なインターネット アクセスには通常のインターネット接続を使用するのが一般的です。この場合、クライアント マシンにすべてのトラフィックを OpenVPN 経由でルーティングしないように指示することで、速度を上げることができます。これを行う方法は、クライアント ソフトウェアと OS によって異なりますが、OpenVPN クライアントでこの問題が発生し、不要な速度低下を引き起こしていることに気付いたので、この方法を提案することにしました。