GNU/Linux >> Tutoriales Linux >  >> Linux

Openconnect:¿Configuración de rutas predeterminadas?

Estoy tratando de usar OpenConnect para conectarme a la VPN de Cisco de mi empresa (AnyConnect)

La conexión parece funcionar bien, lo que no entiendo es cómo configurar el enrutamiento. Estoy haciendo esto desde la línea de comando.

Uso el script VPN predeterminado para conectarme así:

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

Escribo mi contraseña y estoy bien conectado, pero mi ruta predeterminada ha cambiado para forzar todo el tráfico a través del enlace VPN, mientras que solo quiero el tráfico de la empresa a través del enlace VPN.

¿Hay algunas variables que debo poner en el script vpnc? No está muy claro cómo se hace esto.

Respuesta aceptada:

Esta respuesta es la siguiente:

Utilice el siguiente script contenedor bash para llamar al script vpnc. En el script contenedor, las rutas que se utilizarán para la conexión VPN se pueden especificar a través de una variable 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

Luego conéctese de la siguiente manera:

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

Linux
  1. ¿Por qué Nullglob no es predeterminado?

  2. ¿Configurar el dispositivo Alsa predeterminado (hw:0,0) en Asoundrc?

  3. ¿Configurar una pantalla de 3 monitores?

  4. ¿Realmente no es posible establecer opciones de montaje predeterminadas para Udisks?

  5. Cómo agregar múltiples rutas en Linux usando ejemplos de comandos ip

Configuración de la puerta de enlace predeterminada de RHEL

Contraseña predeterminada de Kali Linux

Configurando logrotate en Linux

Configuración de un servidor web para usar HTTPS

Configuración de la zona horaria en Linux

Configuración de permisos de archivo en carga VSFTP