Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 23-02-2017 18:33:57

dejieres
Membre
Lieu : Moselle
Distrib. : Jessie 64 bits
Noyau : Linux 3.16.0-4-amd64
(G)UI : Gnome 3.14+3 amd64
Inscription : 07-02-2017

[résolu] Réseau entre hôte et VM

Bonjour,

Voilà, je vous expose mon petit souci...

Mon PC tourne sous Jessie et est équipé de deux cartes réseau :
eth0 : la carte réseau intégrée de la CM, connectée au réseau 'boulot' (192.168.2.0/24).
wlan2 : carte WiFi me permettant d'accéder à mon réseau domestique (192.168.0.0/24), notamment à l'imprimante et au scanner.
Chacun de ces réseaux dispose de sa propre box ADSL.
Les interfaces sont gérées par Network Manager.
Pour l'interface WiFi, j'ai coché la case 'N'utiliser cette connexion que pour les ressources sur ce réseau', puisque je veux accéder aux périphériques réseau uniquement, pas utiliser la connexion ADSL.

Tout ça fonctionne très bien. Depuis Debian, j'accède bien aux deux réseaux comme il faut.

Là où ça se complique un peu, c'est lorsque je suis dans ma VM Windows (KVM).

Actuellement, la VM est connectée par un pont (bridge0) comprenant les interfaces eth0 et vnet0 (l'interface de la VM). Depuis le Windows virtualisé, j'ai bien accès à tout ce qui se trouve sur le réseau 192.168.2.0.

Par contre, bien évidemment, je ne peux pas voir mon imprimante qui se trouve sur le réseau 192.168.0.0... Et pourtant, j'aimerais bien... scratchhead.gif

Du coup, quelle est la solution la plus simple pour rendre ce second réseau visible depuis la VM ?
Est-ce que c'est possible en ajoutant une route au niveau de l'hôte ?
J'ai bien fait quelques tentatives, mais à part casser régulièrement ma table de routage, je ne suis arrivé à rien de concluant...

À toutes fins utiles :

sudo brctl show

[sudo] password for denis:
bridge name bridge id   STP enabled interfaces
bridge0   8000.14dae95132ec no    eth0
              vnet0



ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bridge0 state UP group default qlen 1000
    link/ether 14:da:e9:51:32:ec brd ff:ff:ff:ff:ff:ff
3: wlan2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:18:f8:a4:58:e3 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.14/24 brd 192.168.0.255 scope global dynamic wlan2
       valid_lft 65152sec preferred_lft 65152sec
    inet6 fe80::218:f8ff:fea4:58e3/64 scope link
       valid_lft forever preferred_lft forever
4: bridge0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 14:da:e9:51:32:ec brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.67/24 brd 192.168.2.255 scope global bridge0
       valid_lft forever preferred_lft forever
    inet6 fe80::16da:e9ff:fe51:32ec/64 scope link
       valid_lft forever preferred_lft forever
5: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bridge0 state UNKNOWN group default qlen 500
    link/ether fe:54:00:d2:a0:ee brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fc54:ff:fed2:a0ee/64 scope link
       valid_lft forever preferred_lft forever



ip route

default via 192.168.2.254 dev bridge0  proto static  metric 1024
169.254.0.0/16 dev eth0  scope link  metric 1000
192.168.0.0/24 dev wlan2  proto kernel  scope link  src 192.168.0.14
192.168.0.0/24 via 192.168.0.1 dev wlan2  proto static  metric 10
192.168.2.0/24 dev bridge0  proto kernel  scope link  src 192.168.2.67

Dernière modification par dejieres (08-03-2017 09:29:31)

Hors ligne

#2 23-02-2017 19:14:21

raleur
Membre
Inscription : 03-10-2014

Re : [résolu] Réseau entre hôte et VM

dejieres a écrit :

Est-ce que c'est possible en ajoutant une route au niveau de l'hôte ?


Inutile puisque cette route existe déjà : c'est celle qui permet à l'hôte d'atteindre le réseau domestique.

Deux pistes.

1) Transformer l'hôte en routeur :
- Activer le routage IP sur l'hôte.
- Ajouter une route vers 192.168.0.0/24 via 192.168.2.67 dans la table de routage de la VM.
- Afin que les machines du réseau domestique puissent répondre, ajouter des routes directes vers 192.168.2.0/24 dans leurs tables de routage OU créer une règle iptable de SNAT/MASQUERADE sur l'interface wlan0 de l'hôte.

Le routage permet aux machines des deux réseaux de communiquer par l'intermédiaire de l'hôte. S'il faut restreindre les communications, mettre en place un filtrage avec iptables.

2) Faire la même chose du côté réseau domestique que du côté réseau boulot :
- Ajouter seconde une interface réseau à la VM et la configurer en statique pour le réseau domestique dans la VM Windows.
- La ponter avec wlan0

Mais ça ne marchera probablement pas car le pontage d'une interface wifi en mode infrastructure (managed) classique est refusé par le noyau Linux.

Dernière modification par raleur (23-02-2017 19:21:38)

Hors ligne

#3 23-02-2017 20:15:43

dejieres
Membre
Lieu : Moselle
Distrib. : Jessie 64 bits
Noyau : Linux 3.16.0-4-amd64
(G)UI : Gnome 3.14+3 amd64
Inscription : 07-02-2017

Re : [résolu] Réseau entre hôte et VM

Merci raleur, j'essaye ça dès que possible, probablement ce week-end lorsque je pourrai torturer la bécane sans conséquences smile

Hors ligne

#4 08-03-2017 09:28:32

dejieres
Membre
Lieu : Moselle
Distrib. : Jessie 64 bits
Noyau : Linux 3.16.0-4-amd64
(G)UI : Gnome 3.14+3 amd64
Inscription : 07-02-2017

Re : [résolu] Réseau entre hôte et VM

Bon, ça m'a pris un peu plus de temps que prévu, mais ça marche big_smile

Si ça peut servir à quelqu'un, voici les modifs effectuées.

Sur l'hôte, activation du routage IP :

nano /etc/sysctl.conf

Décommenter la ligne

net.ipv4.ip_forward=1



Toujours sur l'hôte, ajouter une règle iptable sur l'interface WiFi

iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o wlan2 -j MASQUERADE

J'ai ajouté ça à la fin de /etc/rc.local. Je ne sais pas si c'est le meilleur endroit pour le faire, mais ça fonctionne.

Et pour finir, dans la VM (W7), ajouter une route (dans une invite de commandes en mode Administrateur) :

route -p ADD 192.168.0.0/24 192.168.2.67



Voilà smile

Ta première piste était donc la bonne (mais j'avoue que j'ai pas essayé la seconde non plus wink)
merci.gif

Hors ligne

Pied de page des forums