deuxième adresse IP sur la même interface mais sur un sous-réseau différent


10

Est-il possible dans CentOS 5.7 64 bits d'avoir une deuxième adresse IP sur une interface (par exemple eth0) - configuration d'interface alias - dans un sous-réseau différent?

Voici la configuration d'origine pour eth0

more etc/sysconfig/network-scripts/ifcfg-eth0
# Broadcom Corporation NetXtreme BCM5721 Gigabit Ethernet PCI Express
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.91.255
HWADDR=00:1D:09:FE:DA:04
IPADDR=192.168.91.250
NETMASK=255.255.255.0
NETWORK=192.168.91.0
ONBOOT=yes

Et voici la configuration pour eth0: 0

more etc/sysconfig/network-scripts/ifcfg-eth0:0
# Broadcom Corporation NetXtreme BCM5721 Gigabit Ethernet PCI Express
DEVICE=eth0:0
BOOTPROTO=static
BROADCAST=10.10.191.255
DNS1=10.10.15.161
DNS2=10.10.18.36
GATEWAY=10.10.191.254
HWADDR=00:1D:09:FE:DA:04
IPADDR=10.10.191.210
NETMASK=255.255.255.0
NETWORK=10.39.191.0
ONPARENT=yes

Comment le fichier resolv.conf devrait-il changer car il existe deux passerelles différentes? Un autre changement est-il nécessaire?

Réponses:


4

Est-il possible d'avoir une deuxième adresse IP sur une interface (par exemple eth0) - configuration d'interface alias - dans un sous-réseau différent?

Bien sûr, rien ne vous empêche de faire ça. Les interfaces réseau verront des diffusions pour les deux autres sous-réseaux, mais cela ne fera probablement pas une grande différence à moins que vous ayez un réseau très occupé.

Comment le fichier resolv.conf devrait-il changer car il existe deux passerelles différentes? Un autre changement est-il nécessaire?

Vous ne pouvez pas avoir 2 passerelles par défaut. Supprimez une passerelle de l'une de ces interfaces. Avoir 2 comme ça ne va rien faire d'utile. Une seule des passerelles sera utilisée.

La résolution DNS (resolv.conf) n'a vraiment rien à voir avec votre configuration de routage. Sous Linux, la résolution DNS est à l'échelle du système et n'a vraiment rien à voir avec la configuration de l'interface. Placez simplement quelques serveurs DNS valides dans votre resolv.conf. Si vous avez besoin de quelque chose de plus avancé pour envoyer des requêtes à différents serveurs en amont, vous devrez peut-être installer quelque chose comme DNSMasq.


Je me demandais, dois-je spécifier une passerelle par ifcfg-eth0 et une par ifcfg-eth0: 0? [puisque chacun d'entre eux est censé être sur un sous-réseau différent?
fptstl

2

Comme déjà mentionné, il n'y a rien de mal à avoir deux sous-réseaux différents sur un même réseau et cela fonctionnera tant que vous êtes connecté au même commutateur / groupe de commutateurs pour les deux réseaux et qu'aucune règle VLAN ne lui est appliquée ni aucune autre sécurité zones.

Quel que soit le nombre d'adresses IP / sous-réseaux dont vous disposez, il n'y a toujours qu'une seule passerelle par défaut. Une passerelle par défaut est utilisée lorsqu'une adresse IP ne correspond à aucune autre route dans la table de routage. Ainsi, dans votre exemple, chaque demande qui ne fait pas partie du réseau 192.168.91.0/24 ou 10.10.191.0/24 sera redirigée vers la passerelle par défaut.

Mais si vous le souhaitez, vous pouvez toujours ajouter des itinéraires manuels. Supposons donc que vous disposiez d'un troisième réseau privé 10.10.200.0/24, accessible via 10.10.191.0/24. Vous devez ajouter un itinéraire statique:

ip route add 10.10.200.0/24 via 10.10.191.254 dev eth0:0

Resolv.conf n'a rien à voir avec la passerelle et est utilisé pour les résolutions DNS. Avoir une lecture ici pour plus d' informations.


0

Normalement, le fichier /etc/resolv.conf est un fichier de configuration pour les options liées au DNS (serveur de noms, domaine de recherche, ecc). Dans une distribution basée sur Red-Hat, je vous proposerai de créer deux fichiers:

/ etc / sysconfic / network-script / route-eth0
/ etc / sysconfic / network-script / route-eth0: 0 (je n'ai jamais vu cela)

Dans chacun, vous pouvez définir toutes les options de route pour l'interface spécifique.

Ceci est une erreur. Bien qu'il soit acceptable sur les systèmes RHEL / CentOS de gérer les interfaces Ethernet dans plusieurs fichiers, le routage est géré différemment. Les routes pour une interface spécifique doivent être collectivement placées dans un seul fichier pour cette interface. En d'autres termes, si vous avez besoin de routes personnalisées pour eth0: 1, eth0: 2 et eth0: 3, elles doivent toutes être placées dans:

/etc/sysconfig/network-script/route-eth0

Rien de tel: 1 peut être ajouté au nom de fichier.

Une réponse précédente suggérait de créer un fichier pour la nouvelle interface:

/etc/sysconfig/network-scripts/ifcfg-eth0:1 

C'est correct, mais vous ne devez pas y placer la directive GATEWAY =. Cela entraînera la création de plusieurs passerelles par défaut, ce qui entraînera un mauvais comportement du routage. Laissez l'option PASSERELLE = désactivée et ajoutez l'itinéraire requis à:

/etc/sysconfig/network-script/route-eth0

1
Il semble que vous essayez de commenter une autre réponse plutôt que de répondre à la question. Vous devez modifier votre réponse pour vous concentrer sur la réponse à la question.
kasperd

0

Normalement, le fichier /etc/resolv.conf est un fichier de configuration pour les options liées au DNS (serveur de noms, domaine de recherche, ecc). Dans une distribution basée sur Red-Hat, je vous proposerai de créer deux fichiers:

/etc/sysconfig/network-script/route-eth0  
/etc/sysconfig/network-script/route-eth0:0  (I have not ever seen this)

Dans chacun, vous pouvez définir toutes les options de route pour l'interface spécifique. La règle que vous y mettez sera chargée au démarrage. Il est conseillé de placer la passerelle par défaut dans le fichier / etc / sysconfig / network.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.