drugi adres IP w tym samym interfejsie, ale w innej podsieci

10

Czy w CentOS 5.7 64bit można mieć drugi adres IP na jednym interfejsie (np. Eth0) - konfiguracji interfejsu aliasu - w innej podsieci?

Oto oryginalna konfiguracja 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

A oto konfiguracja dla 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

Jak zmieniłby się plik resolv.conf, ponieważ istnieją dwie różne bramy? Jakaś inna zmiana jest potrzebna?

fptstl
źródło

Odpowiedzi:

4

Czy możliwe jest posiadanie drugiego adresu IP na jednym interfejsie (np. Eth0) - konfiguracji interfejsu aliasu - w innej podsieci?

Jasne, nic Cię nie powstrzyma. Interfejsy sieciowe zobaczą transmisje dla pozostałych obu podsieci, ale prawdopodobnie nie zrobi to dużej różnicy, jeśli nie będziesz mieć naprawdę obciążonej sieci.

Jak zmieniłby się plik resolv.conf, ponieważ istnieją dwie różne bramy? Jakaś inna zmiana jest potrzebna?

Nie możesz mieć 2 bram domyślnych. Usuń bramę z jednego z tych interfejsów. Mając 2 takie po prostu nie zrobisz nic pożytecznego. Zostanie użyta tylko jedna brama.

Rozdzielczość DNS (resolv.conf) naprawdę nie ma nic wspólnego z konfiguracją routingu. W systemie Linux rozdzielczość DNS jest obejmująca cały system i naprawdę nie ma nic wspólnego z konfiguracją interfejsu. Wystarczy umieścić kilka prawidłowych serwerów DNS w pliku resolv.conf. Jeśli potrzebujesz czegoś bardziej zaawansowanego do wysyłania niektórych żądań do różnych serwerów nadrzędnych, może być konieczne zainstalowanie czegoś takiego jak DNSMasq.

Zoredache
źródło
Zastanawiałem się, czy muszę podać bramę dla ifcfg-eth0 i jedną dla ifcfg-eth0: 0? [skoro każdy z nich powinien znajdować się w innej podsieci?
fptstl
2

Jak już wspomniano, nie ma nic złego w dwóch różnych podsieciach w jednej sieci i będzie działać, dopóki będziesz podłączony do tej samej grupy przełączników / przełączników dla obu sieci i nie będziesz mieć do niej żadnych reguł VLAN ani żadnych innych zabezpieczeń strefy.

Niezależnie od liczby posiadanych adresów IP / podsieci, zawsze jest tylko jedna brama domyślna. Brama domyślna jest używana, gdy adres IP nie pasuje do żadnej innej trasy w tabeli routingu. Tak więc w twoim przykładzie każde żądanie, które nie jest częścią 192.168.91.0/24 lub 10.10.191.0/24, zostanie przekierowane do domyślnej bramy.

Ale jeśli chcesz, możesz nadal dodawać trasy ręczne. Powiedzmy, że masz trzecią prywatną sieć 10.10.200.0/24, która jest dostępna przez 10.10.191.0/24. Musisz dodać trasę statyczną:

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

Resolv.conf nie ma nic wspólnego z bramą i służy do translacji DNS. Mają przeczytać tutaj , aby uzyskać więcej informacji.

Golja
źródło
0

Zwykle plik /etc/resolv.conf jest plikiem konfiguracyjnym dla opcji związanej z DNS (serwer nazw, domena wyszukiwania, ecc). W dystrybucji opartej na systemie Red-Hat zasugeruję utworzenie dwóch plików:

/ etc / sysconfic / network-script / route-eth0
/ etc / sysconfic / network-script / route-eth0: 0 (nigdy tego nie widziałem)

W każdym z nich można zdefiniować wszystkie opcje trasy dla określonego interfejsu.

To jest niepoprawne. Chociaż w systemach RHEL / CentOS dopuszczalne jest obsługiwanie interfejsów Ethernet w kilku plikach, routing jest obsługiwany inaczej. Trasy dla określonego interfejsu muszą być zbiorczo umieszczone w jednym pliku dla tego interfejsu. Innymi słowy, jeśli potrzebujesz niestandardowych tras dla eth0: 1, eth0: 2 i eth0: 3, wszystkie muszą być umieszczone w:

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

Nic takiego: 1 można dodać do nazwy pliku.

Poprzednia odpowiedź sugerowała utworzenie pliku dla nowego interfejsu:

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

Jest to poprawne, ale nie powinieneś umieszczać w nim dyrektywy GATEWAY =. Spowoduje to utworzenie kilku domyślnych bram, co spowoduje nieprawidłowe działanie routingu. Pozostaw opcję BRAMA = i dodaj wymaganą trasę do:

/etc/sysconfig/network-script/route-eth0
John Pace II
źródło
1
Wygląda na to, że próbujesz skomentować inną odpowiedź zamiast odpowiedzieć na pytanie. Powinieneś edytować swoją odpowiedź, aby skupić się na odpowiedzi na pytanie.
kasperd
0

Zwykle plik /etc/resolv.conf jest plikiem konfiguracyjnym dla opcji związanej z DNS (serwer nazw, domena wyszukiwania, ecc). W dystrybucji opartej na systemie Red-Hat zasugeruję utworzenie dwóch plików:

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

W każdym z nich można zdefiniować wszystkie opcje trasy dla określonego interfejsu. Reguła, którą wstawisz, zostanie załadowana podczas rozruchu. Brama domyślna powinna być umieszczona w pliku / etc / sysconfig / network.

Jero
źródło