Centos не видит сетевую карту

Обновлено: 08.07.2024

rsergio » 17 авг 2011, 13:31

Добрый день.
Решил разобраться с Asterisk.

Вначале установил на виртуальную машину - все ОК.

Потом решил установить на нетбук Asus EeePC 701.
Все установилось, но в настройках нет ни одого сетевого устройства.

Куда копать даже не знаю, т.к. опыт работы только с Windows

Vlad1983 » 17 авг 2011, 13:46

нашел на что ставить
Код: выделить все dmesg | grep eth

если глухо закатывай fedora 14-15

и вообще накой на нетбук?

rsergio » 17 авг 2011, 14:14

Ставил Asterisk NOW 1.6
Там все автомаом ставиться.

На нетбук - так для домашних нужд больше и не надо, а нетбук очень тихий и мало потребляет.
Сейчас на неттопе под виндой стоит Axon PBX, но захотелось настроить именно Asterisk т.к. возможностей больше.

ded » 17 авг 2011, 16:09

rsergio, не хватает модных дров для встроенного чипа Ethernet в неттоп. Если опыт только с виндой, то его не хватит.
lspci -vv покажет как видит ось чип Ethernet на уровне PCI.
Если есть стойкое желание запустить именно эту версию оси и Астериск, то надо инсталлировать ту же версию на толстой машине, качнуть туда же kernel headers и исходники драйвера этого чипа, скомпилить эти дров и перенести файлик в /lib/modules/2.6.40-4.fc15.x86_64/kernel/drivers/net/. с помощью USB flash например.
Это сложный путь.

rsergio » 17 авг 2011, 18:45

Да. видимо затею придется забросить и вернуться к Axon PBX.

Samael28 » 17 авг 2011, 19:05

Просто не гонять на нетбуке, а на нормальном сервере.

rsergio » 17 авг 2011, 19:28

Домой еще один сервер?

В качестве "сервера" дома уже используются 2х ядерный неттоп, но на нем винда с системой видеонаблюдения, торрент-качалкой, сервером 1С и т.п.
Недавно решил прикрутить IP PBX - начал с Axon, далее почитал и понял, что лучше Asterisk.
Вот нетбук подошел бы для пару номеров, но не думал, что сталкнусь с фигней - отсутствие сетевого адаптера и собственно затея похоронена на корню

Покрутил на виртуалке Asterisk - все что нужно настроил (внутренние номера, голосовую почту, перевод внешних звонков на sipnet), но как-то притормаживает интерфейс, боюсь что неттоп виртуалку не потянет

У меня есть Ubuntu 12.10, на котором я установил виртуальный ящик, на котором я установил Centos 6.4 i386. На Ubuntu у меня работает ядро ​​3.5.0-17.

На виртуальную коробку я устанавливаю Centos 6.4, и все работает нормально, однако, когда я загружаюсь в машину с виртуальной машиной, это происходит только через интерфейс обратной связи. Ничего больше. Я пытался вручную добавить файл ifcfg-eth0, но ничего не происходит. В настройках виртуальной машины я добавил интерфейсы NAT и HostOnly, но всякий раз, когда я загружаюсь в Centos, просто появляется интерфейс. Что я должен делать?

Вам нужно включить сеть во время установки. Вы можете сделать это и после установки. Это изменение в установке CentOS в версиях 6.x, которое сбивает с толку многих людей, включая меня.

Начиная с CentOS 6.x, вы можете либо NetworkManager управлять настройками сети, либо по-прежнему делать это по старинке и настраивать их вручную, используя /etc/sysconfig/network-scripts/ifcfg-eth0 типы файлов. Учитывая, что это виртуальная машина, я бы порекомендовал использовать NetworkManager .

Чтобы вызвать инструмент редактора соединений, сделайте следующее:

Вам будет представлен графический интерфейс, подобный этому:

сс редактор

Из этого графического интерфейса вам нужно отредактировать настройку eth0 следующим образом:

Без графического интерфейса

Если вы пытаетесь сделать это на автономном сервере, вы можете отредактировать следующие файлы и перезагрузить компьютер, eth0 чтобы включить сетевое устройство и получить IP-адрес от сервера DHCP. Измените эти 2 параметра в файле /etc/sysconfig/network-scripts/ifcfg-eth0 :

Рекомендации

Centos 6.4 "NM-connection-editor not found" . графический интерфейс не запущен. Безголовый сервер. нет радости :( @killjoy - какую версию CentOS вы используете. То, что я показал выше, было то, как это было в 2013 году, когда я написал это. Вещи могли измениться в более новых версиях. Также NM_CONTROLLED - это то, как вы можете сделать это явно. Следовательно, почему я показал это. @slim - последняя 7-я версия на дату публикации, на самом деле некоторые другие тоже имеют разные значения. На моей рабочей виртуальной машине это '-eno', так что да, я думаю, что это не статический eth0, как раньше.

Это покажет интерфейсы. Нужно /etc/sysconfig/network-scripts открыть соответствующий ifcfg файл и установить при загрузке да. Перезагрузите систему, и вы вышли из строя.

По умолчанию это установлено в нет в Centos 7

Имеет ли значение, если вы работаете в ВМ? Потому что я проделывал все это несколько раз, и все равно он говорит, что сеть недоступна, и я не могу установить гостевые дополнения VirtualBox без сети, потому что CentOS не включает bzip2 по некоторой задержке. Чтобы расширить это, вы можете создать новый ifcfg файл и назвать интерфейс по своему желанию с помощью DEVICE=[name] опции, если вы включите HWADDR=[mac address] . Вам также нужно изменить эту строку: NM_CONTROLLED = нет что делать, если нет файла ifcfg, соответствующего показу устройства ip a ?

Когда вы создаете новую виртуальную машину (то есть гостевую ОС) с VirtualBox, она по умолчанию делает сетевой адаптер Am79C973. Хотя этот NIC может поддерживаться многими операционными системами, этот конкретный NIC, похоже, не поддерживается CentOS 7. Это означает, что единственным NIC, который будет отображаться внутри вашей новой виртуальной машины CentOS 7, будет NIC с обратной связью. Что вам нужно сделать, это изменить NIC на тот, который поддерживается как 82543GC.

Сначала остановите виртуальную машину CentOS, если вы этого еще не сделали, а затем измените сетевой адаптер с помощью этой команды на хосте VirtualBox:

Теперь запустите вашу виртуальную машину CentOS еще раз, и вы заметите, что она имеет сетевой адаптер.


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

Задача: Настроить сетевые интерфейсы

Настройки сетевых карт хранятся в файлах:

* - за место звездочки ставится номер адаптера

Обычно после установки CentOS в этом файле есть только четыре строчки:

DEVICE="eth0"
HWADDR="08:00:27:79:17:85"
NM_CONTROLLED="yes"
ONBOOT="no"

Следует дописать в этот файл дополнительные настройки:

DEVICE="eth0"
HWADDR="08:00:27:79:17:85"
NM_CONTROLLED="no"
ONBOOT="yes"

BOOTPROTO=static
GATEWAY=10.168.50.2
IPADDR=10.168.50.45
NETMASK=255.255.255.0
BROADCAST=10.168.50.255
DNS1=10.168.50.1

После конфигурирования интерфейсов перезагрузите сетевую службу:

Это самый быстрый и простой метод настройки сетевых адаптеров. Когда вы будете настраивать интерфейс, обязательно следите за последовательностью строк в файле ifcfg-eth*. Например если записать "GATEWAY=10.168.50.2" в конце файла, шлюз работать возможно не будет! За место NETMASK=255.255.255.0 можно написать PREFIX=24.

Теперь второй вариант настройки, похожий на первый.

Также открываем файл:

DEVICE="eth0"
HWADDR="08:00:27:79:17:85"
NM_CONTROLLED="no"
ONBOOT="yes"
GATEWAY=10.168.50.2
IPADDR=10.168.50.45
NETMASK=255.255.255.0
BROADCAST=10.168.50.255

Интерфейс настроен, осталось прописать DNS сервер и шлюз по умолчанию.

nameserver 10.168.50.1 //Первичный DNS

nameserver 10.168.50.2 //Вторичный DNS

Настройка шлюза по умолчанию:

/sbin/route add default gw 10.168.50.2

Проверка маршрута (шлюз по умолчанию):

После этих комманд наш сервер выйдет в Интернет!

Для проверки можно установить Midnight Commander:

Потом уже можно установить network-config-network-tui и setuptool

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

Расмотрим третий случай, когда нет конфигурационных файлов.

Третий случай это когда нет файлов /etc/sysconfig/network-scripts/ifcfg-eth*

Сетевые адаптеры не видны!

Например, допустим система имеет два сетевых интерфейса. Их само собой не видно.

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

В нем нам интересно узнать mac адрес и обозначения сетевых карт.

Mac адрес берется с этого параметра ATTR=="08:00:27:40:03:63"

Обозначение адаптера берется с этого параметра Name="eth0"

Аналогичным образом смотрим настройки второй сетевой карты eth1.

После того как мы узнали Mac адрес и обозначение, можно приступать к созданию файлов ответственных за сетевые адаптеры ifcfg-eth0 и ifcfg-eth1

Mac адрес (ATTR ) вписываем за в HWADDR, получится так HWADDR="08:00:27:40:03:63" и пишем обозначение eth0 в DEVICE, получится так: DEVICE=eth0, ну и дальше как обычно прописываете IP адрес, маску, шлюз, броадкаст и bootproto, посмотрите внизу на примерные файлы:

DEVICE=eth0

BROADCAST=10.168.50.255

HWADDR=08:00:27:f1:54:18

IPADDR=10.168.50.48

NETMASK=255.255.255.0

NETWORK=10.168.50.0

ONBOOT=yes

NAME=Internet

DEVICE=eth1

BOOTPROTO=static

HWADDR=08:00:27:40:03:65

IPADDR=192.168.50.1

NETMASK=255.255.255.0

ONBOOT=yes

NAME=LOCAL

Если нет файла /etc/sysconfig/network, создаем его:

NETWORKING=yes

HOSTNAME=ServakUpal

NETWORKING_IPV6=no

И перезагружаем компьютер:

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

После перезагрузки проверяем наличие сетевых карт:

Бывает, что иногда надо прописать статические маршруты

Делаем так, описываем маршрут локальной сети за которой закреплен адаптер eth1:

Описываем маршрут под сети провайдера, адаптер eth0:

Добавляем маршрут по умолчанию:

Открываем файл статических маршрутов:

default via 217.15.174.47 dev eth0

any net 192.168.1.0 netmask 255.255.255.0 gw 217.15.174.47 eth0

Примечание: Обычно так маршруты не надо прописывать.

Отключение и удаление службы Network Manager

Эта служба помогает на обычном компьютере настраивать сетевые карты, но на серверах обычно ее отключают или вообще удаляют:

Удаление Network Manager:

А если вам противна консоль, установите KDE Desktop:

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

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

Смотрим все установленные сетевые адаптеры в системе:

В результате получаем что-то подобное:

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, открываем на редактирование следующий конфигурационный файл:

И приводим его к следующему виду:

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 добавим:

Основные опции

Опция Описание Возможные значения
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

Чтобы настройки применились, перезапускаем сетевую службу.

systemctl restart network

б) для CentOS 8 вводим 2 команды:

systemctl restart NetworkManager

nmcli networking off; nmcli networking on

* в большей степени, это основное отличие версий 7 и 8. Чтобы команды смогли поменять настройки, для интерфейсов необходима настройка NM_CONTROLLED=yes.

Дополнительные опции (не обязательны для работы сети)

Настройка сети из консоли (командами)

Настройка из консоли будет работать только до перезагрузки системы. Ее удобно применять для временного конфигурирования или проведения тестов.

Назначение 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

Команда ifconfig

В новых версиях CentOS утилита ifconfig не установлена и при вводе одноименной команды можно увидеть ошибку «Команда не найдена». Необходимо либо воспользоваться командой ip (ip address), либо установить утилиту ifconfig.

yum install ifconfig

yum install net-tools

Настройка WiFi

Принцип настройки беспроводной сети на CentOS не сильно отличается от проводной.

Создаем конфигурационный файл со следующим содержимым:

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.

Перезапускаем сетевые службы.

Для автоматического получения 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, однако мы рассмотрим альтернативный способ, на случай, если кому-то это пригодится.

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