web-dev-qa-db-fra.com

Network Manager interrompt les itinéraires manuels

J'ai Ubuntu 13.10, Saucy Salamander x64 fonctionnant en tant qu'invité dans VirtualBox (avec Windows 7 en tant qu'hôte).

J'ai écrit ceci /etc/network/interfaces car je dois ajouter un grand nombre de routes statiques manuelles permanentes permanentes:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet dhcp
    up ip -force -b /etc/network/eth1-routes

eth1-routes contient plusieurs lignes de la forme:

route add 10.0.0.0/8 via 172.x.x.x dev eth1

172.x.x.x est la passerelle que VBox NAT me donne.

En exécutant netstat -nr, il apparaît que toutes mes routes manuelles ont été ajoutées avec succès, y compris les routes permettant d’accéder à deux serveurs DNS via 172.x.x.x.

Cependant, le gestionnaire de réseau indique que les deux périphériques ne sont "pas gérés". Si je règle /etc/NetworkManager/NetworkManager.confmanaged=true, le gestionnaire de réseau fonctionne à nouveau, mais mes itinéraires sont perdus. Mon compromis actuel est donc de définir managed=false et de commenter les lignes eth0 dans /etc/network/interfaces.

Existe-t-il un moyen de gérer un périphérique tout en faisant des routes manuelles comme ci-dessus?

9
Reinderien

Network Manager ne reconnaît pas les instructions que vous avez écrites dans /etc/network/interfaces.

Vous pouvez donc ajouter votre script eth1-routes en tant que script de répartition pour Network Manager dans /etc/network/if-up.d/. Il sera exécuté chaque fois qu'une interface monte. Peut-être devrez-vous écrire dans votre script une "clause if" pour ajouter les routes uniquement si eth1 apparaît. Comme ça:

if [ "$IFACE" == "eth1" ]; then
  route add ...
  route add ...
fi
4
chaos

Network Manager gère ses propres routes statiques - ouvrez Network Manager et sélectionnez "connexion filaire 1". Sélectionnez Modifier. sélectionnez l'onglet IPv4. Au bas de cette page se trouve un bouton "Itinéraires". C'est là que vous les ajoutez. Une fois terminé, NM écrit dans un fichier avec les droits root dans son répertoire/etc/NetworkManager/system-connections/appelé "Connexion filaire 1".

Exemple suit

ls -l /etc/NetworkManager/system-connections/
total 4.0K
-rw------- 1 root root 216 Aug 26 10:38 Wired connection 1

Sudo cat /etc/NetworkManager/system-connections/Wired\ connection\ 1

[802-3-ethernet]
mac-address=A:Real:Mac:Add:re:ss

[connection]
id=Wired connection 1
uuid=df4491fc-0981-4071-82ae-04c7b2d6d9fc
type=802-3-ethernet

[ipv6]
method=auto

[ipv4]
method=auto
route1=10.2.2.0/24,10.1.1.68,1

Où 10.2.2.0 est le réseau de destination et 10.1.1.68 est la passerelle.

5
Fred

Si vous souhaitez ajouter une route à Ubuntu qui continue à redémarrer et n'utilise pas l'interface par défaut comme passerelle, vous souhaiterez peut-être ajouter une instruction de route au fichier de configuration NetworkManager pour l'interface spécifique.

Ajoutez une route au fichier de configuration /etc/NetworkManager/system-connections/"connection name" en ajoutant l’instruction route au fichier de configuration pour (en supposant que IPv4). Le parcours comporte quatre parties. "le premier étant le réseau ou l'adresse IPv4 de destination (ordre d'octet réseau), le second le préfixe réseau ou d'adresse de destination (1 - 32), le troisième étant le saut suivant (ordre d'octets réseau) si any, et le quatrième étant la métrique de route ".

[ipv4]
method=auto
route1=172.16.0.0/16,192.168.3.1,1

Cela équivaut à définir l'itinéraire en utilisant l'instruction de route suivante:

route add -net 172.16.0.0 netmask 255.255.0.0 gw 192.168.3.1

Le nom clé de la route est défini dans le tableau 12 de la documentation destinée aux développeurs NetmorkManager. Veuillez consulter l'URL suivante pour plus d'informations: https://developer.gnome.org/NetworkManager/0.9/ref-settings.html

1
nuwandame