Настройка сетевых интерфейсов в centos 8/7

В данной статье мы рассмотрим способы настройки сети в системах Linux CentOS 7/8, покажем, как настраивать сетевых интерфейсов через конфигурационные файлы,

Настройка сети при установке CentOS 8

В окне «Network & Host Name» вы увидите список ваших сетевых интерфейсов, они по умолчанию отключены. В моем примере их два. Каждый сетевой интерфейс имеет отличительное имя, в моем примере, это ens33 и ens36. Видно, что текущий статус «Disconnected», чтобы это изменить переведите тумблер с состояния «Off» на «On».

Если в вашей с локальной сети есть сервер DHCP, в моем примере на CISCO, то вы должны получить нужные настройки, как видно я поймал IP адрес 192.168.31.10/24 и DNS 192.168.31.1, 192.168.31.2. Чуть ниже в левом нижнем углу вы можете сразу задать имя вашего сервера CentOS 8. Если вас не устраивает, что CentOS 8 будет получать настройки сети по DHCP и вы хотите задать статический IP-адрес, то нажмите кнопку «Configure».

В окне свойств сетевого интерфейса найдите вкладку IPV4 Settings, обратите внимание, что тут будет поле «Method», в котором по умолчанию стоит «Automatic (DHCP)», то есть динамическое получение сетевых настроек в CentOS 8. На выбор у вас будут вот такие пункты:

  • Automatic (DHCP) — автоматическое получение всех настроек: IP, маску, DNS, Основной шлюз, маршруты
  • Automatic (DHCP) addresses only — вы получите автоматически только IP-адрес
  • Manual — ручная настройка сети CentOS 8
  • Link-Local Only — Локальные ссылки назначаются автоматически, когда компьютер не настроен на использование статического IP-адреса и не может найти DHCP-сервер. По сути, то APIPA адрес из диапазона 169.254.0.0
  • Shared to other computers — это совместное использование сетевого интерфейса. Простой пример у вас есть сервер с двумя сетевыми интерфейсами один LAN второй WAN, и есть другой сервер, где просто один сетевой интерфейс с LAN и без интернета. Вы можете выставить на первом сервере WAN в режим «Shared to other computers» и указать его в маршрутах для выхода в интернет.
  • Disabled — отключение получения настроек

Давайте я настрою статический IP-адрес на моем сетевом интерфейсе ens33. Выставляю в методе получения «Manual». В поле «Address» я нажимаю кнопку «Add», для добавления новых настроек, задаю Ip-адрес, маску в «Netmask» и основной шлюз в «Gateway». Чуть ниже я указываю свои DNS сервера, у меня это 192.168.31.1, 192.168.31.2, так же можете в поле «Search domains» указать ваше имя домена Active Directory, у меня это root.pyatilistnik.org.

Галка «Require IPv4 addressing for this connection to complete (Требовать адресацию IPv4 для этого соединения)» — Чтобы разрешить системе устанавливать это соединение в сети с поддержкой IPv6, если конфигурация IPv4 завершится неудачно, но конфигурация IPv6 будет успешной. Кнопка «Routes» позволяет вам настроить дополнительные маршруты в CentOS 8.

Нажмите кнопку «Add», чтобы добавить IP-адрес, маску сети, адрес шлюза и метрику для нового статического маршрута. Можете выбрать «Use this connection only for resources on its network», чтобы ограничить подключения только к локальной сети.

Как настроить 2 IP адреса на одном интерфейсе

Если у вас появилась необходимость настроить 2 IP адреса на одном интерфейса в CentOS, то сделать это достаточно просто. Воспользуемся командой ifconfig. Для начала проверим список сетевых интерфейсов:

# ifconfig
eno16777728: flags=4163 mtu 1500
inet 192.168.159.129 netmask 255.255.255.0 broadcast 192.168.159.255
ether 00:0c:29:7d:59:3f txqueuelen 1000 (Ethernet)
RX packets 254 bytes 30173 (29.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 204 bytes 27658 (27.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 0 (Local Loopback)
RX packets 11 bytes 940 (940.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 11 bytes 940 (940.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Добавим к интерфейсу eno16777728 еще один ip адрес 192.168.159.120:

# ifconfig eno16777728:1 192.168.159.120 up

Проверим, что получилось:

# ifconfig
eno16777728: flags=4163 mtu 1500
inet 192.168.159.129 netmask 255.255.255.0 broadcast 192.168.159.255
ether 00:0c:29:7d:59:3f txqueuelen 1000 (Ethernet)
RX packets 254 bytes 30173 (29.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 204 bytes 27658 (27.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eno16777728:1: flags=4163 mtu 1500
inet 192.168.159.120 netmask 255.255.255.0 broadcast 192.168.159.255
ether 00:0c:29:7d:59:3f txqueuelen 1000 (Ethernet)
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 0 (Local Loopback)
RX packets 11 bytes 940 (940.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 11 bytes 940 (940.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Все в порядке, мы добавили второй ip адрес на один и тот же интерфейс. Но после перезагрузки дополнительный адрес не сохранится. Чтобы его сохранить, необходимо создать файл настроек интерфейса в папке /etc/sysconfig/network-scripts

# mcedit /etc/sysconfig/network-scripts/ifcfg-eno16777728:1
DEVICE=eno16777728:1
BOOTPROTO=static
IPADDR=192.168.159.120
NETMASK=255.255.255.0
ONBOOT=yes

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

Именование сетевых интерфейсов в CentOS

Классическая схема именования сетевых интерфейсов в Linux присваивает имена eth0, eth1 и так далее по порядку. Но эти имена не привязываются жестко к интерфейсам и после перезагрузки при наличии нескольких сетевых интерфейсов, эти имена могут поменяться. Это может доставлять некоторые проблемы, при настройке, например, межсетевого экрана через firewalld или iptables. В связи с этим начиная с RedHat 7 и CentOS 7, решено было назначать имена сетевых интерфейсов на основе иерархии различных схем именования. По умолчанию systemd будет поочередно применять схемы именования, остановившись на первой доступной и применимой. Имена присваиваются в автоматическом режиме, остаются неизменными даже если аппаратные средства добавлены или изменены. С другой стороны, такие имена интерфейсов менее читабельны, например, enp5s0 или ens3, чем традиционные eth0 и eth1.

Можно вернуться к стандартному имени интерфейса Linux с помощью следующих действий.

Отредактируйте файл /etc/default/grub:

В строку GRUB_CMDLINE_LINUX нужно добавить:

net.ifnames=0 biosdevname=0

Пример полной строки:

GRUB_CMDLINE_LINUX="consoleblank=0 fsck.repair=yes crashkernel=auto nompath selinux=0 rhgb quiet net.ifnames=0 biosdevname=0"

Обновите конфигурацию grub:

Переименуйте конфигурационный файл сетевого интерфейса:

И заменить значение DEVICE:

Сохраните файл, перезагрузите сервер и проверьте все ли в порядке:

Интерфейс теперь называется eth0.

Настройка аутентификации с помощью открытого ключа SSH в CentOS 7

Чтобы защитить SSH-сервер и настроить аутентификацию с открытым ключом, чтобы повысить безопасность вашего сервера с помощью закрытого ключа SSH для входа в систему, сначала сгенерируйте пару ключей SSH с помощью следующей команды.

Кстати, помимо указанных настроек, после установки сервера, Вы можете проводить мониторинг сайта и проверки uptime через специальный сервис https://www.host-tracker.com/.

Не вводите ключевую фразу, если вы хотите автоматизировать управление сервером через SSH.

После генерации пар ключей SSH скопируйте ключ на сервер, к которому вы хотите подключиться, введя команду ниже. Первоначально введите удаленный пароль пользователя SSH, чтобы скопировать открытый ключ.

После того, как открытый ключ SSH был скопирован на удаленный сервер, войдите в систему на удаленном сервере SSH с помощью следующей команды.

Наконец, чтобы защитить сервер SSH, убедитесь, что вы запрещаете удаленный доступ SSH к учетной записи root, открыв файл конфигурации SSH / etc / ssh / sshd_config с вашим текстовым редактором в качестве пользователя root и изменив его с Да на Нет.

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

Сетевые настройки на сервере CentOS 7

Первый раз с сетевыми настройками сервера CentOS мы сталкиваемся, когда производим установку. На экране первоначальной настройки есть отдельный пункт, касающийся настройки сетевых интерфейсов:

Зайдя в него мы видим список подключенных сетевых карт. Каждую из них можно включить соответствующим ползунком (пункт 1 на картинке). При активировании интерфейса он автоматически получает настройки по dhcp. Результат работы dhcp можно посмотреть тут же. Если вас не устраивают эти настройки, их можно отредактировать, нажав configure
(пункт 3 на картинке). Здесь же можно задать hostname
(пункт 2 на картинке):

Открыв окно дополнительный настроек Ehernet, вы сможете изменить имя сетевого интерфейса, указать настройки IP (пункт 1 на картинке), выбрать ручные настройки
(пункт 2 на картинке), назначить ip адрес
(пункт 3 на картинке), установить dns сервер
(пункт 4 на картинке) и сохранить сетевые настройки (пункт 5 на картинке):

После выполнения остальных настроек начнется установка. После установки у вас будет сервер с указанными вами сетевыми настройками.

Теперь рассмотрим другую ситуацию. Сервер, а соответственно и конфигурацию сети, производили не вы, а теперь вам надо ее посмотреть либо изменить. В вашем распоряжении консоль сервера, в ней и будем работать. Если у вас установка производилась с дистрибутива minimal
, то при попытке посмотреть сетевые настройки с помощью команды ifconfig
в консоли вы увидите следующее:

Bash: ifconfig: command not found

или в русской версии:

Bash: ifconfig команда не найдена

Для работы с ifconfig и прочими сетевыми утилитами необходимо установить пакет net-tools
. Сделаем это:

# yum -y install net-tools.x86_64

Теперь можно увидеть настройки сети:

# ifconfig

eno16777728: flags=4163 mtu 1500
inet 192.168.159.129

RX packets 319 bytes 36709 (35.8 KiB)
TX packets 256 bytes 148817 (145.3 KiB)

lo: flags=73 mtu 65536
inet6::1 prefixlen 128 scopeid 0x10
RX packets 6 bytes 624 (624.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6 bytes 624 (624.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Если у вас нет желания устанавливать дополнительный пакет, то можно воспользоваться более простой командой ip
с параметрами:

# ip addr

1: lo: mtu 65536 qdisc noqueue state UNKNOWN
inet 127.0.0.1/8 scope host lo
inet6::1/128 scope host
valid_lft forever preferred_lft forever
2: eno16777728: mtu 1500 qdisc pfifo_fast state UP qlen 1000
inet 192.168.159.129
/24 brd 192.168.159.255 scope global dynamic eno16777728
valid_lft 1709sec preferred_lft 1709sec
inet6 fe80::20c:29ff:fe7d:593f/64 scope link
valid_lft forever preferred_lft forever

По настройкам из этого файла мы получаем ip адрес по dhcp. Чтобы вручную прописать статический ip, приводим файл к следующему содержанию:

Мы изменили параметры:

BOOTPROTOс dhcp на noneDNS1 указали dns сервер IPADDR, настроили статический ip адрес PREFIX, указали маску подсети GATEWAY. настроили шлюз по-умолчанию

Чтобы изменения вступили в силу, необходимо перечитать сетевые настройки:

Restarting network (via systemctl):

Проверяем, применилась ли новая конфигурация сети:

# ifconfig:

eno16777728: flags=4163 mtu 1500
inet 192.168.159.129
netmask 255.255.255.0 broadcast 192.168.159.255
inet6 fe80::20c:29ff:fe7d:593f prefixlen 64 scopeid 0x20
ether 00:0c:29:7d:59:3f txqueuelen 1000 (Ethernet)
RX packets 672 bytes 71841 (70.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 572 bytes 290861 (284.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Все в порядке, новые настройки сетевого интерфейса установлены.

Как получить сетевые настройки по DHCP

Теперь рассмотрим обратную ситуацию. Допустим, у вас сетевая карта имеет какие-то настройки, установленные вручную. Но вы хотите, чтобы ваш компьютер получал настройки сети по dhcp в качестве клиента. Для этого вам нужно произвести операцию, обратную той, что мы делали раньше. То есть открываем файл /etc/sysconfig/network-scripts/ifcfg-eth0 и удаляем там строки с параметрами DNS, IPADDR, PREFIX, GATEWAY а в параметре BOOTPROTO указываем значение «dhcp»
. Сохраняем файл и перезапускаем сеть:

# /etc/init.d/network restart

Затем проверяем, получил ли наш client по dhcp настройки.

примеры файлов

Пример файла /etc/sysconfig/network-scripts/ifcfg-eth0:

# название устройства:
DEVICE=»eth0″
# в случае, если IP получаем автоматически:
#BOOTPROTO=»dhcp»
# статический IP:
BOOTPROTO=»none»
# MAC адрес сетевой карты (в этом случае привязка к MAC адресу, а не к положению в слоте и т.п.):
HWADDR=»00:00:00:00:00:00″
NM_CONTROLLED=»yes»
# инициализировать при загрузке (иначен нужен ifup):
ONBOOT=»yes»
TYPE=»Ethernet»
UUID=»ffffffff-ffff-ffff-ffff-ffffffffffff»
IPADDR=192.168.1.3
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1

Пример файла /etc/sysconfig/network-scripts/route-eth0:

192.168.5.50/24 via 192.168.0.2 dev eth0

Пример файла /etc/resolv.conf:

nameserver=192.168.1.5
nameserver=192.168.1.7
domain=mydomain.ru

Настройка сети

В данной инструкции рассмотрим использование сетевого моста.

Настраивая сетевой мост через удаленное подключение, внимательно проверяйте вводимые данные. В случае ошибки соединение будет прервано.

Устанавливаем пакет для работы с bridge:

yum install bridge-utils

Смотрим список сетевых интерфейсов и их настроек:

ip a

В моем примере были следующие данные:

1: lo: mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp4s0f0: mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:16:76:04:26:c6 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.24/24 brd 192.168.1.255 scope global enp4s0f0
       valid_lft forever preferred_lft forever
    inet6 fe80::216:76ff:fe04:26c6/64 scope link
       valid_lft forever preferred_lft forever
3: enp5s5: mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:16:76:04:26:c7 brd ff:ff:ff:ff:ff:ff
4: virbr0: mtu 1500 qdisc noqueue state DOWN qlen 1000
    link/ether 52:54:00:cd:86:98 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
5: virbr0-nic: mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
    link/ether 52:54:00:cd:86:98 brd ff:ff:ff:ff:ff:ff

* из этого для нас важны enp4s0f0 — реальный сетевой интерфейс с настроенным IP-адресом 192.168.1.24, через который идет подключение сервера к локальной сети (из него мы будем делать мост); 00:16:76:04:26:c6 — mac-адрес реального ethernet адаптера; virbr0 — виртуальный сетевой адаптер.

Редактируем настройки реального адаптера:

vi /etc/sysconfig/network-scripts/ifcfg-enp4s0f0

Приводим его к виду:

ONBOOT=yes
BRIDGE=br0
TYPE=Ethernet
DEVICE=enp4s0f0
BOOTPROTO=none

Создаем интерфейс для сетевого моста:

vi /etc/sysconfig/network-scripts/ifcfg-br0

DEVICE=br0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.24
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=77.88.8.8

Перезапускаем сетевую службу:

systemctl restart network

Сетевые настройки должны измениться — в моем случае:

2: enp4s0f0: mtu 1500 qdisc pfifo_fast master br0 state UP qlen 1000
    link/ether 00:16:76:04:26:c6 brd ff:ff:ff:ff:ff:ff
3: enp5s5: mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:16:76:04:26:c7 brd ff:ff:ff:ff:ff:ff
4: virbr0: mtu 1500 qdisc noqueue state DOWN qlen 1000
    link/ether 52:54:00:cd:86:98 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
5: virbr0-nic: mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
    link/ether 52:54:00:cd:86:98 brd ff:ff:ff:ff:ff:ff
6: br0: mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 00:16:76:04:26:c6 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.24/24 brd 192.168.1.255 scope global br0
       valid_lft forever preferred_lft forever
    inet6 fe80::216:76ff:fe04:26c6/64 scope link
       valid_lft forever preferred_lft forever

Настаиваем перенаправления сетевого трафика:

vi /etc/sysctl.d/99-sysctl.conf

net.ipv4.ip_forward=1

Применяем настройки:

sysctl -p /etc/sysctl.d/99-sysctl.conf

Перезапускаем libvirtd:

systemctl restart libvirtd

Подготовка сервера

Проверяем наличие поддержки со стороны процессора:

cat /proc/cpuinfo | egrep «(vmx|svm)»

Если команда ничего не вернет, на сервере отсутствует поддержка виртуализации или она отключена в настройках БИОС. Сам KVM поставить на такой сервер можно, но при попытке ввести команду управления гипервизором мы получим ошибку «WARNING  KVM acceleration not available, using ‘qemu’». В таком случае необходимо перезагрузить сервер, войти в БИОС, найти поддержку технологии виртуализации (Intel VT или AMD-V) и включить ее.

Создадим каталоги, в которых будем хранить все, что касается виртуализации (предлагаемые по умолчанию не удобные):

mkdir -p /kvm/{images,iso}

* каталог /kvm/images для виртуальных дисков; /kvm/iso — для iso-образов.

настройка параметров сети с помощью файлов конфигураций

Если Вы хотите настроить сеть таким образом, чтобы указанные параметры сети сохранялись и после перезагрузки системы, Вам необходимо изменить конфигурационные файлы.

расположение конфигурационных файлов

Настройка параметров сети (IP адрес, маска сети, шлюз, параметры DNS) производится в файлах ifcfg-ethX, которые находятся в папке /etc/sysconfig/network-scripts.
Параметры DNS описываются также в файле /etc/resolv.conf.
Маршруты (из таблицы маршрутизации) хранятся в файлах /etc/sysconfig/network-scripts/route-ethX.

ifcfg-ethX

Файлы находятся в папке /etc/sysconfig/network-scripts.

Параметры

Название параметра Описание параметра Возможные значения Пример использования
DEVICE наименование интерфейса eth0
eth1
device=eth0
device=eth1
BOOTPROTO способ назначения IP dhcp
none
static
(пустое значение)
bootproto=dhcp
bootproto=
bootproto=static
bootproto=none
HWADDR MAC адрес   HWADDR=»00:00:00:00:00:00″
NM_CONTROLLED должен ли интерфейс управляться NetworkManager «yes»
«no»
NM_CONTROLLED=»yes»
ONBOOT Должен ли этот интерфейс «подниматься» при запуске сетевой службы «yes»
«no»
ONBOOT=»yes»
TYPE тип интерфейса «Ethernet» TYPE=»Ethernet»
UUID     UUID=»ffffffff-ffff-ffff-ffff-ffffffffffff»
IPADDR IP адрес интерфейса   IPADDR=192.168.1.3
NETMASK маска подсети интерфейса   NETMASK=255.255.255.0
GATEWAY шлюз интерфейса   GATEWAY=192.168.1.1
DNS1 1-й DNS сервер интерфейса   DNS1=192.168.1.1
DNS2 2-й DNS сервер интерфейса   DNS2=192.168.1.2
DOMAIN текущий домен   DOMAIN=MYDOMAIN.LOCAL

resolv.conf

Этот файл находится в папке /etc.

Название параметра Описание параметра Возможные значения Пример использования
nameserver адрес DNS сервера. Таких записей может быть несколько (не более 3-х) nameserver 192.168.1.1
nameserver 192.168.1.2
domain имя локального домена (?)   domain mydom.local
search подставляемое имя домена, если адрес задан не полностью   search mydom.local

route-ethX

Файлы находятся в папке /etc/sysconfig/network-scripts.

Формат файла:

например:
или

Шлюз по умолчанию задается в файлах ifcfg-ethX. Можно также указать шлюз по умолчанию, например, следующим образом:

В файле route-eth0 нужно указывать все маршруты с dev eth0, а в файле route-eth1 — соответственно, все маршруты с dev eth1.

Как настроить DNS в CentOS 7

Текущие настройки dns сервера в CentOS можно посмотреть в двух местах:

  • В файле с настройками сетевой карты ifcfg-eth0, которым мы ранее неоднократно редактировали.
  • В файле /etc/resolv.conf

Зачем они сейчас в двух местах, я не знаю, но раньше настройки dns сервера в каких-то дистрибутивах, не помню уже точно каких, указывались только в resolv.conf, но в какой-то момент это изменилось. И все сетевые настройки стали храниться в одном файле вместе с адресом, шлюзом, маской и прочим. Если сейчас отредактировать файл resolv.conf и внести туда какие-то dns сервера, то после перезагрузки они будут заменены на значения из файла ifcfg-eth0.

Так что для того, чтобы установить параметры dns сервера, нужно отредактировать файл сетевых настроек ifcfg-eth0, добавив туда столько серверов, сколько требуется.

Например так:

DNS1=»192.168.159.2″
DNS2=»8.8.8.8″
DNS3=»8.8.4.4″

Для применения настроек сохраняем файл и перезапускаем сеть, все как обычно. После перезагрузки сервера настройки dns будут записаны в файл resolv.conf

# cat /etc/resolv.conf

# Generated by NetworkManager
nameserver 192.168.159.2
nameserver 8.8.8.8
nameserver 8.8.4.4Как отключить ipv6 в CentOS 7

В настоящее время активного использования протокола ipv6
нет и в обычной работе он не нужен. Хотя нас уже много лет пугают, что свободных ip адресов уже практически не осталось, но на деле пока еще всем хватает. Так что с точки зрения практических соображений ipv6 в настоящее время на сервере не нужен и его можно отключить.

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

# netstat -tulnp

tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2317/master
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1333/sshd
tcp6 0 0::1:25:::* LISTEN 2317/master
tcp6 0 0:::22:::* LISTEN 1333/sshd
udp 0 0 0.0.0.0:49252 0.0.0.0:* 694/avahi-daemon: r
udp 0 0 0.0.0.0:123 0.0.0.0:* 715/chronyd
udp 0 0 0.0.0.0:5353 0.0.0.0:* 694/avahi-daemon: r
udp 0 0 127.0.0.1:323 0.0.0.0:* 715/chronyd
udp6 0 0:::123:::* 715/chronyd
udp6 0 0::1:323:::* 715/chronyd

Все строки с::: это ipv6 протокол. В моем случае это sshd, postfix и chronyd. Отключим им ipv6 и оставим только ipv4.

Начнем с sshd. Открываем файл настроек /etc/ssh/sshd_config и находим строки:

#AddressFamily any
#ListenAddress 0.0.0.0

Раскомментируем их и изменим. Должно получиться вот так:

AddressFamily inet
ListenAddress 0.0.0.0

Теперь открываем файл настроек постфикс /etc/postfix/main.cf. Ищем там строку:

#inet_protocols = all

Меняем на:

Inet_protocols = ipv4

Отключаем ipv6 в chronyd. Для этого создаем файл /etc/sysconfig/chronyd
и добавляем строку:

OPTIONS=-4

Теперь отключаем ipv6 в CentOS. Открываем файл /etc/sysctl.conf
и добавляем туда строки:

Net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

Редактируем файл /etc/sysconfig/network
, добавляя туда:

NETWORKING_IPV6=no
IPV6INIT=no

Перезагружаемся и проверяем результат:

# reboot# ifconfig

eno16777728: flags=4163 mtu 1500
ether 00:0c:29:7d:59:3f txqueuelen 1000 (Ethernet)
RX packets 2301 bytes 243024 (237.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2138 bytes 1327955 (1.2 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 0 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Нигде нет упоминания про inet6 и адреса формата ipv6. Значит все в порядке, мы отключили ipv6 в CentOS. Теперь проверим список открытых портов:

# netstat -tulnp

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2291/master
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1322/sshd
udp 0 0 0.0.0.0:123 0.0.0.0:* 2453/chronyd
udp 0 0 0.0.0.0:5353 0.0.0.0:* 697/avahi-daemon: r
udp 0 0 127.0.0.1:323 0.0.0.0:* 2453/chronyd
udp 0 0 0.0.0.0:57259 0.0.0.0:* 697/avahi-daemon: r

Все порты ipv4. Все в порядке, наша задача выполнена.

System config network tui в CentOS 7

Для управления сетевыми настройками в CentOS можно воспользоваться графической утилитой nmtui. Проверить ее наличие в системе очень просто. Достаточно запустить ее в консоли:

# nmtui

Если она у вас не установлена, то исправить это очень просто. Устанавливаем в CentOS system config network tui:

# yum install NetworkManager-tui

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

# nmtui

Выбираем первый пункт Edit a connection, затем выбираем сетевой интерфейс и жмем «Edit»:
Здесь мы можем изменить имя сетевой карты, mac адрес, указать тип сетевых настроек — ручной или dhcp, указать вручную ip адрес, адрес шлюза, днс сервера, добавить маршруты и некоторые другие настройки:

После завершения редактирования сохраняем настройки, нажимая ОК.
Если в первом экране утилиты выбрать пункт Set System Hostname, то можно быстро указать имя хоста. Результат будет такой же, как мы делали раньше в консоли.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделитесь с друзьями:
Технарь
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.