RHEL

Red Hat Enterprise Linux — дистрибутив Linux компании Red Hat. Данный дистрибутив позиционируется для корпоративного использования. Многие производители программного и аппаратного обеспечения включили RHEL в число поддерживаемых ими дистрибутивов Linux.

Особенности дистрибутива:

  • RHEL распространяется в виде подписок, которые включают доступ к обновлениям программного обеспечения и техническую поддержку на русском языке в течение 1 года или 3 лет. Разные уровни подписки (Self-Support, Standard, Premium) отличаются формой предоставления технической поддержки (Self-Support — только получение обновлений, Standard и Premium - web-интерфейс и телефон) и скоростью гарантированной реакции службы технической поддержки на вопросы клиента.
  • Новые версии выходят с периодичностью около 3 лет.
  • Наличие коммерческой поддержки на протяжении 10 лет.
  • Отсутствие поддержки MP3 и DivX (по лицензионным соображениям).
  • Платный доступ к двоичным пакетам обновлений (исходные коды доступны).

Стандартные задачи в RHEL

  • rpm - менеджер пакетов.
  • Использование Yum - консольный менеджер RPM-пакетов, с возможностью установки по сети.
  • ntsysv - псевдографический интерфейс для включения и отключения служб. ntsysv в RHEL/CentOS, аналог в Debian утилита sysvconfig и sysv-rc-conf.
  • Команда chkconfig - запуск и остановка служб.
  • /etc/hosts
  • Имя компьютера (hostname) и шлюз по умолчанию задаются в файле:
# 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

route-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
PQ VPS сервера в 28+ странах.