друга IP-адреса в тому ж інтерфейсі, але в іншій підмережі


10

Чи можливо в CentOS 5.7 64bit мати другу IP-адресу в одному інтерфейсі (наприклад, eth0) - конфігурацію псевдоніму - в іншій підмережі?

Ось оригінальний конфігуратор 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

І ось конфігурація 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

Як змінився би файл resv.conf, оскільки є два різні шлюзи? Будь-які інші зміни потрібні?

Відповіді:


4

Чи можливо мати другу IP-адресу на одному інтерфейсі (наприклад, eth0) - конфігурацію псевдоніму - в іншій підмережі?

Звичайно, ніщо не заважає тобі це робити. Мережеві інтерфейси будуть бачити трансляції для інших обох підмереж, але це, ймовірно, не призведе до значних змін, якщо у вас справді не зайнята мережа.

Як змінився би файл resv.conf, оскільки є два різні шлюзи? Будь-які інші зміни потрібні?

У вас не може бути 2 шлюзу за замовчуванням. Видаліть шлюз з одного з цих інтерфейсів. Маючи 2 подібних, просто не збираюся робити нічого корисного. Буде використано лише один із шлюзів.

Роздільна здатність DNS (resolutionv.conf) насправді не має нічого спільного з вашою конфігурацією маршрутизації. Роздільна здатність DNS для Linux є загальносистемною і насправді не має нічого спільного з конфігурацією інтерфейсу. Просто помістіть пару дійсних DNS-серверів у свою резолюцію.conf. Якщо вам потрібно щось більш просунуте, щоб надіслати деякі запити на різні сервери вище, можливо, вам знадобиться встановити щось на зразок DNSMasq.


Мені було цікаво, чи потрібно вказати шлюз per ifcfg-eth0 та один per ifcfg-eth0: 0? [оскільки кожна з них тоді повинна бути в іншій підмережі?
fptstl

2

Як уже згадувалося, немає нічого поганого в двох мережах підмережі в одній мережі, і це буде працювати до тих пір, поки ви підключені до однієї групи комутаторів / комутаторів для обох мереж і до вас не застосовуються жодні правила VLAN або будь-яка інша безпека зони.

Незалежно від того, скільки у вас IP-адрес / підмереж, завжди є лише один шлюз за замовчуванням. Шлюз за замовчуванням використовується, коли IP-адреса не відповідає жодному іншому маршруту в таблиці маршрутів. Тож у вашому прикладі для кожного запиту, який не входить до мережі 192.168.91.0/24 або 10.10.191.0/24, буде переспрямовано на шлюз за замовчуванням.

Але за бажанням ви можете додати ручні маршрути. Тож скажімо, що у вас є третя приватна мережа 10.10.200.0/24, до якої можна дістатися через 10.10.191.0/24. Вам потрібно додати статичний маршрут:

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

Resolv.conf не має нічого спільного з шлюзом і використовується для роздільної здатності DNS. Попросіть прочитати тут для отримання додаткової інформації.


0

Зазвичай файл /etc/resolv.conf - це файл конфігурації для параметра, пов’язаного з DNS (сервер імен, пошуковий домен, ecc). У дистрибутиві на основі Red-Hat я запропоную вам створити два файли:

/ etc / sysconfic / network-script / route-eth0
/ etc / sysconfic / network-script / route-eth0: 0 (я цього ніколи не бачив)

У кожному з них можна було визначити всі параметри маршруту для конкретного інтерфейсу.

Це неправильно. Хоча в системах RHEL / CentOS прийнятно обробляти інтерфейси Ethernet в декількох файлах, маршрутизація обробляється по-різному. Маршрути для конкретного інтерфейсу повинні бути спільно розміщені в одному файлі для цього інтерфейсу. Іншими словами, якщо вам потрібні спеціальні маршрути для eth0: 1, eth0: 2 та eth0: 3, вони повинні бути розміщені в:

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

Нічого подібного: 1 можна додати до імені файлу.

Попередня відповідь пропонувала створити файл для нового інтерфейсу:

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

Це правильно, але не слід розміщувати в ньому директиву GATEWAY =. Це призведе до створення декількох шлюзів за замовчуванням, що спричиняє неправильну поведінку маршрутизації. Залиште параметр GATEWAY = і додайте потрібний маршрут до:

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

1
Схоже, ви намагаєтесь коментувати іншу відповідь, а не відповідати на питання. Ви повинні відредагувати свою відповідь, щоб зосередитись на відповіді на питання.
kasperd

0

Зазвичай файл /etc/resolv.conf - це файл конфігурації для параметра, пов’язаного з DNS (сервер імен, пошуковий домен, ecc). У дистрибутиві на основі Red-Hat я запропоную вам створити два файли:

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

У кожному з них можна було визначити всі параметри маршруту для конкретного інтерфейсу. Правило, яке ви вводите в них, буде завантажено під час завантаження. Шлюз за замовчуванням бажано розмістити у / etc / sysconfig / мережевому файлі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.