Red Hat Enterprise Linux — дистрибутив Linux компании Red Hat. Данный дистрибутив позиционируется для корпоративного использования. Многие производители программного и аппаратного обеспечения включили RHEL в число поддерживаемых ими дистрибутивов Linux.
Особенности дистрибутива:
# nano /etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=mr.lux.net GATEWAY=85.xxx.xxx.xxx
Для каждой сетевой карты настройки задаются в отдельном файле, например файл ifcfg-eth0 для сетевого интерфейса eth0
# nano /etc/sysconfig/network-scripts/ifcfg-eth0 # Intel Corporation 82575EB Gigabit Network Connection DEVICE=eth0 BOOTPROTO=static BROADCAST=85.xxx.xxx.255 #HWADDR=00:30:48:D6:0F:D6 IPADDR=85.xxx.xxx.xxx NETMASK=255.255.255.0 NETWORK=85.xxx.xxx.0 ONBOOT=yes # включать при загрузке
В этот же файл можно добавить дополнительные опции, которые настраиваются утилитой ethtool
ETHTOOL_OPTS="speed 100 duplex full autoneg off"
Все меняется, все усложняется, оказывается запустить несколько IP-адресов IPv4/IPv6 на одном интерфейсе в CentOS 7 (RHEL 7), это совсем не так, как было в CentOS 6 и CentOS 6.5.
ifconfig не работает в CentOS, используем новомодную альтернативу
ip a | grep 'inet'
Проверим, используется ли Network Manager для нашего интерфейса, которому мы хотим сопоставить дополнительный адрес:
grep 'NM_CONTROLLED' /etc/sysconfig/network-scripts/ifcfg-eth0 NM_CONTROLLED="yes"
О да! Мы в выводе видим yes, значит Network Manager используется.
В таком случае при попытке добавить новый IP-адрес в файл network-scripts, который располагается /etc/sysconfig/network-scripts/, нас ждёт неудача в RHEL 7 / CentOS 7. Раньше в CentOS 6 или 6.5 всё было просто: создали новый файл и готово!
$ cat ifcfg-enp3s0:0 NAME="enp3s0:0" ONBOOT="yes" BOOTPROTO="static" IPADDR="10.4.0.10" NETMASK="255.255.255.0"
Но при таком подходе в RHEL 7 / CentOS 7 после перезагрузки сети, основной IP-адрес будет удалён, а псевдоним займёт его место – так понимает наши действия «Network Manager».
Говорят что можно использовать какую-то утилиту nmtui, но мы пойдем другим путем и отключим NM_CONTROLLED задав значение no и будем добавлять ip алиасы по старинке, получим:
# cat ifcfg-eth0:0 DEVICE="eth0:0" BOOTPROTO="static" NM_CONTROLLED="no" ONBOOT="yes" TYPE="Ethernet" IPADDR="10.4.0.12" NETMASK="255.255.255.0"
Запускаем новый интерфейс:
ifup eth0:0
Добавим IPv6 в тот же файл что и IPv4, просто добавляем строки ниже, полный файл получается таким
DEVICE="eth0:0" BOOTPROTO="static" NM_CONTROLLED="no" ONBOOT="yes" TYPE="Ethernet" DNS1="2001:4860:4860::8888 2001:4860:4860::8844" IPADDR="10.4.0.12" NETMASK="255.255.255.0" # IPv6 IPV6INIT=yes # Первый IP IPV6ADDR=3b19:7c46::53f # Ниже добавляем алиасы IPV6_DEFAULTGW=3b19:7c46::1 IPV6ADDR_SECONDARIES=3b19:7c46::615 IPV6ADDR_SECONDARIES=3b19:7c46::616 IPV6ADDR_SECONDARIES=3b19:7c46::617 IPV6ADDR_SECONDARIES=3b19:7c46::618
Перегружаем интерфейсы ifdown, ifup. Тестируем командой ping6.
Чтобы статический маршрут подгружался при старте системы необходимо создать файл /etc/sysconfig/network-scripts/route-<name_interface>, где имя интерфейса через который будет проходить этот маршрут, например eth1
10.26.95.0/24 via 10.161.85.17 dev eth1 # route add -net 10.26.95.0 netmask 255.255.255.0 gw 10.161.85.17 dev eth1 172.20.20.0/24 via 10.161.85.17 dev eth1 # route add -net 172.20.20.0 netmask 255.255.255.0 gw 10.161.85.17 dev eth1
Утилита netstat содержится в пакете
yum install net-tools