zweite IP-Adresse auf derselben Schnittstelle, aber in einem anderen Subnetz


10

Ist es in CentOS 5.7 64bit möglich, eine zweite IP-Adresse auf einer Schnittstelle (z. B. eth0) - Alias-Schnittstellenkonfiguration - in einem anderen Subnetz zu haben?

Hier ist die ursprüngliche Konfiguration für 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

Und hier ist die Konfiguration für 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

Wie sollte sich die Datei resolv.conf ändern, da es zwei verschiedene Gateways gibt? Weitere Änderungen erforderlich?

Antworten:


4

Ist es möglich, eine zweite IP-Adresse auf einer Schnittstelle (z. B. eth0) - Alias-Schnittstellenkonfiguration - in einem anderen Subnetz zu haben?

Sicher, nichts hindert Sie daran. Die Netzwerkschnittstellen sehen Broadcasts für die beiden anderen Subnetze, aber das wird wahrscheinlich keinen großen Unterschied machen, es sei denn, Sie haben ein sehr ausgelastetes Netzwerk.

Wie sollte sich die Datei resolv.conf ändern, da es zwei verschiedene Gateways gibt? Weitere Änderungen erforderlich?

Sie können nicht 2 Standard-Gateways haben. Entfernen Sie ein Gateway von einer dieser Schnittstellen. 2 davon zu haben, wird einfach nichts Nützliches bewirken. Es wird nur eines der Gateways verwendet.

Die DNS-Auflösung (resolv.conf) hat wirklich nichts mit Ihrer Routing-Konfiguration zu tun. Unter Linux ist die DNS-Auflösung systemweit und hat überhaupt nichts mit der Schnittstellenkonfiguration zu tun. Platzieren Sie einfach ein paar gültige DNS-Server in Ihrer resolv.conf. Wenn Sie etwas Fortgeschritteneres benötigen, um einige Anforderungen an verschiedene Upstream-Server zu senden, müssen Sie möglicherweise DNSMasq installieren.


Ich habe mich gefragt, ob ich ein Gateway pro ifcfg-eth0 und eines pro ifcfg-eth0: 0 angeben muss. [da sich jeder von ihnen dann in einem anderen Subnetz befinden soll?
fptstl

2

Wie bereits erwähnt, ist es nichts Falsches, zwei verschiedene Subnetze in einem Netzwerk zu haben, und es funktioniert, solange Sie für beide Netzwerke mit derselben Switch / Switch-Gruppe verbunden sind und keine VLAN-Regeln auf dieses Netzwerk oder eine andere Sicherheit angewendet werden Zonen.

Unabhängig davon, wie viele IP-Adressen / Subnetze Sie haben, gibt es immer nur ein Standard-Gateway. Ein Standard-Gateway wird verwendet, wenn eine IP-Adresse nicht mit anderen Routen in der Routing-Tabelle übereinstimmt. In Ihrem Beispiel wird also für jede Anforderung, die nicht Teil des Netzwerks 192.168.91.0/24 oder 10.10.191.0/24 ist, das Standard-Gateway umgeleitet.

Wenn Sie möchten, können Sie dennoch manuelle Routen hinzufügen. Nehmen wir also an, Sie haben ein drittes privates Netzwerk 10.10.200.0/24, auf das Sie über 10.10.191.0/24 zugreifen können. Sie müssen eine statische Route hinzufügen:

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

Resolv.conf hat nichts mit dem Gateway zu tun und wird für DNS-Resolvs verwendet. Haben Sie einen hier lesen , um weitere Informationen.


0

Normalerweise ist die Datei /etc/resolv.conf eine Konfigurationsdatei für die DNS-bezogene Option (Nameserver, Suchdomäne, ecc). In einer Red-Hat-basierten Distribution empfehle ich Ihnen, zwei Dateien zu erstellen:

/ etc / sysconfic / netzwerkskript / route-eth0
/ etc / sysconfic / netzwerkskript / route-eth0: 0 (das habe ich noch nie gesehen)

In jedem von ihnen können Sie alle Routenoptionen für die spezifische Schnittstelle definieren.

Das ist falsch. Während es auf RHEL / CentOS-Systemen akzeptabel ist, Ethernet-Schnittstellen in mehreren Dateien zu verarbeiten, wird das Routing unterschiedlich gehandhabt. Routen für eine bestimmte Schnittstelle müssen für diese Schnittstelle gemeinsam in einer einzigen Datei abgelegt werden. Mit anderen Worten, wenn Sie benutzerdefinierte Routen für eth0: 1, eth0: 2 und eth0: 3 benötigen, müssen diese alle platziert werden in:

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

Nichts wie: 1 kann an den Dateinamen angehängt werden.

In einer früheren Antwort wurde vorgeschlagen, eine Datei für die neue Schnittstelle zu erstellen:

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

Dies ist korrekt, aber Sie sollten die Anweisung GATEWAY = nicht darin platzieren. Dies führt dazu, dass mehrere Standard-Gateways erstellt werden, wodurch sich das Routing schlecht verhält. Lassen Sie die Option GATEWAY = weg und fügen Sie die erforderliche Route hinzu zu:

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

1
Es sieht so aus, als würden Sie versuchen, eine andere Antwort zu kommentieren, anstatt die Frage zu beantworten. Sie sollten Ihre Antwort bearbeiten, um sich auf die Beantwortung der Frage zu konzentrieren.
Kasperd

0

Normalerweise ist die Datei /etc/resolv.conf eine Konfigurationsdatei für die DNS-bezogene Option (Nameserver, Suchdomäne, ecc). In einer Red-Hat-basierten Distribution empfehle ich Ihnen, zwei Dateien zu erstellen:

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

In jedem von ihnen können Sie alle Routenoptionen für die spezifische Schnittstelle definieren. Die Regel, die Sie in diese eingeben, wird beim Booten geladen. Es wird empfohlen, das Standard-Gateway in der Datei / etc / sysconfig / network abzulegen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.