LINUX.ORG.RU

История изменений

Исправление hlebushek, (текущая версия) :

Решено. Создал файл с правами на запуск /etc/NetworkManager/dispatcher.d/route_cluster_vpn.sh с содержимым:

#!/bin/bash
set -euo pipefail
IFS=$'\n\t'

WIFI_INTERFACE="wlp3s0"
CLUSTER_VPN_IP_FILE_PATH="/tmp/cluster_vpn_ip"

if [ "$2" = "vpn-up" ] && [ "$1" = "tun0" ]; then
  wifi_default_gateway=`ip route | grep "$WIFI_INTERFACE" | grep default | cut --fields=3 "--delimiter= "`
  cluster_vpn_ip=`getent hosts my.openconnect.vpn.url | cut --fields=1 "--delimiter= "`
  echo "$cluster_vpn_ip" > "$CLUSTER_VPN_IP_FILE_PATH"
  route add "$cluster_vpn_ip/32" gw "$wifi_default_gateway" dev "$WIFI_INTERFACE"
fi

if [ "$2" = "vpn-down" ] && [ "$1" = "tun0" ]; then
  wifi_default_gateway=`ip route | grep "$WIFI_INTERFACE" | grep default | cut --fields=3 "--delimiter= "`
  cluster_vpn_ip=`cat "$CLUSTER_VPN_IP_FILE_PATH"`
  route del "$cluster_vpn_ip/32" gw "$wifi_default_gateway" dev "$WIFI_INTERFACE"
fi

Здесь tun0 это название интерфейса, который создается моим openvpn соединением. А my.openconnect.vpn.url это на самом деле домен, к которому я подключаюсь опенконнектом.

Теперь скорость передачи данных с кластера не жалкие 1.5 Мб/сек через «Австралию», а заслуженные 9 Мб/сек.

Исправление hlebushek, :

Решено. Создал файл с правами на запуск /etc/NetworkManager/dispatcher.d/route_cluster_vpn.sh с содержимым:

#!/bin/bash
set -euo pipefail
IFS=$'\n\t'

WIFI_INTERFACE="wlp3s0"
CLUSTER_VPN_IP_FILE_PATH="/tmp/cluster_vpn_ip"

if [ "$2" = "vpn-up" ] && [ "$1" = "tun0" ]; then
  wifi_default_gateway=`ip route | grep "$WIFI_INTERFACE" | grep default | cut --fields=3 "--delimiter= "`
  cluster_vpn_ip=`getent hosts my.openconnect.vpn.url | cut --fields=1 "--delimiter= "`
  echo "$cluster_vpn_ip" > "$CLUSTER_VPN_IP_FILE_PATH"
  route add "$cluster_vpn_ip/32" gw "$wifi_default_gateway" dev "$WIFI_INTERFACE"
fi

if [ "$2" = "vpn-down" ] && [ "$1" = "tun0" ]; then
  wifi_default_gateway=`ip route | grep "$WIFI_INTERFACE" | grep default | cut --fields=3 "--delimiter= "`
  cluster_vpn_ip=`cat "$CLUSTER_VPN_IP_FILE_PATH"`
  route del "$cluster_vpn_ip/32" gw "$wifi_default_gateway" dev "$WIFI_INTERFACE"
fi

Здесь tun0 это название интерфейса, который создается моим openvpn соединением.

Теперь скорость передачи данных с кластера не жалкие 1.5 Мб/сек через «Австралию», а заслуженные 9 Мб/сек.

Исходная версия hlebushek, :

Решено. Создал файл с правами на запуск /etc/NetworkManager/dispatcher.d/route_cluster_vpn.sh с содержимым:

#!/bin/bash
set -euo pipefail
IFS=$'\n\t'

WIFI_INTERFACE="wlp3s0"
CLUSTER_VPN_IP_FILE_PATH="/tmp/cluster_vpn_ip"

if [ "$2" = "vpn-up" ] && [ "$1" = "tun0" ]; then
  wifi_default_gateway=`ip route | grep "$WIFI_INTERFACE" | grep default | cut --fields=3 "--delimiter= "`
  cluster_vpn_ip=`getent hosts my.openconnect.vpn.url | cut --fields=1 "--delimiter= "`
  echo "$cluster_vpn_ip" > "$CLUSTER_VPN_IP_FILE_PATH"
  route add "$cluster_vpn_ip/32" gw "$wifi_default_gateway" dev "$WIFI_INTERFACE"
fi

if [ "$2" = "vpn-down" ] && [ "$1" = "tun0" ]; then
  wifi_default_gateway=`ip route | grep "$WIFI_INTERFACE" | grep default | cut --fields=3 "--delimiter= "`
  cluster_vpn_ip=`cat "$CLUSTER_VPN_IP_FILE_PATH"`
  route del "$cluster_vpn_ip/32" gw "$wifi_default_gateway" dev "$WIFI_INTERFACE"
fi

Здесь tun0 это название интерфейса, который создается моим openvpn соединением.