« Virt/KVM » : différence entre les versions
(Page créée avec « == Etat des lieux initial == On dispose d'une interface réseau réelle '''p128p1''' (Interface nVidia gigabit intégrée à la carte mère) Fichier <path>/etc/sysconfig... ») |
|||
| Ligne 85 : | Ligne 85 : | ||
* Démarrage de notre TAP<pre>ifconfig tap0 up</pre> | * Démarrage de notre TAP<pre>ifconfig tap0 up</pre> | ||
Ce n'est pas vraiment compliqué, mais pour | Ce n'est pas vraiment compliqué, mais pour automatiser le processus, on va créer un fichier '''unit''': <path>/usr/local/lib/systemd/system/tap@.service</path> | ||
* L'identifiant de l'interface n'est pas stocké en dur, mais prendra la partie entre l'arobase et l'extension de notre nom de fichier | |||
<pre> | <pre> | ||
[Unit] | [Unit] | ||
| Ligne 117 : | Ligne 118 : | ||
</pre> | </pre> | ||
On peut maintenant gérer nos TAP avec [[Admin/Systemd|Systemd]]. | On peut maintenant gérer nos TAP avec [[Admin/Systemd|Systemd]]: | ||
* Ajout/Démarrage<pre>systemctl start tap@0.service</pre> | |||
* Arrêt/Suppression<pre>systemctl stop tap@0.service</pre> | |||
* Démarrage automatique<pre>systemctl enable tap@0.service</pre> | |||
Version du 26 septembre 2013 à 09:35
Etat des lieux initial
On dispose d'une interface réseau réelle p128p1 (Interface nVidia gigabit intégrée à la carte mère)
Fichier <path>/etc/sysconfig/network-scripts/ifcfg-p128p1</path>
UUID="6f08e7f7-8bd9-423c-92a5-6dfa08c0986d" NM_CONTROLLED="yes" HWADDR="A4:BA:DB:FB:F0:78" BOOTPROTO="dhcp" DEVICE="p128p1" ONBOOT="yes"
Connexion au réseau via un TAP
Mise en place du bridge
On commence par générer un uuid pour notre bridge
uuidgen a0744d19-f4a3-47a7-af7a-ab2db84b2d80
On configure notre bridge (br0) et on intègre notre interface réseau réelle dans ce bridge. Fichier <path>/etc/sysconfig/network-scripts/ifcfg-br0</path>
DEVICE=br0 NAME="bridge0" TYPE=Bridge STP=yes BOOTPROTO=dhcp DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_PEERDNS=yes IPV6_PEERROUTES=yes UUID=a0744d19-f4a3-47a7-af7a-ab2db84b2d80 ONBOOT=yes BRIDGING_OPTS=priority=128
Fichier <path>/etc/sysconfig/network-scripts/ifcfg-p128p1</path>
UUID="6f08e7f7-8bd9-423c-92a5-6dfa08c0986d" #NM_CONTROLLED="yes" HWADDR="A4:BA:DB:FB:F0:78" #BOOTPROTO="dhcp" DEVICE="p128p1" ONBOOT="yes" BRIDGE="a0744d19-f4a3-47a7-af7a-ab2db84b2d80"
On redémarre le réseau
systemctl restart NetworkManager
On peut vérifier le résultat avec la commande <app>ip addr</app>
ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
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: p128p1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP qlen 1000
link/ether a4:ba:db:fb:f0:78 brd ff:ff:ff:ff:ff:ff
inet6 fe80::a6ba:dbff:fefb:f078/64 scope link
valid_lft forever preferred_lft forever
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether a4:ba:db:fb:f0:78 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.148/24 brd 192.168.0.255 scope global br0
valid_lft forever preferred_lft forever
inet6 fe80::a6ba:dbff:fefb:f078/64 scope link
valid_lft forever preferred_lft forever
Ajout d'un TAP
L'ajout d'un TAP à notre bridge se passe en trois étapes
- Création d'un TAP dont nous serons propriétaire avec notre login habituel ( user= didier )
tunctl -u didier -t tap0
- Ajout de notre TAP au brige
brctl addif br0 tap0
- Démarrage de notre TAP
ifconfig tap0 up
Ce n'est pas vraiment compliqué, mais pour automatiser le processus, on va créer un fichier unit: <path>/usr/local/lib/systemd/system/tap@.service</path>
- L'identifiant de l'interface n'est pas stocké en dur, mais prendra la partie entre l'arobase et l'extension de notre nom de fichier
[Unit] Description=Virtual Network Device After=syslog.target network.target [Service] Type=oneshot RemainAfterExit=yes Environment=TAPUSER=didier Environment=TAPGROUP=kvm ExecStartPre=-/usr/sbin/tunctl -u $TAPUSER -g $TAPGROUP -t tap%i ExecStartPre=-/usr/sbin/brctl addif br0 tap%i ExecStart=-/usr/sbin/ifconfig tap%i up ExecStop=-/usr/sbin/ifconfig tap%i down ExecStop=-/usr/sbin/brctl delif br0 tap%i ExecStop=-/usr/sbin/tunctl -d tap%i [Install] WantedBy=multi-user.target
Puis on va créer un lien symbolique pour que systemd gère notre fichier
ln -s /usr/local/lib/systemd/system/tap@.service tap@0.service
Pour créer un autre TAP, il suffira de créer un autre lien symbolique ( en incrémentant le numéro après l'arobase )
ln -s /usr/local/lib/systemd/system/tap@.service tap@1.service
On peut maintenant gérer nos TAP avec Systemd:
- Ajout/Démarrage
systemctl start tap@0.service
- Arrêt/Suppression
systemctl stop tap@0.service
- Démarrage automatique
systemctl enable tap@0.service