¿Qué interfaz de red utiliza mi VPN?

¿Qué interfaz de red utiliza mi VPN?

Tengo una interfaz cableada (enp59s0u2u1i5) e inalámbrica conectada a Internet y, además, uso una VPN (wg-mullvad).

¿Cómo puedo ver cuál de estas interfaces (cableada o inalámbrica) utiliza la interfaz VPN para enrutar el tráfico?

Esta es la salida de ip link:

2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
4: enp59s0u2u1i5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
6: wg-mullvad: <POINTOPOINT,UP,LOWER_UP> mtu 1380 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/none

Salida de netstat -r:

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         _gateway        0.0.0.0         UG        0 0          0 enp59s0u2u1i5
default         _gateway        0.0.0.0         UG        0 0          0 wlan0
10.64.0.1       0.0.0.0         255.255.255.255 UH        0 0          0 wg-mullvad
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 enp59s0u2u1i5
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 wlan0

Respuesta1

Úselo ip route getcon los parámetros exactos, es decir, la dirección IP remota del punto final del túnel y, lo que es más importante, la marca de fábrica que usa wg-mullvad si el wgcomando muestra alguna.

# wg show wg-foo
interface: wg-foo
  fwmark: 0x52
peer:
  endpoint: 1.2.3.4

# ip r get 1.2.3.4 mark 0x52
1.2.3.4 via 192.168.10.1 dev rtl0 table 82 mark 0x52

(Puede agregar fibmatchpara ver directamente la entrada de ruta real que se utiliza).

En general, utilícelo ip routepara enumerar tablas de enrutamiento en Linux, ya que podría haber más de una; la marca de paquete establecida por WireGuard se usa para ip ruleseleccionar una tabla alternativa para el tráfico cifrado. Podrías resolverlo manualmente, pero algunos clientes VPN generan reglas un poco complejas y son más fáciles de usar ip r gety permiten que el kernel proporcione la respuesta.

# ip rule
501:    from all fwmark 0x52 lookup 82 proto static

# ip r ls table 82
default via 192.168.10.1 dev rtl0 proto dhcp

(Pero incluso solo para la tabla principal, generalmente la evitaría netstat -ren Linux, porque no sabe cómo mostrar más allá de las entradas de ruta más simples).

No olvide que tcpdumppuede mostrarle literalmente los paquetes que se envían a través de cada interfaz.

información relacionada