GNU/Linux >> Znalost Linux >  >> Linux

Openconnect:Nastavení výchozích tras?

Snažím se používat OpenConnect k připojení k Cisco VPN (AnyConnect) mé společnosti

Zdá se, že připojení funguje dobře, ale nerozumím tomu, jak nastavit směrování. Dělám to z příkazového řádku.

K připojení používám výchozí skript VPN:

openconnect -u MyUserName --script path_to_vpnc_script myvpngateway.example.com

Zadávám své heslo a jsem připojen v pořádku, ale moje výchozí trasa se změnila tak, aby veškerý provoz scházel přes VPN, zatímco chci pouze firemní provoz přes VPN.

Existují nějaké proměnné, které musím vložit do skriptu vpnc? Není příliš jasné, jak se to dělá.

Přijatá odpověď:

Tato odpověď je následující:

K volání vpnc-scriptu použijte následující skript bash wrapper. Ve skriptu wrapper lze cesty, které se mají použít pro připojení VPN, určit pomocí proměnné ROUTES.

#!/bin/bash
#

# Routes that we want to be used by the VPN link
ROUTES="162.73.0.0/16"

# Helpers to create dotted-quad netmask strings.
MASKS[1]="128.0.0.0"
MASKS[2]="192.0.0.0"
MASKS[3]="224.0.0.0"
MASKS[4]="240.0.0.0"
MASKS[5]="248.0.0.0"
MASKS[6]="252.0.0.0"
MASKS[7]="254.0.0.0"
MASKS[8]="255.0.0.0"
MASKS[9]="255.128.0.0"
MASKS[10]="255.192.0.0"
MASKS[11]="255.224.0.0"
MASKS[12]="255.240.0.0"
MASKS[13]="255.248.0.0"
MASKS[14]="255.252.0.0"
MASKS[15]="255.254.0.0"
MASKS[16]="255.255.0.0"
MASKS[17]="255.255.128.0"
MASKS[18]="255.255.192.0"
MASKS[19]="255.255.224.0"
MASKS[20]="255.255.240.0"
MASKS[21]="255.255.248.0"
MASKS[22]="255.255.252.0"
MASKS[23]="255.255.254.0"
MASKS[24]="255.255.255.0"
MASKS[25]="255.255.255.128"
MASKS[26]="255.255.255.192"
MASKS[27]="255.255.255.224"
MASKS[28]="255.255.255.240"
MASKS[29]="255.255.255.248"
MASKS[30]="255.255.255.252"
MASKS[31]="255.255.255.254"

export CISCO_SPLIT_INC=0

# Create environment variables that vpnc-script uses to configure network
function addroute()
{
    local ROUTE="$1"
    export CISCO_SPLIT_INC_${CISCO_SPLIT_INC}_ADDR=${ROUTE%%/*}
    export CISCO_SPLIT_INC_${CISCO_SPLIT_INC}_MASKLEN=${ROUTE##*/}
    export CISCO_SPLIT_INC_${CISCO_SPLIT_INC}_MASK=${MASKS[${ROUTE##*/}]}
    export CISCO_SPLIT_INC=$((${CISCO_SPLIT_INC}+1))
}

# Old function for generating NetworkManager 0.8 GConf keys 
function translateroute ()
{
    local IPADDR="${1%%/*}"
    local MASKLEN="${1##*/}"
    local OCTET1="$(echo $IPADDR | cut -f1 -d.)"
    local OCTET2="$(echo $IPADDR | cut -f2 -d.)"
    local OCTET3="$(echo $IPADDR | cut -f3 -d.)"
    local OCTET4="$(echo $IPADDR | cut -f4 -d.)"

    local NUMADDR=$(($OCTET1*16581375 + $OCTET2*65536 + $OCTET3*256 + $OCTET4))
    local NUMADDR=$(($OCTET4*16581375 + $OCTET3*65536 + $OCTET2*256 + $OCTET1))
    if [ "$ROUTESKEY" = "" ]; then
        ROUTESKEY="$NUMADDR,$MASKLEN,0,0"
    else
        ROUTESKEY="$ROUTESKEY,$NUMADDR,$MASKLEN,0,0"
    fi
}

if [ "$reason" = "make-nm-config" ]; then
    echo "Put the following into the [ipv4] section in your NetworkManager config:"
    echo "method=auto"
    COUNT=1
    for r in $ROUTES; do
        echo "routes${COUNT}=${r%%/*};${r##*/};0.0.0.0;0;"
        COUNT=$(($COUNT+1))
    done
    exit 0
fi

for r in $ROUTES; do
    addroute $r
done

exec /etc/openconnect/vpnc-script

Poté se připojte následovně:

openconnect -u myusername --script wrapper-script -b vpngateway.example.com

Linux
  1. Proč není Nullglob výchozí?

  2. Konfigurace výchozího zařízení Alsa (hw:0,0) v Asoundrc?

  3. Opravdu není nastavení výchozích možností připojení pro Udisky možné?

  1. Výchozí adresa

  2. Nastavení názvu hostitele v Docker Compose

  3. Jak přidat více tras v Linuxu pomocí příkladů příkazů ip

  1. Nastavení SonarQube na AWS pomocí EC2

  2. Jak nastavit, aby `ls` ve výchozím nastavení obarvil výstup, aniž byste museli nastavovat alias?

  3. Jaký je účel 0.in-addr.arpa a 255.in-addr.arpa ve výchozí konfiguraci bind?