vpsサーバーがあり、そこにSoftetherをインストールし、Softetherはタブデバイス名tap_se、サブネット192.168.24.0/21 netmask 255.255.248.0 Broadcast 192.168.31.259を使用します。
クライアントはopenvpnまたはl2tpを介してSoftetherに接続し、Softetherはローカルdhcpを使用してサブネット192,168.24.0/21のIPをクライアントに割り当てます。
tun2socksまたは代替を使用して、Softetherのアウトバウンドトラフィックを別のサーバーに接続し、そのためにルーティングテーブルを変更する必要があります。次のことが起こるはずです: tap_se ==> tun0 ==> eth0
いくつかの提案ルートは次のとおりです。
# Bypass upstream socks5 server
sudo ip route add SOCKS5_SERVER dev DEFAULT_IFACE metric 10
sudo ip -6 route add SOCKS5_SERVER dev DEFAULT_IFACE metric 10
# Route others
sudo ip route add default dev tun0 metric 20
sudo ip -6 route add default dev tun0 metric 20
または:
ip route del default
ip route add default via 198.18.0.1 dev tun0 metric 1
ip route add default via 172.17.0.1 dev eth0 metric 10
次のコマンドを使用して tun0 を作成します。
ip tuntap add mode tun dev tun0
ip addr add 198.18.0.1/15 dev tun0
ip link set dev tun0 up
しかし、これを行うと、サーバーへの接続が失われ、ルーティングをデフォルトに戻すために再起動する必要がありました。 tap_se から出るすべてのトラフィックは tun0 を通過します。 vpsへの接続を失わない正しいルールは何ですか?