второй 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

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

Ответы:


4

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

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

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

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

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


Мне было интересно, мне нужно указать шлюз для ifcfg-eth0 и один для 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
Похоже, вы пытаетесь прокомментировать другой ответ, а не ответить на вопрос. Вы должны отредактировать свой ответ, чтобы сосредоточиться на ответе на вопрос.
Касперд

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 / network.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.