Network Manager rompt les itinéraires manuels

9

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 cela /etc/network/interfacesparce que je dois ajouter un grand nombre de routes statiques manuelles 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 du formulaire:

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

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

En exécutant, netstat -nril semble que toutes mes routes manuelles ont été ajoutées avec succès, y compris les routes pour accéder à deux serveurs DNS via 172.x.x.x.

Cependant, le gestionnaire de réseau indique que les deux appareils ne sont "pas gérés". Si je définis /etc/NetworkManager/NetworkManager.conf managed=true, le gestionnaire de réseau fonctionne à nouveau mais mes itinéraires sont perdus. Mon compromis actuel est donc de définir managed=falseet de commenter les eth0lignes /etc/network/interfaces.

Existe-t-il un moyen de gérer un appareil et de toujours effectuer des itinéraires manuels comme ci-dessus?

Reinderien
la source

Réponses:

4

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

Vous pouvez donc ajouter votre script en eth1-routestant que script de répartiteur pour Network Manager dans /etc/network/if-up.d/. Il sera exécuté à chaque fois qu'une interface monte. Vous devrez peut-être écrire dans votre script une "clause if" pour n'ajouter les routes que si elle eth1apparaît. Comme ça:

if [ "$IFACE" == "eth1" ]; then
  route add ...
  route add ...
fi
le chaos
la source
5

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

L'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.

Fred
la source
1

Si vous souhaitez ajouter une route à Ubuntu qui persiste au redémarrage et n'utilise pas l'interface par défaut comme passerelle, vous pouvez 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 / "nom de connexion" en ajoutant l'instruction route au fichier de configuration pour (en supposant IPv4). L'itinéraire comporte quatre parties; "le premier étant le réseau ou l'adresse IPv4 de destination (ordre des octets réseau), le second le réseau ou le préfixe d'adresse de destination (1 - 32), le troisième étant le saut suivant (ordre des octets réseau) le cas échéant, et le quatrième étant le métrique de l'itinéraire " .

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

Cela équivaut à définir l'itinéraire à l'aide de l'instruction d'itinéraire suivante:

route add -net 172.16.0.0 netmask 255.255.0.0 gw 192.168.3.1

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

nuwandame
la source