Le 18.04. J'essaie de configurer mon serveur avec 2 interfaces vlan. Chaque interface vlan aura une adresse IP distincte sur un sous-réseau distinct, et les deux seront liées à la même interface physique. Lorsque je configure les interfaces vlan, j'ai une connectivité à chaque sous-réseau différent via les vlans, mais je ne peux pas ajouter de routes supplémentaires. J'ai besoin d'ajouter une route par défaut avec un saut suivant sur l'un des sous-réseaux (vlan2000), puis une route statique vers un seul sous-réseau non connecté via l'autre vlan (vlan1000). Voici mon fichier de configuration netplan:
network:
renderer: NetworkManager
version: 2
ethernets:
enp0s31f6:
routes:
- to: 0.0.0.0/0
via: 192.168.100.2
metric: 100
- to: 192.168.1.0/24
via: 172.16.100.1
metric: 10
vlans:
vlan1000:
id: 1000
link: enp0s31f6
addresses: [ "172.16.100.2/30" ]
vlan2000:
id: 2000
link: enp0s31f6
addresses: [ "192.168.100.2/24" ]
J'ai également essayé d'ajouter les itinéraires applicables sous chaque hiérarchie vlan sans succès - par exemple:
vlans:
vlan1000:
id: 1000
link: enp0s31f6
addresses: [ "172.16.100.2/30" ]
routes:
- to: 0.0.0.0/0
via: 192.168.100.2
metric: 100
Avec les deux, après avoir appliqué la configuration, j'obtiens l'erreur suivante:
Traceback (most recent call last):
File "/usr/sbin/netplan", line 23, in <module>
netplan.main()
File "/usr/share/netplan/netplan/cli/core.py", line 50, in main
self.run_command()
File "/usr/share/netplan/netplan/cli/utils.py", line 130, in run_command
self.func()
File "/usr/share/netplan/netplan/cli/commands/apply.py", line 43, in run
self.run_command()
File "/usr/share/netplan/netplan/cli/utils.py", line 130, in run_command
self.func()
File "/usr/share/netplan/netplan/cli/commands/apply.py", line 93, in command_apply
stderr=subprocess.DEVNULL)
File "/usr/lib/python3.6/subprocess.py", line 291, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['udevadm', 'test-builtin', 'net_setup_link', '/sys/class/net/vlan1000']' returned non-zero exit status 4.
Si je l'applique à nouveau, il passe, mais aucun des itinéraires n'est ajouté à la table de routage. Si je supprime entièrement les instructions de route, cela s'applique sans erreur. Je ne connais pas grand-chose à Netplan, mais cela semble être le problème. Je suppose donc que je fais quelque chose de mal dans la configuration. Où suis-je censé ajouter des routes statis pour les interfaces vlan?
FTR, lorsque j'ajoute les routes statiques manuellement:
Sudo ip route add 192.168.1.0/24 via 172.16.100.1 dev vlan1000
tout fonctionne comme je m'y attendais. Ma préoccupation est que je ne crois pas que ces itinéraires ajoutés manuellement persisteront après un redémarrage. S'il est plus facile de contourner ces routes, je suis ouvert à cela.
Merci,
vlans:
vlan1000:
id: 1000
link: enp0s31f6
addresses: [ "172.16.100.2/30" ]
routes:
- to: 0.0.0.0/0
via: 192.168.100.2
metric: 100
Indentation mise à part, cette configuration serait incorrecte car vous essayez ici d'ajouter une route à une interface qui n'est pas l'interface qui maintient la route vers sa passerelle. La route 0.0.0.0/0 devrait être répertoriée sous l'interface vlan2000, étant donné que c'est le réseau où se trouve votre route vers la passerelle (192.168.100.2).
Mais aussi, selon votre configuration, 192.168.100.2 est une adresse locale, ce qui signifie qu'il est incorrect de l'utiliser comme passerelle. Vous n'avez pas l'ensemble d'Internet (0.0.0.0/0) directement connecté à votre adresse d'hôte sur ce vlan. Votre itinéraire doit être configuré avec l'adresse IP de votre routeur comme valeur via
, pas votre adresse locale.