web-dev-qa-db-ja.com

VPS、VPN、およびトラフィック転送

VPSで OCServer を使用してVPNサーバーを構成し、anyconnectを使用してクライアントからVPSに正常に接続しています。すべてのトラフィックをvpsを使用して送信するため、IPV4トラフィック転送を構成し、iptables設定をいくつか試しましたが、サーバーに接続していても、作成したトンネルからトラフィックが送信されません。 IPを検索したときにVPSのIPが表示されるように、VPSからのすべてのトラフィックを転送するにはどうすればよいですか?

1
Farzan

これを解決してみましょう。

vpnサーバーにはtunXインターフェイスがあり、vpn clientはすべてこのインターフェイスに接続されていると思います。

サーバーでトラフィック転送を設定します。これは、次のいずれかを使用して行われます

 echo "1" > /proc/sys/net/ipv4/ip_forward

その後

トラフィックを転送するよう指示するルールを追加する

Sudo iptables -A FORWARD -i tunX -o eth0 -j ACCEPT
Sudo iptables -A FORWARD -i eth0 -o tunX -m state --state ESTABLISHED,RELATED -j ACCEPT

インターフェイスtunX上のvpn lanのネットワークでルーター/ファイアウォールが不明なため、vpn clentsからインターネットへのトラフィックに対して、eth0からのIPアドレスでmasquaradeを実行する必要があります。

Sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

この方法で、tunXからのトラフィックは、eth0を介してネットワークの残りの部分に移動できます。

1
2707974

クライアントをbehindゲートウェイの背後で(---)ゲートウェイ経由でコンピューターを経由してyourデフォルトゲートウェイに到達させるには、ip転送が便利ですが、単独で問題を解決します。

必要なのは、特定のIP /コンピューターによって処理される、ローカルではないallトラフィックです。これは、デフォルトゲートウェイの機能のまさに定義です。ローカルネットワークで処理されないallトラフィックを処理します。

したがって、VPS(おそらくtun0または同様のもの)に接続しているインターフェイスのすべてのインターフェイスexceptが0.0.0.0のデフォルトゲートウェイを持っていることを確認する必要があります(基本的にno guiを使用している場合に定義されたデフォルトゲートウェイ。つまり、それらは単にネットワークに送り返されます。

次に、VPSインターフェイス名とIPを使用して、VPSによって処理されるデフォルトゲートウェイ0.0.0.0を定義します。

以下は、私が適応したゲートウェイを変更するためのチュートリアルです http://www.wikihow.com/Add-or-Change-the-Default-Gateway-in-Linux

Ubuntuなどの最新のOSを実行している場合、NetworkManagerがインストールされていて、接続を編集してゲートウェイを割り当てることができることに注意してください。

これは、再起動してサービスを再起動するだけの簡単なものであることを忘れないでください。それも試してみてください。

インターネットにアクセスする必要があるコンピューターまたはデバイスがコンピューターに接続されている場合、実際にはiptablesを介してパケットフィルタリングを実装する必要があります。

Ubuntuでこれを行うためのチュートリアルは、ここにあります: https://help.ubuntu.com/community/Internet/ConnectionSharing#Gateway_set_up

Linuxデフォルトゲートウェイを設定するためのチュートリアル

http://www.wikihow.com/Add-or-Change-the-Default-Gateway-in-Linux)から調整

パート1ターミナルの使用

  1. ターミナルを開きます。ターミナルはサイドバーから開くか、Ctrl + Alt + Tを押して開くことができます。

  2. 現在のデフォルトゲートウェイを表示します。 routeと入力して↵Enterを押すと、デフォルトゲートウェイの設定を確認できます。 「デフォルト」の横のアドレスはデフォルトゲートウェイを示し、割り当てられているインターフェースがテーブルの右側に表示されます。

  3. 現在のデフォルトゲートウェイを削除します。複数のデフォルトゲートウェイが設定されている場合、接続の競合が発生します。変更する場合は、既存のデフォルトゲートウェイを削除します。 Sudo route delete default gw <IP Address> <Adapter>と入力します。たとえば、eth0アダプタのデフォルトゲートウェイ10.0.2.2を削除するには、Sudo route delete default gw 10.0.2.2 eth0と入力します。

  4. Sudo route add default gw <IP Address> <Adapter>と入力します。たとえば、eth0アダプターのデフォルトゲートウェイを192.168.1.254に変更するには、Sudo route add default gw 192.168.1.254 eth0と入力します。コマンドを完了するために、ユーザーパスワードの入力を求められます。

パート2:構成ファイルの編集

  1. エディターで構成ファイルを開きます。 Sudo nano /etc/network/interfacesと入力して、nanoエディターでファイルを開きます。構成ファイルを編集すると、システムが再起動するたびに変更が保持されます。

  2. 正しいセクションに移動します。デフォルトゲートウェイを変更するアダプターのセクションを見つけます。有線接続の場合、これは通常eth0です。

  3. セクションにゲートウェイIPアドレスを追加します。たとえば、gateway 192.168.1.254と入力して、デフォルトゲートウェイを192.168.1.254にします。

  4. 変更を保存して終了します。 Ctrl + Xを押してからYを押して、変更を保存して終了します。

  5. ネットワークを再起動します。 Sudo /etc/init.d/networking restartと入力してネットワークを再起動します

1
yosefrow