Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
informatique:linux:ip [2023/11/20 13:32] benoit [Network Name Space] |
informatique:linux:ip [2023/11/21 06:32] (Version actuelle) benoit [Création d'une bridge] |
||
|---|---|---|---|
| Ligne 53: | Ligne 53: | ||
| Un namespace réseau fournit un environnement réseau isolé, ce qui signifie que les interfaces réseau, les tables de routage, les règles de pare-feu, etc., peuvent être spécifiques à ce namespace sans affecter les autres parties du système. | Un namespace réseau fournit un environnement réseau isolé, ce qui signifie que les interfaces réseau, les tables de routage, les règles de pare-feu, etc., peuvent être spécifiques à ce namespace sans affecter les autres parties du système. | ||
| + | |||
| + | ==== Création d'un premier réseau isolé ==== | ||
| Pour lister les namespaces : | Pour lister les namespaces : | ||
| Ligne 75: | Ligne 77: | ||
| exit | exit | ||
| - | Pour ajouter une interface Ethernet virtuelle | + | Pour ajouter une paire d'interfaces Ethernet virtuelle en capacité de communiquer entre elles : |
| ip link add xeth0 type veth | ip link add xeth0 type veth | ||
| ip a | ip a | ||
| - | On peut constater la création de deux interfaces ''veth0@xeth0'' et ''xeth0@veth0'' : | + | On peut constater la création des deux interfaces **veth0@xeth0** et **xeth0@veth0** : |
| - | 14: veth0@xeth0: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop state DOWN group default qlen 1000 | + | 7: veth0@xeth0: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop state DOWN group default qlen 1000 |
| link/ether 4e:c3:ad:3d:c9:98 brd ff:ff:ff:ff:ff:ff | link/ether 4e:c3:ad:3d:c9:98 brd ff:ff:ff:ff:ff:ff | ||
| - | 15: xeth0@veth0: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop state DOWN group default qlen 1000 | + | 8: xeth0@veth0: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop state DOWN group default qlen 1000 |
| link/ether 02:48:50:e3:54:f3 brd ff:ff:ff:ff:ff:ff | link/ether 02:48:50:e3:54:f3 brd ff:ff:ff:ff:ff:ff | ||
| + | |||
| + | On affecte l'une des interfaces Ethernet virtuelle à l'espace **netns01**, par exemple **veth0** : | ||
| + | ip link set veth0 netns netns01 | ||
| + | |||
| + | Par la commande ''ip a'', on constate qu'il ne reste plus qu'une interface : | ||
| + | 8: xeth0@if7: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 | ||
| + | link/ether 02:48:50:e3:54:f3 brd ff:ff:ff:ff:ff:ff link-netns netns01 | ||
| + | |||
| + | Par la commande ''ip --netns netns01 a'', on constate l'interface basculée sur le namespace **netns01** : | ||
| + | 7: veth0@if8: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 | ||
| + | link/ether 4e:c3:ad:3d:c9:98 brd ff:ff:ff:ff:ff:ff link-netnsid 0 | ||
| + | |||
| + | On active chacune des interfaces, celle de base et celle qui est dans le namespace : | ||
| + | ip link set xeth0 up | ||
| + | ip netns exec netns01 ip link set veth0 up | ||
| + | |||
| + | On affecte une adresse IP dans un même réseau à chacune des interfaces | ||
| + | ip addr add 192.168.0.1/24 dev xeth0 | ||
| + | ip netns exec netns01 ip addr add 192.168.0.2/24 dev veth0 | ||
| + | |||
| + | Pour tester on lancer un ping depuis le namespace **netns01** : | ||
| + | ip netns exec netns01 ping 192.168.0.1 | ||
| + | |||
| + | ==== Création d'un second réseau isolé ==== | ||
| + | |||
| + | On applique les mêmes commandes que le tuto ci-dessus : | ||
| + | |||
| + | # Création namespace | ||
| + | ip netns add netns02 | ||
| + | # Création d'une paire d'interfaces | ||
| + | ip link add xeth1 type veth peer name veth1 | ||
| + | # Affectation d'une des interfaces au namespace | ||
| + | ip link set veth1 netns netns02 | ||
| + | # Activation de interfaces | ||
| + | ip link set xeth1 up | ||
| + | ip netns exec netns02 ip link set veth1 up | ||
| + | # Configuration des adresses IP | ||
| + | ip addr add 192.168.1.1/24 dev xeth1 | ||
| + | ip netns exec netns02 ip addr add 192.168.1.2/24 dev veth1 | ||
| + | |||
| + | ==== Création d'un bridge ==== | ||
| + | |||
| + | :!: A revoir :!: | ||
| + | |||
| + | L'objectif est de permettre les réseaux de communiquer vers l'extérieur. | ||
| + | |||
| + | Création d'une interface bridge nommée **br0** : | ||
| + | ip link add br0 type bridge | ||
| + | |||
| + | Activation de l'interface : | ||
| + | ip link set br0 up | ||
| + | |||
| + | On affecte au bridge des adresses IP dans les mêmes réseaux que nos réseau isolé : | ||
| + | ip addr add 192.168.0.254/24 dev br0 | ||
| + | ip addr add 192.168.1.254/24 dev br0 | ||
| + | |||
| + | Attachement des interface Ethernet virtuelle au bridge : | ||
| + | ip link set xeth0 master br0 | ||
| + | ip link set xeth1 master br0 | ||
| + | |||
| + | Ajouter les passerelles par défaut pour chacun de nos réseau isolés : | ||
| + | ip netns exec netns01 ip route add default via 192.168.0.254 | ||
| + | ip netns exec netns02 ip route add default via 192.168.1.254 | ||