從linux連接VPN IKEv2伺服器時無法存取某些網站

從linux連接VPN IKEv2伺服器時無法存取某些網站

我有一個在Windows 2019 上託管並在IKEv2 上配置的VPN 伺服器,所有客戶端的一切都運作良好,但是在Linux 客戶端上我還有最後一點需要調整,因此為了澄清起見,我使用位於調度程序中的以下腳本來調整MTU並新增必要的路由(在連接是 L2TP 的情況下不需要):

#!/bin/bash
  
set -xv

DEFAULT_MTU=1500
MTU=1400

INTERFACE=$(ip route | grep -v linkdown | awk '$1 == "default" {if (!min || $5 < min) {min=$5; iface=$5}} END {print iface}')

if [[ ! "$1" =~ ^nm-xfrm-.* ]] && [[ ! "$1" =~ tun.* ]]; then
    echo "$1 is not a vpn interface. Exit script"
    exit 0
fi

if [ ! -d /sys/class/net/tun0 ]; then
    for itf in $(ls /sys/class/net/ | grep -E -v '^(lo|ppp0)$' ); do
        sudo ip link set dev "$itf" mtu "$DEFAULT_MTU"
    done
fi

case "$2" in
up|vpn-up)
    ip link set dev "$INTERFACE" mtu "$MTU"
    ip link set dev $1 mtu "$MTU"
    ip route add to default dev $1 proto static scope link metric 50
    ip route add to XX.XX.XX.XX/XX dev $1 proto static scope link metric 50 table 220
    ;;

down|vpn-down)
    for itf in $(ls /sys/class/net/ | grep -E -v '^(lo|ppp0)$' ); do
        ip link set dev "$itf" mtu "$DEFAULT_MTU"
    done
    ;;
    *)
    exit 0
    ;;
esac

我對 docker 機器使用路由表 220。

事實證明,如果我透過 wifi 連接,一切正常,透過瀏覽器和curl 訪問網站也順利,但是一旦我將 USB-C 適配器連接到以太網端口,一些網站就不再響應。

我原本以為這是 MTU 問題,但我想知道是否沒有其他原因導致問題,或者也許這是不可能的。

我指定將 Strongswan 套件與 NetworkManager 一起使用。

相關內容