comment avoir 2 gateways: une pour le systeme via un vpn et l'autre en directe pour des VM?
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:
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:
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 |