Как добавить алиас сетевого интерфейса в Centos 7 (Linux)
Небольшая заметка о том, как добавить алиас (псевдоним, второй 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.
Вариант 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 или что-то еще), для последующей реализации задуманного проекта.

Автор:






