私はネットワークエンジニアではありませんが、VPNに接続しているときにインターネットにアクセスできるようにLinuxマシンを構成しようとしています。
これを解決するための私の現在のアイデアは、VPNに接続した後にルートを再構成しないようにマシンを構成しながらVPNに接続することです。次に、必要なときに(つまり、特定の場合に)VPNにアクセスするようにマシンのルートを手動で構成します。 IP範囲)。
だから私は現在、次のルーティングテーブルを理解しようとしています:
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 0.0.0.0 0.0.0.0 U 50 0 0 ppp0
0.0.0.0 192.168.16.1 0.0.0.0 UG 600 0 0 wlp8s0
10.100.0.0 0.0.0.0 255.255.255.255 UH 50 0 0 ppp0
62.135.17.146 192.168.16.1 255.255.255.255 UGH 0 0 0 wlp8s0
192.168.16.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp8s0
どうすれば0.0.0.0
VPN(ppp0)インターフェースのゲートウェイ?!私が言及したルーティングテーブルに関するすべての可能な情報は大歓迎です。しかし英語でお願いします:D
インターフェイスppp0
は ポイントツーポイントプロトコルトンネル です。 PPP接続は、あるポイントから別のポイントにのみ移動するように設計されているため、IPアドレスを指定する必要はありません。基本的に、マシンがPPPインターフェイスを介してパケットを送信する場合、送信できる場所は1つだけです。したがって、異なるIPアドレスを持つ可能性のある受信者を区別する必要はありません。
使用しているVPNソフトウェアを指定していませんが、クライアントにプッシュするルートを構成するのが一般的なオプションです。 OpenVPNを使用している場合は、プッシュするルートの定義に関する情報をここで見つけることができます ここ 。
編集:あなたはPPTP VPNを使用しているようです(ちなみに、これはもはや安全ではないので、可能であれば避けるべきです)。その場合、次のようにして、追加するルーティングエントリを構成できます。
PPP0インターフェースを介してトラフィックをルーティングするには、/etc/ppp/ip-up.d/route-traffic
を編集します
vi /etc/ppp/ip-up.d/route-traffic
次のサンプルコードを追加します(要件に応じてNETをIFACEに変更します)。
#!/bin/bash
NET="10.0.0.0/8" # set me
IFACE="ppp0" # set me
#IFACE=$1
route add -net ${NET} dev ${IFACE}
ファイルを保存して閉じます。
chmod +x /etc/ppp/ip-up.d/route-traffic