Как включить wifi в centos
Перейти к содержимому

Как включить wifi в centos

  • автор:

Centos поднять wifi при первой загрузке после netinstall

Поставил свежий цент 7.2.1511 на ноут. Ставил из netinstall, установка минимальная. При установке легко поднялся wifi без лишних движений и система установилась. Но после первой загрузки wifi нет. Соответственно не могу поставить пакеты.

Проверил ip addr, он выдает 3 устройства lo, enp3s0, wlp4s0 Провода чтобы подрубиться напрямую к роутеру щас нет, да и хочется разобраться как поднять вайфай (в дебиане я легко это делал прямо в /etc/network/interfaces, а в центе я новичок)

Проверил nmtui, там есть настройки моего wifi подключения, но подключиться предлагает только по проводу

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

Обновлено

Обновлено: 25.08.2022 Опубликовано: 06.07.2016

Что такое CentOS простыми словами. Инструкция применима к Rocky Linux, CentOS версий 7 и 8, CentOS mini (минимальная сборка), Fedora.

Базовая настройка сети

Смотрим все установленные сетевые адаптеры в системе:
В результате получаем что-то подобное:

1: lo: 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: 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: 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 на одном сетевом адаптере

  1. Псевдонимов — создание нового виртуального интерфейса с названием :.
  2. Добавлением IPADDRx и NETMASKx в конфигурационном файле.

Рассмотрим оба варианта подробнее.

Создание псевдонимов (более ранние версии CentOS 7 и ниже)

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

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 и выше)

Открываем конфигурационный файл для сетевого интерфейса, например:

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 в конфигурационном файле:

* в наших примерах выше данный параметр имеет значение static.

Переопределение DNS с помощью dhclient.conf

Также мы можем переопределять настройки для DHCP с помощью конфигурационного файла. Например, если мы хотим, чтобы адреса DNS были заданы определенные, а не полученны от DHCP, открываем конфиг:

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, необходимо открыть файл:

В раздел [main] добавить:

Переопределение DNS в NetworkManager (альтернативный способ)

Метод, описанный выше по переопределению DNS не подходит для NetworkManager без изменения настройки dhcp, так как адреса будут получены и обработаны с помощью встроенных методов. Выше, предоставлено решение в виде настройки dhcp=dhclient, однако мы рассмотрим альтернативный способ, на случай, если кому-то это пригодится.

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 секунды проверяем:

Читайте также

Другие статьи на тему сетевых настроен CentOS:

Как в Centos 7 подключить модуль WiFi?

Установил на ноутбуке Centos 7. В ноуте Ethernet порт не работает, поэтому выходить в Internet он может только по WiFi.
lspci показывает NetWork controller, однако в настройках пишет что контролер не включен. Что может быть?

  • Вопрос задан более трёх лет назад
  • 805 просмотров

Комментировать

Решения вопроса 1

Max737 @Max737 Автор вопроса

Проблему решил. Если кому интересно — elrepo.org/tiki/wl-kmod

Ответ написан более трёх лет назад

Комментировать

Нравится Комментировать

Ответы на вопрос 2

Zoominger

System Integrator

Установил на ноутбуке Centos 7.

Но зачем, Карл?! Даже если не касаться того, что на ноутбуках Linux нежизнеспособен, почему вы не поставили хотя бы ту же Ubuntu?
Совет прост — ищите драйвера на свой WiFi-контроллер. Когда не найдёте — поставьте Ubuntu. Если там не заведётся, то поставьте Fedora. Если и там не заведётся, то ставьте нормальную десктопную ОС.

Ответ написан более трёх лет назад

Комментировать

Нравится 4 Комментировать

Как включить wifi в centos 7 на ASUS X550L?

Имеется ноутбук ASUS X550L на котором во время работы установщика WiFi работал, по окончании установки перестал и в списке доступных методов подключения его не видно.

uname -a Linux egor 3.10.0-229.4.2.el7.x86_64 #1 SMP Wed May 13 10:06:09 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux lspci | grep -i network 03:00.0 Network controller: Ralink corp. RT3290 Wireless 802.11n 1T/1R PCIe

Пытался поискать драйвера на elrepo, но не нашёл.

UPD:
На elrepo искал здесь: elrepo.org/tiki/DeviceIDs по 1814:3290, там такого нет.
Пытался скомпилировать драйвер отсюда: www.mediatek.com/en/downloads/?sort=os , RT3290 PCIe, но получил ошибку:

/home/epetrov/Загрузки/DPO_RT3290_LinuxSTA_V2600_20120508/os/linux/../../os/linux/rt_linux.c:1136:20: ошибка: incompatible types when assigning to type «int» from type «kuid_t» pOSFSInfo->fsuid = current_fsuid(); ^ /home/epetrov/Загрузки/DPO_RT3290_LinuxSTA_V2600_20120508/os/linux/../../os/linux/rt_linux.c:1137:20: ошибка: incompatible types when assigning to type «int» from type «kgid_t» pOSFSInfo->fsgid = current_fsgid();

UPD2:
При этом есть вот такой вывод:

grep -i 1814 /lib/modules/*/modules.alias | grep -i 3290 [sudo] password for epetrov: /lib/modules/3.10.0-229.4.2.el7.x86_64/modules.alias:alias pci:v00001814d00003290sv*sd*bc*sc*i* rt2800pci /lib/modules/3.10.0-229.el7.x86_64/modules.alias:alias pci:v00001814d00003290sv*sd*bc*sc*i* rt2800pci

Это означает, что драйвера всё же есть? Почему тогда они не используются и как их включить?

  • Вопрос задан более трёх лет назад
  • 4751 просмотр

Комментировать
Решения вопроса 0
Ответы на вопрос 2

jidckii

system administrator
# yum install net-tools
# ifconfig -a
# ifconfig wlan0(у вас может называть по другому) up
Ответ написан более трёх лет назад

Hayate

Егор Петров @Hayate Автор вопроса

net-tools установлен
ifconfig самое похоже не wifi отображает wlp3s0f0, который в менеджере отображается как неуправляемое pci устройство

Hayate

Егор Петров @Hayate Автор вопроса
Пытался скомпилировать драйвер, тоже не компилируется.
Администратор Linux, Windows. 1С программист
А почему Вы решили что драйвера нет? Написано же

spci | grep -i network
03:00.0 Network controller: Ralink corp. RT3290 Wireless 802.11n 1T/1R PCIe

ifconfig -a
дайте

Ответ написан более трёх лет назад

Hayate

Егор Петров @Hayate Автор вопроса

ifconfig -a
enp2s0f1: flags=4163 mtu 1500
inet 192.168.0.82 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::beee:7bff:fe2d:d22b prefixlen 64 scopeid 0x20
ether bc:ee:7b:2d:d2:2b txqueuelen 1000 (Ethernet)
RX packets 158494 bytes 204211673 (194.7 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 117831 bytes 12283455 (11.7 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
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 0 (Local Loopback)
RX packets 2251 bytes 282295 (275.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2251 bytes 282295 (275.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

tun0: flags=4305 mtu 1500
inet 10.10.0.110 netmask 255.255.255.255 destination 10.10.0.109
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 100 (UNSPEC)
RX packets 1 bytes 84 (84.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1 bytes 84 (84.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

virbr0: flags=4099 mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:1e:48:9f txqueuelen 0 (Ethernet)
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

virbr0-nic: flags=4098 mtu 1500
ether 52:54:00:1e:48:9f txqueuelen 500 (Ethernet)
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

wlp3s0f0: flags=4099 mtu 1500
ether 48:5a:b6:3c:58:ef txqueuelen 1000 (Ethernet)
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

Добавить комментарий

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