Enrutamiento del tráfico de wlan1 a través de vpn y tráfico de wlan0 a eth0

Enrutamiento del tráfico de wlan1 a través de vpn y tráfico de wlan0 a eth0

Estoy intentando configurar un enrutador inalámbrico y utilizar una VPN. Como soy bastante nuevo en este tema específico. Espero que alguien aquí pueda darme una pista o, si es posible, una solución práctica. He buscado en la web de arriba a abajo, pero no encontré una solución convincente al siguiente problema:

Tengo un dispositivo basado en Ubuntu con dos interfaces inalámbricas (wlan0 y wlan1), así como una interfaz de red física (eth0) que está conectada a Internet. También planeo conectarme a una VPN (openvpn a un proveedor de VPN que tendré que comprar primero) que probablemente será tun0 o algo así. Quiero que todo el tráfico de los dispositivos que se conectan a wlan1 se canalice a través de vpn y que todo el tráfico de wlan0 se enrute directamente a Internet.

Aquí están mis preguntas: a) ¿es esto posible? b) si (a == sí) ¿cómo lo haría?

Necesito una solución confiable, así que, si es posible, no hagas trucos sucios.

Gracias de antemano, Peer

Respuesta1

Esto se hace mediante el enrutamiento basado en políticas.

Normalmente, las decisiones de enrutamiento se toman en función de la red de destino; sin embargo, con el enrutamiento basado en políticas puede enrutar en función de todo tipo de aspectos de una conexión. Su escenario es sencillo: si la interfaz entrante es wlan1entonces la ruta predeterminada debería estar fuera detun0

Primero, configuramos una nueva tabla de enrutamiento llamada "vpn" (o como quieras):

echo "200 vpn" >> /etc/iproute2/rt_tables

O puede editar este archivo y agregarlo 200 vpnal final.

A continuación, debemos agregar una regla:

sudo ip rule add iif wlan1 lookup vpn

Esto quiere decir "si la interfaz entrante es wlan1entonces use la tabla de enrutamiento llamada "vpn", en lugar de la normal.

Luego agregamos una ruta predeterminada a la tabla de enrutamiento VPN:

sudo ip route add default dev tun0 table vpn
sudo ip route flush cache

Esto dice que cualquier cosa que utilice la tabla de enrutamiento llamada "vpn" utilizará la interfaz tun0 como puerta de enlace predeterminada. Luego, limpiamos el caché de ruta por si acaso.

Puede utilizar este comando para ver la tabla de enrutamiento VPN:

sudo ip route list table vpn

Ahora es sólo cuestión de ejecutar estos comandos, tal vez como un script después de activar la VPN. Estoy bastante seguro de que openvpn tiene un script de publicación al que puedes agregarlos.

información relacionada