Введение | |
Настройка сети | |
ONBOOT=yes: включать интерфейс при загрузке | |
ip r: Узнать IP шлюза (gateway) | |
Установка ifconfig | |
Установить статический IP адрес | |
Изменить IP адрес | |
Изменить маску | |
Добавить IP адрес на интерфейс | |
dhclient: Получить DHCP адрес | |
dhclient -r: Сбросить DHCP IP адрес | |
Открытые порты | |
hostname | |
NetworkManager | |
network | |
Виртуальный интерфейс | |
Создать новый сетевой адаптер | |
Список адаптеров | |
Ошибки | |
Похожие статьи |
Введение
Чтобы лучше ориентироваться в сетевом администрировании, а именно в таких понятиях как типы IP адресов, маски, подсети и т.д. советую изучить статью
«Основы компьютерных сетей»
Настройка сети
Чтобы изучить подключения выполните одну из команд:
- sudo ls /sys/class/net/
- ip a s
- ifconfig
- nmcli conn show
Например:
nmcli conn show
NAME UUID TYPE DEVICE
enp0s3 64486a76-a4b0-4693-9110-205da942c9c5 ethernet enp0s3
enp0s8 fc26857f-4cb0-3756-a7fa-95ec246b3981 ethernet enp0s8
Если какой-то интерфейс, например enp0s3, выключен у него в столбце DEVICE будет стоять —
Обычно неактивный интерфейс выделен серым цветом а активный зелёным.
NAME UUID TYPE DEVICE
enp0s3 64486a76-a4b0-4693-9110-205da942c9c5 ethernet —
enp0s8 fc26857f-4cb0-3756-a7fa-95ec246b3981 ethernet enp0s8
Включить интерфейс можно командой
nmcli conn up enp0s3
Включать интерфейс при загрузке
Чтобы не включать сетевой интерфейс каждый раз вручную можно в настройках прописать ONBOOT=yes
Как вариант можно перейти в
/etc/sysconfig/network-scripts/
И отредактировать с помощью
vi
файл
ifcfg-ИМЯ_ИНТЕРФЕЙСА
— например
ifcfg-enp0s3
sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
Либо под root использовать
sed
sudo sed -i s/ONBOOT=no/ONBOOT=yes/ /etc/sysconfig/network-scripts/ifcfg-enp0s3
Если команда выше вам не до конца понятна — изучите статью
«Основы sed»
Проверить получилось ли изменить ONBOOT на yes можно командой
grep ONBOOT !$
Подробную информацию о каждом сетевом интерфейсе можно получить выполнив nmcli connection show имя_интерфейса
Например:
nmcli connection show ens192
connection.id: ens192
connection.uuid: 5c2584c5-7d87-4826-ba2a-79713eb62a9a
connection.stable-id: —
connection.type: 802-3-ethernet
connection.interface-name: ens192
connection.autoconnect: yes
connection.autoconnect-priority: 0
connection.autoconnect-retries: -1 (default)
connection.multi-connect: 0 (default)
connection.auth-retries: -1
connection.timestamp: 1618914913
connection.read-only: no
connection.permissions: —
connection.zone: —
connection.master: —
connection.slave-type: —
connection.autoconnect-slaves: -1 (default)
connection.secondaries: —
connection.gateway-ping-timeout: 0
connection.metered: unknown
connection.lldp: default
connection.mdns: -1 (default)
connection.llmnr: -1 (default)
802-3-ethernet.port: —
802-3-ethernet.speed: 0
802-3-ethernet.duplex: —
802-3-ethernet.auto-negotiate: no
802-3-ethernet.mac-address: —
802-3-ethernet.cloned-mac-address: —
802-3-ethernet.generate-mac-address-mask:—
802-3-ethernet.mac-address-blacklist: —
802-3-ethernet.mtu: auto
802-3-ethernet.s390-subchannels: —
802-3-ethernet.s390-nettype: —
802-3-ethernet.s390-options: —
802-3-ethernet.wake-on-lan: default
802-3-ethernet.wake-on-lan-password: —
ipv4.method: auto
ipv4.dns: —
ipv4.dns-search: —
ipv4.dns-options: «»
ipv4.dns-priority: 0
ipv4.addresses: —
ipv4.gateway: —
Установка статического IP
nmcli conn show
NAME UUID TYPE DEVICE
enp0s3 64486a76-a4b0-4693-9110-205da942c9c5 ethernet enp0s3
enp0s8 fc26857f-4cb0-3756-a7fa-95ec246b3981 ethernet enp0s8
Настроим статический IP адрес для enp0s8
Настройки сети хранятся в директории
/etc/sysconfig/network-scripts/
Отредактировать нужно файл
ifcfg-enp0s8
Основные параметры:
TYPE — тип соединения, проводное (Ethernet), беспроводное(Wired) и т д;
BOOTPROTO — способ получения IP адреса, static, dhcp или none;
NAME — имя соединения;
DEVICE — имя сетевого интерфейса;
ONBOOT — необходимо ли запускать при старте системы;
IPADDR — IP адрес, который будет использован для этого компьютера;
GATEWAY — шлюз для доступа к интернету;
NETMASK — маска сети;
DNS1 — сервер для разрешения доменных имен DNS.
sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s8
Для DHCP, который, скорее всего, стоит по умолчанию будет что-то
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s8
UUID=939a0551-f5b5-46d8-87fe-24e5e7b1a0c1
DEVICE=enp0s8
ONBOOT=yes
Нужно именить BOOTPROTO на none и добавить несколько строк
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
# Server IP #
IPADDR=192.168.56.130
# Subnet #
PREFIX=24
# Defautl Gateway #
GATEWAY=192.168.56.1
# DNS Servers #
DNS1=8.8.8.8
DNS2=1.1.1.1
DNS3=192.168.56.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=40a957b1-90fd-428c-9e99-df7849e1d104
DEVICE=enp0s3
ONBOOT=yes
sudo systemctl restart network
Изменить IP
Быстро изменить IP можно с помощью ifconfig
Сперва нужно установить пакет содержащий ifconfig —
по инструкции
Менять IP нужно командой
sudo ifconfig enp0s8 192.168.56.111
Вместо enp0s8 введите нужный интерфейс
Вместо 192.168.56.111 введите IP, который хотите установить
Если ваш IP был получен от DHCP сервера — сообщите ему о смене выполнив
sudo dhclient -r
Изменённый таким образом IP адрес будет сброшен DHCP сервером на тот, который ему больше нравится
после первой перезагрузки.
Если нужно поменять ещё и маску подсети — выполните
sudo ifconfig enp0s8 192.168.56.111 netmask 255.255.255.0
Изменить маску
Если нужно поменять только маску подсети — выполните
sudo ifconfig enp0s8 netmask 255.255.255.0
Добавить IP
Добавить IP на интерфейс можно командой
ip addr add 172.17.67.3/16 dev enp0s8
IP адрес добавлен динамически — то есть после перезагрузки он пропадёт
Удалить этот IP адрес можно командой
ip addr del 172.17.67.3/16 dev enp0s8
Получить DHCP адрес
Если нужно явно запросить у DHCP адрес выполните
sudo dhclient enp0s8
Вместо enp0s8 введите имя нужного адаптера
Сбросить IP
Если IP получен по DHCP можно освободиться от него выполнив
sudo dhclient -r enp0s8
Вместо enp0s8 введите имя нужного адаптера. Эту команду обычно нужно выполнять тем, кто делал сброс адреса.
Узнать Gateway
Чтобы узнать текущий IP адрес шлюза (gateway) выполните
ip r
default via 10.0.2.1 dev enp0s3 proto dhcp metric 100
IP адрес шлюза 10.0.2.1
Установка ifconfig
yum provides ifconfig
или
yum whatprovides ifconfig
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.funet.fi
* epel: www.nic.funet.fi
* extras: ftp.funet.fi
* updates: ftp.funet.fi
base/7/x86_64/filelists_db | 7.2 MB 00:00:01
epel/x86_64/filelists_db | 12 MB 00:00:03
extras/7/x86_64/filelists_db | 224 kB 00:00:00
ssh-products/x86_64/filelists_db | 89 kB 00:00:00
updates/7/x86_64/filelists_db | 3.4 MB 00:00:01
net-tools-2.0-0.25.20131004git.el7.x86_64 : Basic networking tools
Repo : base
Matched from:
Filename : /sbin/ifconfig
ifconfig входит, например, в состав net-tools
Установим net-tools
sudo yum install net-tools
Открытые порты
Список открытых портов
ss -tulpn
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
Выдаст все порты, поэтому если нужно проверить какой-то определённый удобно применить
grep
ss -tulpn | grep 1234
tcp LISTEN 0 128 [::]:1234 [::]:* users:((«andrei»,pid=5226,fd=14))
Открыть порт
Чтобы открыть порт XXXX в firewall выполните
sudo firewall-cmd —add-port=XXXX/tcp —permanent
sudo firewall-cmd —reload
Подробности в статье
Centos firewall
hostname
Шаг 1. Проверка текущего hostname
Чтобы получить информацию о хосте выполните
hostnamectl
Static hostname: localhost.localdomain
Icon name: computer-vm
Chassis: vm
Machine ID: a714bee8007d114a84177dbb15072f2e
Boot ID: b02d9498c1764a338c781672aac1be29
Virtualization: kvm
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-1160.el7.x86_64
Architecture: x86-64
Нужная информация находится в первой строке
Static hostname: localhost.localdomain
Шаг 2. Смена hostname
Так как CentOS 7 поддреживает только Fully Qualified Domain Names (FQDNs),
советую тщательно проверить hostname, который вы планируете использовать.
Допустимые значения:
- Строчные буквы от a до z
- Цифры от 0 до 9
- Точки и дефисы
- Hostnames может быть от 2 до 63 символов
- Hostnames должен начинаться и заканчиваться цифрой или буквой
Выполните
hostnamectl set-hostname my.new-hostname.server
Подробности в статье
hostname
NetworkManager
Проверить статус можно командой
systemctl status NetworkManager
● NetworkManager.service — Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2021-02-18 17:30:13 EET; 1 months 30 days ago
Docs: man:NetworkManager(8)
Main PID: 841 (NetworkManager)
Tasks: 5
CGroup: /system.slice/NetworkManager.service
├─ 841 /usr/sbin/NetworkManager —no-daemon
└─9599 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-ens192.pid -lf /var/lib/NetworkManager/dhclient-5c2584c5-7d87-4826-ba2a-79713eb62a9a-ens192.lease -cf /var/lib/Net…
Feb 09 11:51:39 localhost.localdomain NetworkManager[841]: <info> [1618907115.2914] dhcp4 (ens192): gateway 10.1.103.254
Feb 09 11:51:39 localhost.localdomain NetworkManager[841]: <info> [1618907115.2914] dhcp4 (ens192): lease time 7200
Feb 09 11:51:39 localhost.localdomain NetworkManager[841]: <info> [1618907115.2915] dhcp4 (ens192): nameserver ‘10.10.10.1’
Feb 09 11:51:39 localhost.localdomain NetworkManager[841]: <info> [1618907115.2915] dhcp4 (ens192): nameserver ‘10.1.0.2’
Feb 09 11:51:39 localhost.localdomain NetworkManager[841]: <info> [1618907115.2915] dhcp4 (ens192): domain name ‘urn.su’
Feb 09 11:51:39 localhost.localdomain NetworkManager[841]: <info> [1618907115.2915] dhcp (ens192): domain search ‘urn.su.’
Feb 09 11:51:39 localhost.localdomain NetworkManager[841]: <info> [1618907115.2915] dhcp (ens192): domain search ‘hel.fi.urn.su.’
Feb 09 11:51:39 localhost.localdomain NetworkManager[841]: <info> [1618907115.2915] dhcp (ens192): domain search ‘ad.urn.su.’
Feb 09 11:51:39 localhost.localdomain NetworkManager[841]: <info> [1618907115.2915] dhcp4 (ens192): state changed bound -> bound
Feb 09 11:51:39 localhost.localdomain dhclient[9599]: bound to 10.1.102.211 — renewal in 2903 seconds.
network
Проверить статус можно командой
systemctl status network
● network.service — LSB: Bring up/down networking
Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)
Active: active (exited) since Tue 2021-04-20 12:57:04 EEST; 7min ago
Docs: man:systemd-sysv-generator(8)
Process: 13493 ExecStop=/etc/rc.d/init.d/network stop (code=exited, status=0/SUCCESS)
Process: 13652 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=0/SUCCESS)
Feb 09 11:51:39 localhost.localdomain systemd[1]: Starting LSB: Bring up/down networking…
Feb 09 11:51:39 localhost.localdomain network[13652]: Bringing up loopback interface: [ OK ]
Feb 09 11:51:39 localhost.localdomain network[13652]: Bringing up interface ens192: Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5)
Feb 09 11:51:39 localhost.localdomain network[13652]: [ OK ]
Feb 09 11:51:39 localhost.localdomain systemd[1]: Started LSB: Bring up/down networking.
Виртуальный интерфейс
Виртуальный интерфейс — это alias к существующему интерфейсу. Допустим у вас есть ens192
Выполните
cp /etc/sysconfig/network-scripts/ens192 /etc/sysconfig/network-scripts/ens192:0
vi /etc/sysconfig/network-scripts/ens192:0
Поменяйте там что-то, например поставьте другой IP из той же подсети
IPADDR=10.1.10.2
Перезагрузите network
systemctl restart network
Так как виртальный интерфейс может быть только внутри той же подсети, он не даст вам возможности слушать другую сейть.
Создать новый сетевой адаптер
Подробный разбор этого действия вы можете изучить в статье
«Создать новый интерфейс»
Список адаптеров
Получить список адаптеров, в том числе отключенных.
nmcli d
DEVICE TYPE STATE CONNECTION
wlp0s20f3 wifi connected SSH-office
docker0 bridge connected docker0
p2p-dev-wlp0s20f3 wifi-p2p disconnected —
enp0s31f6 ethernet unavailable —
vboxnet0 ethernet unmanaged —
lo loopback unmanaged —
Ошибки и предупреждения
sudo systemctl restart networking
Job for network.service failed because the control process exited with error code. See «systemctl status network.service» and «journalctl -xe» for details.
systemctl status network.service
● network.service — LSB: Bring up/down networking
Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)
Active: failed (Result: exit-code) since Tue 2021-01-19 19:09:42 EET; 7s ago
Docs: man:systemd-sysv-generator(8)
Process: 2448 ExecStop=/etc/rc.d/init.d/network stop (code=exited, status=0/SUCCESS)
Process: 8268 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE)
Feb 09 11:51:39 server1.example.com network[8268]: RTNETLINK answers: File exists
Feb 09 11:51:39 server1.example.com network[8268]: RTNETLINK answers: File exists
Feb 09 11:51:39 server1.example.com network[8268]: RTNETLINK answers: File exists
Feb 09 11:51:39 server1.example.com network[8268]: RTNETLINK answers: File exists
Feb 09 11:51:39 server1.example.com network[8268]: RTNETLINK answers: File exists
Feb 09 11:51:39 server1.example.com network[8268]: RTNETLINK answers: File exists
Feb 09 11:51:39 server1.example.com systemd[1]: network.service: control process exited, code=exited status=1
Feb 09 11:51:39 server1.example.com systemd[1]: Failed to start LSB: Bring up/down networking.
Feb 09 11:51:39 server1.example.com systemd[1]: Unit network.service entered failed state.
Feb 09 11:51:39 server1.example.com systemd[1]: network.service failed.
Настройка сети в CentOS | |
Создать новый интерфейс | |
CentOS | |
Компьютерные сети | |
ip | |
hostname | |
DNS | |
route: Маршруты/Роутер | |
Firewall | |
iptables | |
netstat | |
iftop: Мониторинг сети | |
nethogs: Мониторинг сети | |
tc: Контроль за трафиком | |
iperf: Измерение скорости сети | |
uuidgen: uuid для сетевого интерфейса | |
SCP: обмен файлами; | |
SSH: удалённый доступ | |
Сокеты в C | |
Sed |
Посмотреть текущее состояние:
# ip addr
либо
# ifconfig
Если ifconfig отсутствует (после минимальной инсталляции сервера), нужно установить пакет net-tools:
# yum -y install net-tools.x86_64
Например, команда ip addr выведет:
# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> 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: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:0c:90:ee brd ff:ff:ff:ff:ff:ff inet 192.168.2.202/24 brd 192.168.2.255 scope global ens33 valid_lft forever preferred_lft forever inet6 fe80::c05e:111:b14:bce0/64 scope link valid_lft forever preferred_lft forever
Настройки сетевых интерфейсов следует искать в /etc/sysconfig/network-scripts.
В рассматриваемом случае надо открыть на редактирование файл /etc/sysconfig/network-scripts/ifcfg-ens33.
# vi /etc/sysconfig/network-scripts/ifcfg-ens33
Файл содержит:
TYPE=Ethernet BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens33 UUID=03b6d754-125e-47b2-831b-2d49ef39675e DEVICE=ens33 ONBOOT=yes IPADDR=192.168.100.202 PREFIX=24 GATEWAY=192.168.100.121 DNS1=192.168.100.121 IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_PRIVACY=no ZONE=public
BOOTPROTO=none означает, что используется статическая настройка сетевого интерфейса. Вариант BOOTPROTO=dhcp используется для получения настроек от DHCP-сервера, в этом случае строки IPADDR=, PREFIX=, GATEWAY=, DNS1= будут отсутствовать.
Изменить ip-адрес в строке IPADDR= на нужный, при необходимости исправить PREFIX=, GATEWAY=, DNS1=.
Чтобы изменения вступили в силу, необходимо перечитать сетевые настройки:
# /etc/init.d/network restart Restarting network (via systemctl): [ OK ]
Если настройки производились через ssh-подключение, то ответ «Restarting network (via systemctl)» не будет получен, так как ip-адрес сервера изменился; необходимо будет переподключиться к серверу по новому адресу.
Настройка сети в CentOS и Rocky Linux
Обновлено: 25.08.2022
Опубликовано: 06.07.2016
Что такое CentOS простыми словами.
Инструкция применима к Rocky Linux, CentOS версий 7 и 8, CentOS mini (минимальная сборка), Fedora.
Базовая настройка
Опции
Дополнительные опции
Настройка из консоли
Команда ifconfig
Настройка WiFi
Несколько адресов на одном адаптере
Использование DHCP
Читайте также
Базовая настройка сети
Смотрим все установленные сетевые адаптеры в системе:
ip a
В результате получаем что-то подобное:
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
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:50:56:81:28:3c brd ff:ff:ff:ff:ff:ff
inet 192.168.156.22/22 brd 192.168.159.255 scope global ens32
valid_lft forever preferred_lft forever
3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:50:56:81:3f:22 brd ff:ff:ff:ff:ff:ff
inet 10.243.254.68/26 brd 10.243.254.127 scope global ens34
valid_lft forever preferred_lft forever
* Из примера видно, что в моем CentOS есть 3 сетевых карты — lo (локальная петля), ens32 и ens34 — сетевые Ethernet адаптеры.
Если нужно настроить сеть для адаптера ens32, открываем на редактирование следующий конфигурационный файл:
vi /etc/sysconfig/network-scripts/ifcfg-ens32
И приводим его к следующему виду:
DEVICE=ens32
BOOTPROTO=static
IPADDR=192.168.0.155
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.54
DNS2=192.168.0.11
ONBOOT=yes
… а также для CentOS 8 добавим:
NM_CONTROLLED=yes
Основные опции
Опция | Описание | Возможные значения |
---|---|---|
DEVICE | Имя сетевого адаптера | Должно совпадать с именем в системе. В данном примере ens32 |
BOOTPROTO | способ назначения IP-адреса | static: ручное назначение IP, dhcp: автоматическое получение IP |
IPADDR | IP-адрес | адрес, соответствующий вашей сети |
NETMASK | Сетевая маска | должна соответствовать вашей сети |
GATEWAY | Шлюз по умолчанию | IP-адрес сетевого шлюза |
DNS1 | Основной DNS-сервер | IP-адрес сервера имен |
DNS2 | Альтернативный DNS-сервер | IP-адрес сервера имен |
ONBOOT | Способ запуска сетевого интерфейса | yes: автоматически при старте сервера, no: запускать вручную командой |
NM_CONTROLLED | Указываем, должен ли интерфейс управляться с помощью NetworkManager | yes: управляется NetworkManager, no: не может управляться NetworkManager |
Чтобы настройки применились, перезапускаем сетевую службу.
а) для CentOS 7:
systemctl restart network
б) для Rocky Linux и CentOS 8 вводим 2 команды:
systemctl restart NetworkManager
nmcli networking off; nmcli networking on
* в большей степени, это основное отличие версий 7 и 8. Чтобы команды смогли поменять настройки, для интерфейсов необходима настройка NM_CONTROLLED=yes.
Дополнительные опции (не обязательны для работы сети)
Опция | Описание | Возможные значения |
---|---|---|
DOMAIN | Указываем домен, который необходимо добавлять к имени хостов, если он не указан в запросе явно. Несколько доменов можно указать в кавычках через пробелы. | Строковое значение, соответствующее имени домена. |
IPV4_FAILURE_FATAL | Отключение сетевого интерфейса, если IP-адрес (v4) имеет неверную конфигурацию | yes: отключать, no: не отключать |
IPV6_FAILURE_FATAL | Отключение сетевого интерфейса, если IP-адрес (v6) имеет неверную конфигурацию | yes: отключать, no: не отключать |
IPV6_AUTOCONF | Разрешает или запрещает автоконфигурирование IPv6 с помощью протокола Neighbor Discovery | yes: разрешить автоконфигурирование, no: запретить |
IPV6INIT | Говорит о возможности использовать сетевой интерфейс для адресации IPv6 | yes: адресация может использоваться, no: не используется |
PEERROUTES | Задает приоритет настройки шлюза по умолчанию, полученного от DHCP | yes: маршрут от DHCP важнее, чем назначенный вручную, no: важнее маршрут, заданный вручную |
IPV6_PEERROUTES | Задает приоритет настройки шлюза по умолчанию, полученного от DHCP (для IPv6) | |
UUID | Уникальный идентификатор сетевого интерфейса. Его можно сгенерировать самостоятельно командой uuidgen | Строка из 32-х символов в формате 8-4-4-4-12. Например: fca8cc84-6f21-4bac-9ccb-36f281321ba4 |
Настройка сети из консоли (командами)
Настройка из консоли будет работать только до перезагрузки системы. Ее удобно применять для временного конфигурирования или проведения тестов.
Назначение IP-адреса или добавление дополнительного к имеющемуся:
ip a add 192.168.0.156/24 dev ens32
* в данном примере к сетевому интерфейсу ens32 будет добавлен IP 192.168.0.156.
Изменение IP-адреса:
ip a change 192.168.0.157/24 dev ens32
* однако, по факту, команда отработает также, как add.
Удаление адреса:
ip a del 192.168.163.157/24 dev ens32
Добавление маршрута по умолчанию:
ip r add default via 192.168.0.1
Добавление статического маршрута:
ip r add 192.168.1.0/24 via 192.168.0.18
Удаление маршрутов:
ip r del default via 192.168.160.1
ip r del 192.168.1.0/24 via 192.168.0.18
Подробнее про управление маршрутами в CentOS.
Команда ifconfig
В новых версиях CentOS утилита ifconfig не установлена и при вводе одноименной команды можно увидеть ошибку «Команда не найдена». Необходимо либо воспользоваться командой ip (ip address), либо установить утилиту ifconfig.
а) в CentOS 7:
yum install ifconfig
а) в CentOS 8:
yum install net-tools
Настройка WiFi
Принцип настройки беспроводной сети на CentOS не сильно отличается от проводной.
Создаем конфигурационный файл со следующим содержимым:
vi /etc/sysconfig/network-scripts/ifcfg-dmoskwifi
ESSID=»dmoskwifi»
MODE=Managed
KEY_MGMT=WPA-PSK
TYPE=Wireless
BOOTPROTO=none
NAME=dmoskwifi
ONBOOT=yes
IPADDR=192.168.1.50
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DNS2=77.88.8.8
* где dmoskwifi — название WiFi сети (SSID).
Несколько IP на одном сетевом адаптере
В зависимости от версии операционной системы, дополнительные адреса добавляются посредством:
- Псевдонимов — создание нового виртуального интерфейса с названием <имя интерфейса>:<номер>.
- Добавлением IPADDRx и NETMASKx в конфигурационном файле.
Рассмотрим оба варианта подробнее.
Создание псевдонимов (более ранние версии CentOS 7 и ниже)
Создаем новый конфигурационный файл для сетевого интерфейса:
vi /etc/sysconfig/network-scripts/ifcfg-ens32:1
DEVICE=ens32:1
BOOTPROTO=static
IPADDR=192.168.0.156
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.54
DNS2=192.168.0.11
ONBOOT=yes
* где ens32 — имя физического интерфейса, :1 — виртуальный номер.
Перезапускаем сетевые службы.
Настройка конфигурационного файла (поздние версии CentOS 7 и выше)
Открываем конфигурационный файл для сетевого интерфейса, например:
vi /etc/sysconfig/network-scripts/ifcfg-ens32
DEVICE=ens32
BOOTPROTO=static
IPADDR=192.168.0.155
NETMASK=255.255.255.0
IPADDR1=192.168.0.156
NETMASK1=255.255.255.0
IPADDR2=192.168.0.157
NETMASK2=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.54
DNS2=192.168.0.11
ONBOOT=yes
* где ens32 — имя физического интерфейса, дополнительные адреса задаются с помощью опций IPADDR1, IPADDR2, NETMASK1, NETMASK2.
Перезапускаем сетевые службы.
DHCP
Для автоматического получения IP-адреса от сервера DHCP мы должны задать следующее значение для опции BOOTPROTO в конфигурационном файле:
…
BOOTPROTO=dhcp
…
* в наших примерах выше данный параметр имеет значение static.
Переопределение DNS с помощью dhclient.conf
Также мы можем переопределять настройки для DHCP с помощью конфигурационного файла. Например, если мы хотим, чтобы адреса DNS были заданы определенные, а не полученны от DHCP, открываем конфиг:
vi /etc/dhcp/dhclient.conf
Вставляем запись:
interface «enp0s3»
{
supersede domain-name-servers 8.8.8.8, 8.8.4.4;
}
* где enp0s3 — имя сетевого интерфейса, который будет получать адрес от сервера DHCP. 8.8.8.8, 8.8.4.4 — адреса, которые будут настоены на интерфейсе, независимо от того, какие предложит сервер DHCP.
Или мы можем использовать адреса от DHCP, но сделать приоритетными свои:
interface «enp0s3»
{
prepend domain-name-servers 127.0.0.1;
}
* в данном примере, мы зададим в качестве основного сервера DNS — 127.0.0.1.
Чтобы данный метод сработал в CentOS 8, необходимо открыть файл:
vi /etc/NetworkManager/NetworkManager.conf
В раздел [main] добавить:
[main]
dhcp=dhclient
Переопределение DNS в NetworkManager (альтернативный способ)
Метод, описанный выше по переопределению DNS не подходит для NetworkManager без изменения настройки dhcp, так как адреса будут получены и обработаны с помощью встроенных методов. Выше, предоставлено решение в виде настройки dhcp=dhclient, однако мы рассмотрим альтернативный способ, на случай, если кому-то это пригодится.
Создаем файл:
vi /etc/NetworkManager/dispatcher.d/99-resolv.conf.dhclient
#!/bin/bash
sleep 1
rm -f /etc/resolv.conf
echo ‘# Generated by dispatcher’ > /etc/resolv.conf
echo ‘nameserver 127.0.0.1’ >> /etc/resolv.conf
echo » >> /etc/resolv.conf
cat /var/run/NetworkManager/resolv.conf >> /etc/resolv.conf
* в данном примере мы создали скрипт, который сначала добавит нужную нам запись в файл /etc/resolv.conf, а после добавит туда значения, полученные от DHCP. Обратите внимание, что в конкретном примере:
- адрес 127.0.0.1 задается в качестве приоритетного сервера DNS.
- остальные настройки получаем от DHCP, которые NetworkManager помещает в файл /var/run/NetworkManager/resolv.conf.
Разрешаем запуск скрипта:
chmod +x /etc/NetworkManager/dispatcher.d/99-resolv.conf.dhclient
Перезапускаем сеть:
systemctl restart NetworkManager
Через 2 секунды проверяем:
cat /etc/resolv.conf
Читайте также
Другие статьи на тему сетевых настроен CentOS:
1. Управление сетевыми маршрутами в CentOS
2. Настройка Интернет шлюза на CentOS
Способ #1: Настройка IP-адреса путем правки файлов конфигурации
Первое что нужно сделать — определить доступные сетевые устройства.
ip addr
[root@centos ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:96:34:52 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.104/24 brd 192.168.0.255 scope global dynamic enp0s3
valid_lft 7006sec preferred_lft 7006sec
inet6 fe80::a00:27ff:fe96:3452/64 scope link
valid_lft forever preferred_lft forever
Сейчас можно видеть, что IP-адресом сервера является 192.168.0.104, который был выдан DHCP сервером.
Сетевым устройством, в моем случае, является enp0s3
, у вас это имя может выглядеть по другому, например eth0
.
Переходим к конфигурационному файлу /etc/sysconfig/network-scripts/ifcfg-enp0s3
для последующей настройки. Если у вас не оказалось этого файла, то создайте его самостоятельно. Откройте файл любым редактором, я использую редактор vi.
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
В свежеустановленной CentOS 7 этот конфиг может выглядеть следующим образом.
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=3e9ee32f-0218-4644-a645-e9665057258a
DEVICE=enp0s3
ONBOOT=no
Измените значения некоторых параметров в этом файле, а также укажите новые параметры.
HWADDR=45:08:02:88:AC:68
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none # Не используем протокол назначения Ip-адреса
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPADDR=192.168.0.251 # Назначаем статический IP-адрес
NETMASK=255.255.255.0 # Маска подсети (или PREFIX=24)
IPV6INIT=no # Если не используете IpV6, то его можно отключить
# IPV6_AUTOCONF=yes
# IPV6_DEFROUTE=yes
# IPV6_FAILURE_FATAL=no
# IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=3e9ee32f-0218-4644-a645-e9665057258a
DEVICE=enp0s3
ONBOOT=yes # Включаем настройки при запуске сетевой службы
Затем добавим пару параметров в файле /etc/sysconfig/network
, который относится уже не к отдельному сетевому устройству, а к конфигурации сети.
vi /etc/sysconfig/network
NETWORKING=yes # Конфигурация сети
GATEWAY=192.168.0.1 # Адрес маршрутизатора
Осталось добавить адреса DNS серверов в файле /etc/resolv.conf
. В данном файле указывается не более 3 DNS адресов, использоваться будет только первый, если он недоступен, то выбирается далее по списку.
vi /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
search meliorem.ru
После правки конфигов перезапустим сетевую службу network.
systemctl restart network
Проверим изменения IP-адреса.
ip addr
[root@centos ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:96:34:52 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.251/24 brd 192.168.0.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe96:3452/64 scope link
valid_lft forever preferred_lft forever
На этом настройка статического IP-адреса завершена.
Способ #2: Настройка IP-адреса через Network Manager
Данный способ заключается в использовании утилиты Network Manager, которая помогает в упрощенном виде настроить IP-адрес.
Проверка доступных устройств.
nmcli -p dev
[root@centos ~]# nmcli -p dev
=====================
Status of devices
=====================
DEVICE TYPE STATE CONNECTION
--------------------------------------------------------------
enp0s3 ethernet connected enp0s3
lo loopback unmanaged --
Настройка IP-адреса.
nmtui edit ens0s3
Рекомендую использовать первый способ, т.к. там вы точно знаете, что и где редактируете в отличии от использования Network Manager. Некоторые администраторы и вовсе советуют отключить Network Manager, по причине возможных непреднамеренных изменений настроек сети.
Если вы не хотите, что бы Network Manager управлял каким либо сетевым интерфейсом, то пропишите директиву NM_CONTROLLED=no
в конфиге интерфейса (ifcfg-enp0s3
) или вовсе отключите его.
systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl restart network
Настройте сеть в CentOS 6, CentOS 7, CentOS 8, CentOS Stream 8, чтобы приступить к работе с вашим сервером. В статье описана настройка сети CentOS (ОС на базе Linux) при установке операционной системы и в консоли с помощью конфигурационного файла.
Мы рассмотрим первоначальную настройку сети с помощью базовых параметров: IP-адреса, маски подсети, шлюза и DNS-серверов.
Основные CentOS-команды
Перед тем как перейти к пошаговой настройке сети, перечислим CentOS-команды консоли, которые понадобятся.
Для просмотра списка установленных сетевых интерфейсов:
или
Перезапуск сети.
Для CentOS 7:
sudo systemctl restart networking
Для CentOS 8/Stream 8:
systemctl restart network
Как настроить сеть при установке
Обычно сеть нужно настраивать при первой установке дистрибутива CentOS.
В инструкции описана настройка сети CentOS 7. Инструкция также подойдет для CentOS 6, 8 и Stream 8.
-
1.
При установке нажмите Сеть и имя узла:
-
2.
Слева показан список подключенных сетевых интерфейсов. Выберите нужный и нажмите Настроить.
Обратите внимание
Чтобы включить сетевой интерфейс CentOS, нажмите на переключатель.
-
3.
Перейдите на вкладку Параметры IPv4. Выберите метод Вручную и нажмите Добавить. Затем введите нужные параметры сети: статический IP-адрес, маску подсети, шлюз, серверы DNS. Нажмите Сохранить:
Готово, теперь вы знаете, как при установке CentOS настроить сеть. Далее продолжится установка операционной системы, после чего ваш сервер будет иметь необходимые сетевые настройки.
Как настроить сеть в консоли
Настроить сеть можно не только на этапе установки, но и после неё. Настройка сети CentOS через консоль пригодится, если вы пропустили этап настройки при установке или хотите изменить существующие параметры сети.
Как узнать, какие сетевые интерфейсы установлены
Чтобы посмотреть список установленных сетевых интерфейсов, перейдите в консоль через пользователя root и введите команду:
или
Результат выполнения каждой из команд в консоли представлен ниже. В примере команда ip a
показывает, что установлено два интерфейса — lo (локальная петля) и enp0s3 (сетевой адаптер Ethernet). Заметьте, что команда ls
отображает только названия интерфейсов. Имена интерфейсам назначаются автоматически.
Как настроить сеть
Рассмотрим настройку сети для сетевого интерфейса, например, с названием enp0s3.
В CentOS в каталоге /etc/sysconfig/network-scripts/ хранятся конфигурационные файлы (Network Config) с настройками всех сетевых интерфейсов. Эти файлы начинаются с приставки ifcfg-. Так, для рассматриваемого сетевого интерфейса название файла ifcfg-enp0s3, а путь до него — /etc/sysconfig/network-scripts/ifcfg-enp0s3.
Чтобы настроить сеть для интерфейса:
-
1.
Для начала вы можете посмотреть сетевые настройки с консоли. Откройте конфигурационный файл с помощью текстового редактора nano (вы можете использовать другой удобный вам редактор):
nano /etc/sysconfig/network-scripts/ifcfg-enp0s3
Где enp0s3 — название сетевого интерефейса.
Содержимое конфигурационного файла зависит от сетевого интерфейса. В файле могут быть указаны разные параметры сети. Файл выглядит следующим образом:
-
2.
Измените IP-адрес, маску подсети, шлюз и серверы DNS. Для этого замените или добавьте в файл соответствующие строки:
DEVICE=enp0s3 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.0.0 NETMASK=255.255.255.0 GATEWAY=192.168.0.1 DNS1=8.8.8.8
Где:
DEVICE — имя настраиваемого сетевого интерфейса;
BOOTPROTO — способ назначения IP-адреса в CentOS: static (вручную), dhcp (автоматический) или none (не использовать dhcp);
ONBOOT — запуск интерфейса при старте сервера: yes (запускать автоматически), no (запускать вручную);
IPADDR — IP-адрес;
NETMASK — маска подсети;
GATEWAY — шлюз для доступа к интернету;
DNS1 (а также DNS2, DNS3) — DNS-серверы — можно добавить несколько.
-
3.
Сохраните изменения и выйдите из редактора. Для этого нажмите Ctrl+X, затем Y.
-
4.
Затем необходимо перезапустить сеть. Если у вас CentOS 7, введите команду:
sudo systemctl restart networking
Если у вас CentOS 8, введите команду:
Готово, после того, как произойдет перезапуск сети, сеть будет настроена. Мы рассмотрели, как происходит в CentOS настройка сети из консоли.
VPS с установленной CentOS
Закажите сервер с чистой CentOS или панелью управления ISPmanager всего за пару минут.
Заказать VPS c Centos
Обновлено 19.08.2021
Добрый день! Уважаемые читатели и гости одного из крупнейших блогов по системному администрированию Pyatilistnik.org. В прошлый раз мы с вами установили CentOS 8 на виртуальную машину Vmware ESXI 6.5. Нужно двигаться дальше и научиться настраивать в CentOS 8 статический IP адрес. а так же получение динамического IP-адреса от сервера DHCP. Эта процедура является базовой настройкой сервера, перед вводом его в эксплуатацию.
Что мы научимся делать
- Разберем способы позволяющие вам настроить сеть в CentOS 8
- Научимся задавать статический IP-адрес в CentOS 8
- Настраивать DNS и основной шлюз в CentOS 8
- Получать IP-адрес по DHCP, автоматически в CentOS 8
- Разберем утилиты Network Manager, System config network tui, Nmcli
- Находить и дублировать сетевую конфигурацию сети
- Как создать конфигурацию виртуального интерфейса
- Разберем траблшутинг сети, отсутствие сетевых карт, недоступен шлюз. Разберем использование утилит ping, traceroute, dig
- Покажу как производится настройка VLAN в CentOS 8
Настройка сети при установке CentOS 8
Подобный методом мы рассматривали, когда во время установки задавали статический Ip адрес CentOS 7, кто не помнит может посмотреть по ссылке. Данный способ хорош тем, что если вы инсталлируете новый сервер, можете все сделать из красивого, графического интерфейса. Находясь на окне «Installation Summary» вам необходимо выбрать пункт «Network & Host Name«.
В окне «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«, чтобы ограничить подключения только к локальной сети.
Настройка IPv6 при установке CentOS 8
Если вы хотите задать настройки для IPv6, то перейдите на соответствующую вкладку. Возможные варианты настройки:
- Игнорировать (Ignore) — IPv6 игнорируется для этого соединения.
- Автоматическая (Automatic) — NetworkManager использует объявление маршрутизатора (RA) для создания автоматической конфигурации без сохранения состояния.
- Автоматически, только адреса (Automatic, addresses only) — NetworkManager использует RA для создания автоматической конфигурации без сохранения состояния, но DNS-серверы и поисковые домены игнорируются и должны настраиваться вручную.
- Автоматический, только DHCP (Automatic, DHCP only) — NetworkManager не использует RA, но запрашивает информацию у DHCPv6 напрямую для создания конфигурации с сохранением состояния.
- Ручная (Manual) — Параметры IPv6 настраиваются вручную для статической конфигурации.
- Link-Local Only — link-local адрес с FE80 ::/10 префиксом назначается интерфейсу
Если вы выбрали метод, который требует ввода параметров вручную, введите сведения об IP-адресе для этого интерфейса, маске сети и шлюзе. Используйте кнопки Добавить и Удалить, чтобы добавить или удалить адреса. Введите разделенный запятыми список DNS-серверов в поле DNS-серверов и разделенный запятыми список доменов в поле «Search Domain» для любых доменов, которые вы хотите включить в поиск серверов имен. При желании введите имя для этого сетевого подключения в поле идентификатора клиента DHCP (DHCP client ID).Это имя должно быть уникальным в подсети. Когда вы назначаете значимый идентификатор клиента DHCP для соединения, это соединение легко идентифицировать при устранении неполадок в сети. Снимите флажок, если он стоит «Require IPv6 addressing for this connection to complete (Требовать адресацию IPv6 для этого соединения для завершения)«, чтобы разрешить системе устанавливать это соединение в сети с поддержкой IPv4, если конфигурация IPv6 не удалась, но конфигурация IPv4 прошла успешно.
Сохраняем все сетевые настройки. Теперь можно сказать, что вы произвели базовую настройку сети при установке CentOS 8, можно дальше продолжить инсталляцию.
Настройка сети CentOS 8 через конфигурационные файлы
Первый метод мы с вами разобрали, он подходит всем, кто делает установку системы сам. Теперь ситуация, когда вам передали уже готовую CentOS 8, пусть в установке Minimal, это стандартный нормальный вариант использования CentOS 8, в качестве серверной ОС. Нет графики, нет кучи компонентов, меньше фронт атаки. Подключаемся к вашему терминалу. Первое, что вам необходимо сделать, это посмотреть список и названия всех ваших сетевых интерфейсов, для этого есть команда:
ip a (То же самое, что и ввести ip addr show)
Как видим у меня два сетевых интерфейса ens33 и ens36. У меня почему, то у интерфейса ens33 нет IPv4 адреса, у второго я получил 192.168.253.145, это мой интернет шнурок.
Если у вас один интерфейс и он не получил ни какого IP-адреса, то логично что вы поставить IFCONFIG не сможете, поэтому сразу переходите к редактированию конфигурационных файлов и настройке статического или динамического IP
Пробуем с вами посмотреть текущие сетевые настройки IP адреса, маску, шлюз в более удобном виде, для этого мы использовали утилиту IFCONFIG. Пишем команду:
Но в случае с CentOS 8 Minimal у вас выскочит ошибка «Command not found» или в русском варианте «ifconfig команда не найдена«. Нам ее нужно установить
Установка IFCONFIG в CentOS 8
Давайте выясним, в каком пакете у нас идет утилита IFCONFIG, для этого вам необходимо выполнить команду:
На выходе я получил «Basic networking tools (BaseOS)»
Установим данный пакет, пишем команду:
Вас спросят хотите ли вы установить данный пакет net-tools, нажмите «Y». Видим, что все успешно установилось.
Пробуем теперь запустить IFCONFIG. Как видим в таком варианте считывание информации, о настройках сети CentOS 8 куда приятнее.
Давайте теперь я отредактирую сетевые настройки для интерфейса ens33 и задам ему:
- IP — 192.168.31.31
- Маску — 255.255.255.0
- Шлюз — 192.168.31.1
- DNS — 192.168.31.1, 192.168.31.2
- Автоматическое включение при старте CentOS 8
В операционных системах CentOS настройки сетевых интерфейсах лежат по пути /etc/sysconfig/network-scripts/. Давайте посмотрим содержимое Для этого введите:
dir /etc/sysconfig/network-scripts/
Вы увидите конфигурационные файлы ваших сетевых интерфейсов, в моем случае, это ens33 и ens36
Чтобы настроить сеть на интерфейсах CentOS 8, вам необходимо отредактировать нужный конфигурационный файл. Для этого я воспользуюсь встроенным редактором vi. Пишем команду:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
Чтобы начать редактировать файл нажмите клавишу «INSERT«
Далее чтобы задать статический IP-адрес приведите настройки вот к такому виду:
- TYPE=Ethernet
- BOOTPROTO=none (означает задать статические настройки), можно поменять значение на DHCP
- NAME=ens33
- ONBOOT=yes (иначе не будет стартовать при запуске)
- NAME=ens33 мое имя интерфейса
- UUID можно менять при клонировании конфигурационного файла
- IPADDR=192.168.31.31 мой IP-адрес
- PREFIX=24 маска 255.255.255.0
- DNS1=192.168.31.1 мой основной DNS
- DNS2=192.168.31.2 дополнительный DNS
- DOMAIN=root.pyatilistnik.org
- GATEWAY=192.168.31.1 основной шлюз
Чтобы сохранить настройки нажмите ESC, потом введите :wq если нужно выйти без сохранения введите :qa!
Чтобы получать динамический IP-адрес по DHCP, выставите в опции BOOTPROTO=dhcp и удалите пункты DNS, IPADDR, PREFIX, GATEWAY
осталось теперь поднять наш сетевой интерфейс для этого есть несколько методов, самый простой использование ifup введите:
Как видим, у меня сетевой интерфейс стал в состояние подключено и я вижу через ifconfig его ip адрес.
Проверим через утилиту PING доступность контроллера домена и другого сервера, отлично пакеты ходят.
Другие методы перезапустить сеть CentOS 8
Чтобы так же поднять сетевой интерфейс вы можете ввести команду:
systemctl restart NetworkManager.service
В итоге я вижу успешный перезапуск сети в CentOS 8.
Снова потушу сетевой интерфейс командой:
Для перезапуска сети введите команду:
nmcli connection up ens33
Как настроить DNS в CentOS 8
Начиная с CentOS 6, основные настройки DNS стали прописываться в файлах /etc/sysconfig/network-scripts/, но в CentOS есть специальный файл куда попадают настройки из конфига интерфейса, называется он resolv.conf. Честно не знаю, почему так сделали. Resolv.conf — это имя компьютерного файла, используемого в различных операционных системах для настройки преобразователя системы доменных имен (DNS). Файл представляет собой простой текстовый файл, который обычно создается сетевым администратором или приложениями, которые управляют задачами конфигурации системы. Программа resolvconf — это одна из таких программ на FreeBSD или других Unix- машинах, которая управляет файлом resolv.conf.
В большинстве Unix-подобных операционных систем и других, в которых реализована библиотека распознавателя BIND Domain Name System (DNS), файл конфигурации resolv.conf содержит информацию, которая определяет рабочие параметры распознавателя DNS. DNS-распознаватель позволяет приложениям, работающим в операционной системе, преобразовывать понятные человеку доменные имена в числовые IP-адреса, необходимые для доступа к ресурсам в локальной сети или в Интернете. Процесс определения IP-адресов по доменным именам называется разрешением. В системных дистрибутивах Linux /etc/resolv.conf
есть символическая ссылка на /run/systemd/resolve/stub-resolv.conf.
ссылка на руководство resolf.conf http://man7.org/linux/man-pages/man5/resolv.conf.5.html
Хочу отметить, что если вы соберетесь редактировать отдельно файл Resolv.conf и вносить альтернативные DNS сервера отличные от тех, что прописаны на сетевых интерфейсах, то после перезагрузки сервера они снова будут затерты на те, что прописаны в конфигурационных файлах сетевых интерфейсов. Давайте я для примера добавлю в это файл сервера Google 8.8.8.8 и 8.8.4.4.
Перезапустим сеть:
systemctl restart NetworkManager.service
После снова смотрим файл и, о чудо ранее добавленные DNS сервера пропали, так, что учитывайте, что все настройки делаются в одном конфиг файле.
Как изменить имя в CentOS 8
Давайте я покажу вам какой конфигурационный файл отвечает за имя хоста (Hostname). Если вы или не вы во время установки CENTOS 8 не удосужились задать правильное DNS имя вашего сервера, то у вас оно по умолчанию будет localhost.localdomain. Посмотреть, это можно командой uname или hostname.
В моем примере, это CentOS 8
Предположим, что я хочу сделать имя SuperCentOS01, для этого отредактируйте конфигурационный файл etc/hostname. Пишем команду;
либо вы можете воспользоваться и вот такой командой, чтобы задать нужное имя хоста в CentOS 8:
hostnamectl set-hostname SuperCentos01
Настройка шлюза по-умолчанию в CentOS 8
Если есть необходимость поменять шлюз по умолчанию, или задать его при его отсутствии, то это легко делается. Для начала вам необходимо посмотреть текущие параметры, кто в вашей системе шлюз по умолчанию, для этого есть старая, добрая команда:
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.253.2 0.0.0.0 UG 0 0 0 ens36
192.168.31.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
192.168.253.0 0.0.0.0 255.255.255.0 U 0 0 0 ens36
В итоге в моем примере есть основной шлюз 0.0.0.0 192.168.235.2. Напоминаю, что в системе может быть только один шлюз по умолчанию.
Если хотите поменять его, то для этого вы можете ввести команду:
route add default gw 192.168.31.1
Если нужно удалить шлюз или маршрут, то для этого есть ключ del.
route del default gw 192.168.31.1
Настройка сети CentOS 8 через Nmcli
nmcli — это интерфейс командной строки NetworkManager, он идет по умолчанию в CentOS 8, это новое и более удобное средство по настройке сети в centOS 8. Как я показывал выше вы можете посмотреть список ваших интерфейсов командой ip addr show, у меня это ens33 и ens36. Чтобы получить более подробную информацию о сетевом интерфейсе ens33, вы можете выполнить следующую команду:
На выходе ужен больше полезных данныж, тут видно и статус подключения, Ip-адрес, шлюз, DNS, маску, MTU:
GENERAL.DEVICE: ens33
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 00:0C:29:E1:D0:26
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: ens33
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1
WIRED-PROPERTIES.CARRIER: on
IP4.ADDRESS[1]: 192.168.31.31/24
IP4.GATEWAY: —
IP4.ROUTE[1]: dst = 192.168.31.0/24, nh = 0.0.0.0, mt = 100
IP4.DNS[1]: 192.168.31.1
IP4.DNS[2]: 192.168.31.2
IP6.ADDRESS[1]: fe80::ae8e:ebde:2fa6:dea0/64
IP6.GATEWAY: —
IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 100
IP6.ROUTE[2]: dst = ff00::/8, nh = ::, mt = 256, table=255
Давайте теперь для интерфейса настроим сеть вот с такими параметрами:
- Ip — поменяем на 192.168.31.10/24
- Шлюзом сделаю 192.168.31.131
- DNS 192.168.31.231
Первой командой мы зададим или поменяем текущий IP-адрес.
nmcli con mod ens33 ipv4.address 192.168.31.10/24
далее зададим шлюз:
nmcli con mod ens33 ipv4.gateway 192.168.31.131
Задать DNS
nmcli con mod ens33 ipv4.dns 192.168.31.231
Теперь нужно перезапустить ваш сетевой интерфейс или сеть centOS 8. Сделать, это можно командой:
ifdown ens33 && ifup ens33
Эти изменения также будут сохранены в файле /etc/ sysconfig/network-scripts/ens33.
Если нужно настроить дополнительнвый IP-адрес, то введите
nmcli con mod ens33 +ipv4.addresses 192.168.31.32/24
Добавить дополнительный DNS:
nmcli con mod ens33 +ipv4.dns 8.8.8.8
Как видите утилита nmcli позволяет очень быстро задать статический IP или произвести полную настройку сети в CentOS 8.