web-dev-qa-db-ja.com

VPNアダプターを介してすべてのトラフィックをルーティングする方法は?

SoftEtherを使用していますが、それは無関係かもしれません。

次のアダプターがあります。

vpn_myadapter: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 [redacted]  prefixlen 64  scopeid 0x20<link>
        ether [redacted]  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

私には次のルートがあります:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         dslrouter.netge 0.0.0.0         UG    600    0        0 wlp4s0
link-local      0.0.0.0         255.255.0.0     U     1000   0        0 virbr0
192.168.123.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.254.0   0.0.0.0         255.255.255.0   U     600    0        0 wlp4s0

Ubuntuを使用してすべてのインターネットトラフィックをVPNアダプター経由で簡単にルーティングできる方法を知る必要があります。

1
David Kamer

この回答は、アカウントが既に正常に接続され、アダプタが動作していることを前提としています。

IPテーブル/ルートに関するチュートリアルをふるい分けた後、SoftEtherで動作するソリューションを見つけました。このソリューションは、他のVPNアダプターと連携して、アダプターを介してトラフィックをトンネリングします。

実行から開始ip neighVPNのネットワークのデフォルトゲートウェイとこのネットワークのデフォルトゲートウェイを取得するにはリモートサーバーIPも必要です。これで情報が得られない場合は、VPNアダプターのIPでifconfigおよびtcpdumpを実行します。

以下の手順を簡単にbashスクリプトに結合したり、逆にしたりして、VPNアダプターを切断できます。

まず、サーバーからDHCP情報を取得する必要があります。

Sudo dhclient vpn_myadapter

vpn_myadapterは、ifconfigで見つけることができるアダプター名です。

次に、VPNサーバーのIPアドレスからローカルインターネットゲートウェイへのルートを作成して、インターネットに接続する必要があります。 55.55.55.55は、サーバーアドレスの例として使用するものです。また、インターネット接続とVNA(仮想ネットワークアダプター)のアダプター名を知る必要があり、ifconfigでこれらを見つけることができます。 ip neighを使用して、アダプタとそのゲートウェイの簡潔なリストを取得することもできます。

VPN IPからローカルゲートウェイへのルートを作成するコマンド(この例では192.168.0.1)

Sudo ip route add 55.55.55.55/32 via 192.168.0.1 dev eth0

確認してくださいethはローカルゲートウェイに対応するアダプタに設定されています

次に、デフォルトですべてのトラフィックをルーティングするデフォルトルートを削除します。

Sudo ip route del default

ここで、VPNのデフォルトゲートウェイを使用するデフォルトルートを追加します。この情報は、プロバイダー、セットアップしたサーバー、またはtcdumpip neigh、およびifconfigの組み合わせのいずれかから収集できます。この時点で情報を見つけることができるかもしれませんが、情報をすぐに見つけることができない場合は、最初にip neighを実行する必要があります。 SoftEtherが提供する192.168.30.1であるデフォルトのデフォルトゲートウェイを使用します。

Sudo ip route add default via 192.168.30.1 dev vpn_myadapter

これにより、すべてのトラフィックがリモートネットワーク経由でルーティングされます。それでもインターネットに接続できない場合は、サーバーでDhcpEnableおよびSecureNatEnable(設定によってはNatEnableを実行する必要があります)を実行する必要があります。これらの手順でクライアントを接続した後、またはdhclientコマンドが機能しなかった場合、dhcpまたはインターネットが機能しなくなります。 サーバーの更新後にサーバーを再起動する必要があるかどうかわかりません。

編集:SecureNatEnableはNATおよびDHCPを有効にします。

1
David Kamer