J'ai un serveur Ubuntu 18.04 avec une seule interface réseau public (eth0). J'essaie de créer des interfaces réseau supplémentaires "virtuelles" qui pourront également accéder à Internet avec des règles NAT configurées.
J'ai créé une interface virtuelle en utilisant les commandes suivantes :
ip link add type veth
ifconfig veth0 192.168.1.1
Voici la sortie de mon ifconfig :
eth0: flags=4163 mtu 1500
inet 10.0.0.1 masque 255.255.255.0 diffusion 10.0.0.255
adresse ether f2:3c:92:1f:2a:62 txqueuelen 1000 (Ethernet)
Paquets RX 85664 octets 111561237 (111.5 Mo)
Erreurs RX 0 abandon 0 overruns 0 trames 0
Paquets TX 15392 octets 2229468 (2.2 Mo)
Erreurs TX 0 abandon 0 overruns 0 carrier 0 collisions 0
lo: flags=73 mtu 65536
inet 127.0.0.1 masque 255.0.0.0
loop txqueuelen 1000 (Boucle locale)
Paquets RX 1385 octets 213213 (213.2 Ko)
Erreurs RX 0 abandon 0 overruns 0 trames 0
Paquets TX 1385 octets 213213 (213.2 Ko)
Erreurs TX 0 abandon 0 overruns 0 carrier 0 collisions 0
veth0: flags=4163 mtu 1500
inet 192.168.1.1 masque 255.255.255.0 diffusion 192.168.1.255
adresse ether a6:e7:de:40:9a:28 txqueuelen 1000 (Ethernet)
Paquets RX 27 octets 2082 (2.0 Ko)
Erreurs RX 0 abandon 0 overruns 0 trames 0
Paquets TX 1132 octets 48520 (48.5 Ko)
Erreurs TX 0 abandon 0 overruns 0 carrier 0 collisions 0
J'ai mis "/proc/sys/net/ipv4/ip_forward" à 1 :
$ cat /proc/sys/net/ipv4/ip_forward
1
J'ai également essayé de nombreuses règles iptables MASQUERADE, FORWARD et NAT mais je n'arrive pas à obtenir l'accès à Internet depuis veth0.
Lorsque je fais un ping sur 192.168.1.1 depuis l'interface veth0, tout fonctionne :
$ ping -I veth0 192.168.1.1
PING 192.168.1.1 (192.168.1.1) depuis 192.168.1.1 veth0 : 56(84) octets de données.
64 octets depuis 192.168.1.1 : icmp_seq=1 ttl=64 temps=0.029 ms
64 octets depuis 192.168.1.1 : icmp_seq=2 ttl=64 temps=0.046 ms
64 octets depuis 192.168.1.1 : icmp_seq=3 ttl=64 temps=0.085 ms
64 octets depuis 192.168.1.1 : icmp_seq=4 ttl=64 temps=0.062 ms
64 octets depuis 192.168.1.1 : icmp_seq=5 ttl=64 temps=0.061 ms
--- 192.168.1.1 statistiques ping ---
5 paquets transmis, 5 reçus, perte 0%, temps 4097ms
rtt min/moy/max/ecart = 0.029/0.056/0.085/0.020 ms
Cependant, si j'essaie de faire un ping sur l'adresse IP de l'interface eth0 depuis veth0, je n'ai aucune réponse :
$ ping -I veth0 10.0.0.1
PING 10.0.0.1 (10.0.0.1) depuis 192.168.1.1 veth0 : 56(84) octets de données.
--- 10.0.0.1 statistiques ping ---
39 paquets transmis, 0 reçus, perte 100%, temps 38900ms
Voici la sortie de ma commande route :
Destination Passerelle Masque réseau Indic Met Ref Util Interface
par défaut gw-li832.linode 0.0.0.0 UG 0 0 0 eth0
xx.xx.xx.xx 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 veth0
Je n'arrive pas à comprendre ce que je fais de mal et toute aide serait appréciée.