Как добавить алиас сетевого интерфейса в Centos 7 (Linux)

Author Автор: Роман Чернышов    Опубликовано: 23 сентября 2024

лиас сетевого интерфейса Небольшая заметка о том, как добавить алиас (псевдоним, второй IP адрес и маску подсети) для сетевого интерфейса в Linux, а в частности CentOS 7. Вообще, что такое алиас сетевого интерфейса и для чего он может быть полезен? Это возможность на один физический сетевой интерфейс(сетевую карту), назначить несколько виртуальных интерфейсов, каждый их которых(как уже стало понятно) будет иметь свой IP и маску подсети. Что может быть вполне удобно для разграничения доступа к некоторым приложениям(сервисам и службам), которые слушают один и тот же порт(но теперь на разных IP адресах). Или же, таким образом можно назначить интерфейсу внешний IP адрес, расположенный за NAT и все приложения заставить работать через него (тем самым создав видимость для них, что перед сервером нет ни какого NAT, и нет локального IP).

Об алиасах

Предположим, имеется сетевой интерфейс с названием eth0, тогда добавляемый алиас(псевдоним), будет иметь названием eth0:1 и так далее eth0:2, eth0:N. Можно добавить любое количество алиасов сетевых интерфейсов.

Чтобы посмотреть список текущих сетевых интерфейсов(с IP v4) и их алиасов выполним команду:

ip -4 addr show

или для вывод более детальной информации:

ifconfig

Алиасы имеют ряд ограничений, например на них нельзя повесить DHCP сервер.

Как добавить алиас для сетевого интерфейса?

Вариант 1.

Быстрое добавление алиаса для сетевого интерфейса eth0, с названием eth0:0 и IP адресом 192.168.1.101, выполняем команду:

ifconfig eth0:0 192.168.1.101 up

Изменение IP и маски подсети для интерфейса алиаса, выполняем команду:

ifconfig eth0:2 192.168.1.101 netmask 255.255.255.0

Недостаток данного способа — он временный, то есть после перезагрузки службы network или сервера, алиас сетевого интерфейса будет удален.

Вариант 2.

Настраиваем файл конфигурации сетевого интерфейса, который расположен в директории /etc/sysconfig/network-scripts/ и как правило имеет название ifcfg-ethX:Y, где X — номер интерфейса, а Y — номер алиаса. И так, переходим в вышеупомянутую директорию, копируем содержимое файла(конфигурацию) настроек сетевого интерфейса ifcfg-eth0 и создаем в этой же директории новый файл с названием ifcfg-eth0:1, вставляем в него ранее скопированную конфигурацию, после чего редактируем ее следующим образом, заменив имеющиеся параметры на свои:

DEVICE="eth0:1"
IPADDR="192.168.1.101"

Затем запустим новый сетевой интерфейс(алиас), выполняем команду:

ifup eth0:0

И проверим, появился ли интерфейс в общем списке, выполняем команду:

ifconfig

Вариант 3.

Данный вариант считается(в узких кругах) более продвинутым, современным или всего лишь простым способом добавления алиса сетевого интерфейса. Потому, что нужно в файл конфигурации текущего интерфейса, просто добавить, следующие строки:

IPADDR2="192.168.1.101"
NETMASK2="255.255.255.0"

После чего перезапустить службу network:

systemctl restart network

К недостаткам способа можно отнести то, что при таком добавлении алиаса, перечень его настроек несколько уже, нежели при создании отдельного конфигурационного файла.

На этом всё! В итоге мы получим дополнительный виртуальный сетевой интерфейс, например на которым сможем повестить какую либо службу(apache, nginx или что-то еще), для последующей реализации задуманного проекта.

Оставить комментарий

Автор блога
Роман Чернышов
Веб-разработчик,
Full Stack
Senior, Architect
PHP, JavaScript, Node.JS, Python, HTML 5, CSS 3, MySQL, Bash, Linux Admin
Заказать работу
предложить оффер

Моя книга
Книга. Веб-разработчик. Легкий вход в профессию
Печатная книга
Веб-разработчик.
Легкий вход в профессию
Купить за 359₽
Популярные записи
Последние вопросы
Список вопросов
Последние комментарии
Меню

Archive

Мои проекты
Insurance CMS Love Crm CMS Совместные покупки Мой PHP Framework Хостинг для моих клиентов Лицензии на мой софт и поддержка