Заметки сисадмина

Настройка сети в CentOS 7

Для CentOS это актуальный вопрос. Тут немного изменили параметры настройки. А кто то их и вовсе не знал. Сегодня будем разбирать, как провести первоначальную настройку сети из командной строки.

Настройка сети в CentOS 7


В данной статье разберем, как настроить или изменить уже имеющиеся настройки локальной сети на CentOS 7.

Вообще первоначальная настройка сети производилась, когда осуществлялась установка CentOS 7, но если ставили не вы или вам надо что то изменить, то данная статья точно для вас!

Содержание:


1. Как настроить статический IP-адрес в CentOS 7


2. Как настроить адрес по DHCP в CentOS 7


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


4. Как настроить основной шлюз в CentOS 7


5. Как изменить hostname в CentOS 7


6. Как перезапустить сеть в CentOS 7


7. System config network tui в CentOS 7


# Как настроить статический IP-адрес в CentOS 7


Итак, вы хотите посмотреть настройки сети, но вы устанавливали сборку "minimal" то по привычному запросу ifconfig вы в ответ получите вот такое:
-bash: ifconfig: command not found

Это говорит нам о том, что у нас нет такого пакета. Для работы  его работы  и прочими сетевыми утилитами нужно установить пакет net-tools. Для этого выполним следующую команду:
# yum -y install net-tools.x86_64
Теперь попробуем снова ввести ifconfig:
# ifconfig

eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.16.0.160 netmask 255.255.255.0 broadcast 192.168.146.255 inet6 fe80::250:56ff:fe24:ccd6 prefixlen 64 scopeid 0x20<link> ether 00:50:56:24:cc:d6 txqueuelen 1000 (Ethernet) RX packets 210 bytes 19072 (18.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 71 bytes 11531 (11.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 0 (Local Loopback)
RX packets 4 bytes 340 (340.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4 bytes 340 (340.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

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

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
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: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:50:56:24:cc:d6 brd ff:ff:ff:ff:ff:ff inet 172.16.0.160/24 brd 192.168.146.255 scope global dynamic eno16777736 valid_lft 1672sec preferred_lft 1672sec inet6 fe80::250:56ff:fe24:ccd6/64 scope link valid_lft forever preferred_lft forever
Тут мы увидели наши параметры, название нашей сетевой карты. В моем случае - eno16777736, и IP адрес.

Теперь давайте ее отредактируем. Допустим, нам нужно сменить или установить ip адрес. Для этого переходим  в директорию /etc/sysconfig/network-scripts и открываем на редактирование файл ifcfg-eno16777736. Этот файл имеет примерно следующее содержание:

# cat ifcfg-eno16777736

TYPE=Ethernet BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
UUID=dc1636be-5281-4a07-8681-fcdc8b161c8c
DEVICE=eno16777736
ONBOOT=no
PEERDNS=yes
PEERROUTES=yes

Для установки статического IP адреса нам необходимо на строчке BOOTPROTO  установить BOOTPROTO=none

и дописать:

Указать ДНС:
DNS1=8.8.8.8

Прописываем IP:
IPADDR0=172.16.0.30

Указываем нужную маску:
PREFIX0=24

Прописываем шлюз по умолчанию:
GATEWAY0=172.16.0.1

И чтобы у нас сетевая карта "поднималась" при запуске ОС, необходимо в этом файле найти параметр ONBOOT и прописать ему yes.

В итоге у нас должно получится что то типа этого:

ethernet

Для немедленного применения изменений перезапустим сеть:

# /etc/init.d/network restart

Проверяем, все ли мы сделали верно:
# ifconfig

eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.16.0.30 netmask 255.255.255.0 broadcast 172.16.0.255 ether 00:50:56:24:cc:d6 txqueuelen 1000 (Ethernet) RX packets 5039 bytes 360189 (351.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1015 bytes 181656 (177.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Видим что наши параметры применились.  Значит все было сделано верно.

# Как настроить адрес по DHCP в CentOS 7

Предположим что у вас сетевая карта настроена на статический IP, а вы хотите получать настройки по DHCP. Тут будем действовать в обратном порядке. переходим в папку  /etc/sysconfig/network-scripts и открываете файл на редактирование с названием вашей сетевой картой. Название сетевой можно посмотреть командой ifconfig или ip addr. Находим там и удаляем параметры  DNS, IPADDR, PREFIX, GATEWAY а в параметре BOOTPROTO указываем значение «dhcp».

Для немедленного применения изменений перезапустим сеть:

# /etc/init.d/network restart

Проверяем, все ли мы сделали верно:

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

Производить настройки DNS будет все в том же файле/etc/sysconfig/network-scripts/название_вашей_сетевой_карты

В данный файл можно добавить столько DNS серверов, сколько требуется. Например:

DNS1=172.16.0.1

DNS2=8.8.8.8

DNS3=8.8.4.4


Сохраняем файл и перезапускаем сеть.

# Как настроить основной шлюз в CentOS 7

Проверим, какой у нас шлюз по умолчанию установлен в системе:
# netstat -nr

Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 172.16.0.1 0.0.0.0 UG 0 0 0 eno16777736 172.16.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eno16777736

Строка с Destination 0.0.0.0 определяет адрес шлюза. Если у вас ее нет, либо в поле Gateway установлен неверный шлюз, то можно это изменить. Устанавливаем шлюз по-умолчанию:
route add default gw 172.16.0.1

# Как изменить hostname в CentOS 7

Если вы не сменили при установке Hostname или вы хотите его изменить, то сделать это совсем не сложно. Для начала давайте проверим, какой hostname у нас установлен:
# hostname

centos.home

В моем случае это centos.home. Допустим мы хотим сделать имя: superserver.work, для этого необходимо отредактировать фай /etc/hostname
mcedit /etc/hostname

После того, как изменили имя, давайте проверим, что у нас получилось:
# hostname

superserver.work

Как видим, имя сменилось. Значит мы все сделали верно. Как видите, это сделать не так сложно.

P.S.: Для смены hostname перезагрузка не требуется.

# Как перезапустить сеть в CentOS 7


Я уже выше несколько раз описывал как это сделать, но повторюсь еще раз. Чтобы применить новые настройки сетевой карты, не обязательно перезагружать весь сервер. Для этого можно просто перезапустить сетевые интерфейсы следующей командой:
# /etc/init.d/network restart

Выполнив данную команду сетевые интерфейсы перезапускаются и считывают настройки из их конфигов.

# System config network tui в CentOS 7


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

Главный экран:

Допустим, мы хотим изменить IP адрес через графический интерфейс, выбираем "Изменить соединение"

Выбираем сетевое подключение, в моем случае оно одно, и нажимаем "Изменить ..."

Меняем настройки, которые вы хотите изменить и нажимаем "ОК".

Вот так просто через графический интерфейс можно настраивать сеть. Если по какой то причине у вас не установлен данный пакет, то установить его можно следующей командой:

yum install NetworkManager-tui

Заключение


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

Поделиться
Комментарии
Sparta 25.08.2017 06:42
также после настройки нужно перезапустить демон network: service restart network
Admin 25.08.2017 12:33
"Я уже выше несколько раз описывал как это сделать, но повторюсь еще раз. Чтобы применить новые настройки сетевой карты, не обязательно перезагружать весь сервер. Для этого можно просто перезапустить сетевые интерфейсы следующей командой: # /etc/init.d/network restart" Есть же в статье описание о перезагрузке
Андрей 29.01.2019 12:33
А как Вы планируете скачать пакет net-tools, если у Вас не работает сеть?
Виталий 29.01.2019 12:38
Подразумеватся что адрес получен по DHCP. Ниже есть сноска, что есть другая команда, которая есть в сборке
Николай 22.07.2019 16:35
Я много раз задавал вопросы на разных сайтах, но ответа не получил. У меня две проблемы с сервером на CentOS 7, 1. Периодически, ни с того, ни с сего, пропадает доступ к ресурсам сервера, через Samba из рабочей станции под Linux, из Windows в это время доступ есть но очень затянутый, примерно 20 - 30 секунд, против 0,5 секунды, когда проблемы нет. Когда этой проблемы нет, соединение с сервером, через Putty происходит за 1 - 2 секунды, когда проблема появляется, предложение ввести логин и пароль появляется, через 40 секунд, когда проблемы нет, Midnight Commander удалённо запускается примерно 1 секунду, когда проблема появляется, через 40 секунд. 2. Периодически CentOS переводит примонтированные диски в режим "Только чтение", затем, через несколько дней, полный доступ восстанавливается. без всякого вмешательства. Установил на USB_HDD Linux Ubuntu18.04.2 server, все проблемы исчезли. Все настройки и конфигурационные файлы просто перенёс из CentOS в Ubuntu. Если кто-то может помочь, помогите разобраться, если нужна дополнительная информация, сообщите, пришлю.
Виталий 24.07.2019 11:09
Добрый день! 1. В первую очередь необходимо посмотреть что происходит в эти моменты на самом сервере. htop или atop запускать и смотреть состояние загрузки системы, память, состояние hdd, на котором установлена система. Так же смотреть, возможно запускаются какие-то процессы, при которых возникает данная проблема. Так что просто поверхностно не решишь эту проблему, по одному такому описанию, нужно "копать". 2. Вот с таким не сталкивался лично я ни разу, возможно кто-то из посетителей сайта сможет подсказать что то.
Aleksey Danilov 23.03.2020 08:46
Вы чё совсем? Если вы не можете посмотреть настройки сети без ifconfig, то вам не надо писать статьи про настройки сети в CentOS/RHEL/Fedora.
Виталий 23.03.2020 17:22
Читайте внимательнее, в статье указано как посмотреть настройки сети без установки пакета net-tools - сразу начиная со слов "Если вы не хотите устанавливать дополнительные пакеты..."
Максим Орлов

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

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

Ваш Email адрес не будет опубликован. Все обязательные поля обозначены *