meta données pour cette page
Gérer les réseaux virtuels
Ressources :
Pour effectuer des tests sans perdre la connexion internet de notre machine physique, on peut très bien créer un environnement virtuel avec LXC. Ce dernier utilisera le network namespaces (netns) :
ip netns add vm1
Ici notre instance s'appelle vm1.
Pour s'y connecter, il faudra lancer une commande du type :
ip netns exec vm1 bash
Les interfaces réseaux
- Créer une paire interface virtuel (externe0 et interne0) :
ip link add name externe0 type veth peer name interne0
On l'utilise en général pour déplacer l'interface interne0 dans une instance (VMS, conteneurs,…) et ainsi avoir un accès au réseau hôte par exemple.
- Renommer une interface :
ip link set dev interne0 name eth0
- Ajouter ou supprimer une IP :
ip addr add 192.168.42.12 dev externe0 ip addr del 192.168.42.12 dev externe0
- Arrêter ou redémarrer l'interface :
ip link set dev externe0 down ip link set dev externe0 up
- Déplacer une interface :
ip link set dev interne0 netns vm1
- Supprimer une interface :
ip link delete eth0
# ip netns exec vm1 bash # ip a
Le routage
- Ajouter une route :
ip route add 192.168.42.0/24 via 192.168.42.1 ip route add default via 192.168.42.1
- Supprimer une route :
ip route del 192.168.42.0/24
- Pour que le routage d'une interface à une autre puisse se faire :
echo "1" > /proc/sys/net/ipv4/ip_forward
Le Nat
- Appliquer du NAT pour un réseau privé sur l'interface eth0 :
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
La commutation
Physiquement pour qu'un réseau puisse communiquer il a besoin d'un switch (ou d'un hub pour les cas plus anciens). La création d'un switch virtuel avec brctl est tout a fait possible mais il faut d'abord installer ce paquet :
apt-get install bridge-utils
- Créer ou supprimer un bridge (switch):
brctl addbr br0 brctl delbr br0
- Lui connecter ou lui déconnecter une interface :
brctl addif br0 eth0 brctl defif br0 eth0
- Lister les interfaces qui lui sont connectés :
brctl show br0
- Lister la table de commutation :
brctl showmacs br0
- Réduire le temps d'initialisation des redirections :
brctl setfd br0 0
Les VLANs
Cette technologie permet d'aller loin nativement alors profitons!
- Ajouter ou supprimer un lan :
ip link add link eth0 name eth0.100 type vlan id 100 ip link delete eth0.100
- Inspecter les VLANs :
ip -d link show