Bonjour,
Le usecase est simple, je dois me connecter à un vpn mais souhaiterais continuer à sortir en direct via une VM.
D'après ce que j'ai compris, via le policy routing et iproute2 on devrait pouvoir faire cela non?

Voici ma config:
- os: debian
- vpn client: openvpn
- vm linux via kvm en nat
Mes interfaces:
- wlan0: 192.168.0.11/24
- virbr0 : 192.168.122.1/24

J'ai créé une table vm dans /etc/iproute2/rt_tables
puis j'ai ajouté les 2 rules:
- ip rule add from 192.168.122.1/32 table vm
- ip rule add to 192.168.122.1/32 table vm

Et pour le routing:
- ip route add 192.168.122.0/24 dev virbr0 table vm
- ip route add 192.168.0.0/24 dev wlan0 table vm
- ip route add default via 192.168.0.254 dev wlan0 table vm

Lorsque je me connecte en vpn, voici la nouvelle interface créé:
- tap0 10.23.12.6/24
et l'état de mes routes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
root@ramis:/# ip route list
0.0.0.0/1 via 10.23.12.1 dev tap0 
default via 192.168.0.254 dev wlan0  proto static  metric 1024 
10.23.12.0/24 dev tap0  proto kernel  scope link  src 10.23.12.6 
128.0.0.0/1 via 10.23.12.1 dev tap0 
169.254.0.0/16 dev wlan0  scope link  metric 1000 
176.162.131.157 via 192.168.0.254 dev wlan0 
192.168.0.0/24 dev wlan0  proto kernel  scope link  src 192.168.0.11 
192.168.1.0/24 via 10.23.12.1 dev tap0 
192.168.122.0/24 dev virbr0  proto kernel  scope link  src 192.168.122.1 
 
root@ramis:/etc/iproute2# ip route list table vm
default via 192.168.0.254 dev wlan0 
192.168.0.0/24 dev wlan0  scope link 
192.168.122.0/24 dev virbr0  scope link 
 
root@ramis:/etc/iproute2# ip rule list
0:	from all lookup local 
32764:	from all to 192.168.122.1 lookup vm 
32765:	from 192.168.122.1 lookup vm 
32766:	from all lookup main 
32767:	from all lookup default 
root@ramis:/etc/iproute2#
Ma VM ne semble pas utiliser la table vm pour sortir en direct?
Comment dois je faire?

PS: voici mes iptables, le forwarding se fait bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
root@ramis:/etc/iproute2# iptables -nvL
Chain INPUT (policy ACCEPT 241K packets, 151M bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     udp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            udp dpt:53
    0     0 ACCEPT     tcp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:53
   19  6232 ACCEPT     udp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            udp dpt:67
    0     0 ACCEPT     tcp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:67
 
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
21075   25M ACCEPT     all  --  *      virbr0  0.0.0.0/0            192.168.122.0/24     ctstate RELATED,ESTABLISHED
12147 4254K ACCEPT     all  --  virbr0 *       192.168.122.0/24     0.0.0.0/0           
    0     0 ACCEPT     all  --  virbr0 virbr0  0.0.0.0/0            0.0.0.0/0           
    0     0 REJECT     all  --  *      virbr0  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
    0     0 REJECT     all  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
 
Chain OUTPUT (policy ACCEPT 218K packets, 49M bytes)
 pkts bytes target     prot opt in     out     source               destination         
   19  6232 ACCEPT     udp  --  *      virbr0  0.0.0.0/0            0.0.0.0/0            udp dpt:68