Назад | Перейти на главную страницу

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

Возможно ли в 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

Как должен измениться файл resolv.conf, если есть два разных шлюза? Требуются какие-либо другие изменения?

Возможно ли иметь второй IP-адрес на одном интерфейсе (например, eth0) - конфигурация псевдонима интерфейса - в другой подсети?

Конечно, ничто не мешает вам это сделать. Сетевые интерфейсы будут видеть широковещательные сообщения для других обеих подсетей, но это, вероятно, не будет иметь большого значения, если у вас нет действительно загруженной сети.

Как должен измениться файл resolv.conf, если есть два разных шлюза? Требуются какие-либо другие изменения?

У вас не может быть 2 шлюзов по умолчанию. Удалите шлюз с одного из этих интерфейсов. Наличие двух таких просто бесполезно. Будет использоваться только один из шлюзов.

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

Как уже упоминалось, нет ничего плохого в том, чтобы иметь две разные подсети в одной сети, и она будет работать до тех пор, пока вы подключены к одной и той же группе коммутаторов / коммутаторов для обеих сетей, и у вас нет каких-либо правил 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. Есть читать здесь Чтобы получить больше информации.

Обычно файл /etc/resolv.conf представляет собой файл конфигурации для параметра, связанного с DNS (сервер имен, домен поиска и т. Д.). В дистрибутиве на основе Red Hat я предлагаю вам создать два файла:

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

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

Обычно файл /etc/resolv.conf представляет собой файл конфигурации для параметра, относящегося к DNS (сервер имен, домен поиска и т. Д.). В дистрибутиве на основе Red Hat я предлагаю вам создать два файла:

/ и т. д. / sysconfic / сетевой сценарий / маршрут-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