Linux включить сетевой адаптер

Обновлено: 04.07.2024

Для доступа к сетевым картам в Linux используются так называемые интерфейсы. Интерфейсы это не файлы устройств и их нет в каталоге /dev. Интерфейсы создаются динамически и не всегда связаны с сетевыми картами. Например интерфейс ppp0 - это интерфейс VPNа, организованного по протоколу PPTP, а интерфейс lo это виртуальная сетевая карта с адресом localhost (127.0.0.1). В Linux имена интерфейсов традиционно состоят из мнемонического типа интерфейса и его порядкового номера. Карты ethernet доступны через интерфейсы eth0, eth1 и т.д. В системах, использующих systemd способ именования другой - интерфейсы имеют имена вида enp2s0 (en -Ethernet, p - PCI, 2 - номер на шине) Список всех интерфейсов можно посмотреть командой ifconfig -a или ip link .

Привязка интерфейса к карте

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

Видно, что нумерация опирается на аппаратный (MAC) адрес карты. Если в компьютере заменить карту, то интерфейс eth0 станет недоступным, а новая карта получит имя eth1. Если есть желание вручную назначить имена картам, то можно отредактировать этот файл, выставив желаемые соответствия между MAC адресами именами интерфейсов (возможно потребуется перезагрузка).

ifcfg

Классическая утилита конфигурации сетевых интерфейсов ifcfg

route

Настройка таблицы маршрутизации route

В современных дистрибутивах линукса на смену ifconfig и route приходит универсальная утилита ip

Адреса серверов DNS и имя локального домена вписываются в файл /etc/resolv.conf

Для просмотра доступных сетевых интерфейсов используется команда ip link

ArchLinux использует для настройки сети systemd/netctl . Для конфигурации используются файлы профилей, которые хранятся в /etc/netctl/ . В данном каталоге есть подкаталог examples/ из которого можно копировать файлы с образцами профилей в /etc/netctl/ . Например:

Содержимое enp1s0-work после редактирования

Базовые команды netctl

Просмотр доступных интерфейсов - ifcfg -a

Файл конфигурации интерфейсов - /etc/network/interfaces . auto - говорит о том, что интерфейс надо конфигурировать при старте системы.

После смены настроек в /etc/network/interfaces , необходимо отключить и снова включить интерфейс.

Общие настройки сети

Файл /etc/sysconfig/network используется стартовыми скриптами и содержит ключевые параметры - нужна ли сеть, нужно ли конфигурировать IP v6, имя компьютера. Сюда можно вписать шлюз по умолчанию, но CentOS 6 ориентируется на динамическое подкючение к сетям через WiFi и вписывает его в конфигурацию подходящего интерфейса.

Конфигурация интерфейса

Файлы в каталоге /etc/sysconfig/network-scripts с именами вида ifcfg-eth0

Интерфейс, получающий адрес по DHCP

Дополнительный IP адрес на интерфейсе eth1

Инициализация VLAN на eth1

Настройка DNS

Файл /etc/resolv.conf

Ручная настройка имен хостов файл /etc/hosts

Настройка брандмауэра

Файл /etc/sysconfig/system-config-firewall правила для настройки программой system-config-firewall

Файл /etc/sysconfig/iptables текущие правила, сохраненные на случай перезагрузки.

После ручного изменения правил их можно сохранить командой service iptables save


Вам может потребоваться выполнить эти команды в соответствии с вашими требованиями.

Я могу привести несколько примеров, где вам это понадобится.

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

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

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

Это можно сделать разными способами, и мы хотели бы добавить лучшие пять методов, которые мы использовали в статье.

Это можно сделать, используя следующие пять методов.

Приведенные ниже выходные данные показывают информацию о доступной сетевой карте (NIC) в моей системе Linux.

1) Как подключить и отключить сетевой интерфейс в Linux с помощью команды ifconfig?

Команда ifconfig используется для настройки сетевого интерфейса.

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

Он предоставляет много информации о NIC.

Мы можем использовать команду ifconfig, когда нам нужно внести какие-либо изменения в сетевую карту.

Общий синтаксис для ifconfig:

Выполните следующую команду, чтобы отключить интерфейс enp0s3 в Linux.

Запишите его, вы должны ввести имя вашего интерфейса вместо нашего варианта.

Да действительно, данный интерфейс не работает согласно следующему выводу.

Выполните следующую команду, чтобы включить интерфейс enp0s3 в Linux.

Да, данный интерфейс работает сейчас согласно следующему выводу.

2) Как включить и отключить сетевой интерфейс в Linux с помощью команды ifdown / up?

Примечание. Она не работает с новым интерфейсным именем устройства, таким как enpXXX.

Общий синтаксис для ifdown / ifup:

Выполните следующую команду, чтобы отключить интерфейс eth1 в Linux.

Выполните следующую команду, чтобы включить интерфейс eth1 в Linux.

Да, данный интерфейс работает сейчас согласно следующему выводу.

ifup и ifdown не поддерживают последние имена интерфейсных устройств enpXXX.

3) Как вывести из строя или поднять сетевой интерфейс в Linux с помощью команды ip?

Команда ip используется для управления картой сетевого интерфейса (NIC).

Это замена старой и устаревшей команды ifconfig в современных системах Linux.

Она похожа на команду ifconfig, но имеет много мощных функций, которые недоступны в команде ifconfig.

Общий синтаксис для IP:

Выполните следующую команду, чтобы отключить интерфейс enp0s3 в Linux.

Да, данный интерфейс не работает согласно следующему выводу.

Выполните следующую команду, чтобы включить интерфейс enp0s3 в Linux.

Да, данный интерфейс работает сейчас согласно следующему выводу.

4) Как включить и отключить сетевой интерфейс в Linux с помощью команды nmcli?

Его можно использовать в качестве замены для nm-applet или других графических клиентов. nmcli используется для создания, отображения, редактирования, удаления, активации и деактивации сети.

подключения, а также контролировать и отображать состояние сетевого устройства.

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

Общий синтаксис для IP:

Выполните следующую команду, чтобы отключить интерфейс enp0s3 в Linux.

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

Да, данный интерфейс не работает согласно следующему выводу.

Выполните следующую команду, чтобы включить интерфейс enp0s3 в Linux. Вы должны дать имя профиля вместо имени устройства, чтобы включить его.

Да, данный интерфейс работает сейчас согласно следующему выводу.

5) Как вывести из строя сетевой интерфейс в Linux с помощью команды nmtui?

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

Запустите следующую команду, чтобы запустить интерфейс nmtui.

Выберите «Подключится» и нажмите «ОК».

Выберите интерфейс, который хотите отключить, затем нажмите кнопку «отключить».


Краткое пособие для недавно «переехавших» на альт линукс, о том, как настроить вашу сетевую карту. Не рассматриваются графические конфигураторы, все изменения конфигурационных файлов производятся от имени пользователя root

Содержание

ВНИМАНИЕ, данный материал работает на alt desktop 4.1, вероятно работает на серверных версиях альт 4.х, на версиях 5.х некоторые настройки, в частности DNS, производятся несколько иначе

Для вывода имени комьютера введите команду hostname

Для изменения имени компьютера откройте файл /etc/sysconfig/network и найдите там директиву HOSTNAME:

Вместо сгенерированного программой установки впишите нужное имя в формате FQDN. После записи нового имени сохраните изменения в файле и перезагрузите компьютер.

  1. В процессе установки системы нужно было сразу назначить имя компьютера вида myhost.mydomain.tld, например, "lt777.altdomain.local" это поможет избежать возможных проблем, если в сети присутствует dns-сервер
  2. Если сетевые демоны ещё не сконфигурированы, вместо перезагрузки можно просто изменить значение hostname в ядре:

Команду нужно выполнить с правами суперпользователя (с помощью su или sudo, либо из сеанса root).

Теперь выясним, есть ли вообще у нас сетевые карты в компьютере, введем команду lspci -v, в ответ вы должны получить список многих ваших устройств, сетевой карте соответствуют примерно такой раздел

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

Узнаем сетевой адрес компьютера, воспользуемся командой ip addr show либо кратким вариантом этой же команды ip a, в ответ вы должны получить примерно следующее

eth0 это имя вашего реального сетевого интерфейса, link/ether 00:1e:8c:da:6a:1e mac-адрес, обратите внимание, если сетевой кабель не будет физически подключен к разъему сетевой карты, в выводе команды появится слово NO-CARRIER

Команда ip route show (или ее краткий вариант ip r) покажет шлюз

Команда ethtool имя_интерфейса покажет вам некоторые характеристики, с которыми работает ваша сетевая карта

Посредством команды ethtool вы также можете изменять эти характеристики.

Сеть в ALT Linux настраивается с помощью Etcnet, более подробно про это можно почитать тут. Будем исходить из того, что при инсталляции системы был установлен режим конфигурирования сети «Получение адреса автоматически», если в вашей сети настроен и правильно функционирует dhcp-сервер, ваш компьютер имеет динамически выделенный адрес, и в большинстве случаев на обычной рабочей станции никакое дополнительное конфигурирование не нужно. ВНИМАНИЕ, если у вас есть ADSL-модем, в нем может быть настроен внутренний dhcp-сервер, и ваш компьютер по всей вероятности получит настройки сети от него. В этом случае не стоит конфигурировать вашу сетевую карту вручную. Но допустим, вам все-таки потребовался статический адрес, для этого отключим сетевой интерфейс eth0

Файлы настройки сети в альт линукс находятся в папке /etc/net/ifaces, там, если у вас одна сетевая карта, должно быть четыре папки /default, /eth0, /local, /unknown. Непосредственное отношение к нашей сетевой карте имеет папка eth0 (eth0 по умолчанию присваивоемое имя сетевого интерфейса вашей реальной сетевой карты), в ней будет лежать файл /etc/net/ifaces/eth0/options, в общем случае его содержимое будет примерно таким:

Последняя строка отвечает за способ получения сетевой картой сетевого адреса. Какие значения может принимать параметр BOOTPROTO: static — адреса и маршруты будут взяты из файлов ipv4address и ipv4route (о них будет рассказано ниже). dhcp — интерфейс будет сконфигурирован по DHCP. ipv4ll — интерфейс будет сконфигурирован с помощью IPv4LL (link-local). Это значит, что из сети 169.254.0.0/16 (169.254.0.1-169.254.255.254) будет подобран ещё не использованный адрес и назначен на интерфейс. Существует несколько комбинированных способов: dhcp-static — если конфигурация по DHCP не удалась (не удалось получить сетевой адрес с помощью dhcp-сервера), конфигурировать методом static (получить адрес статически из файлов ipv4address и ipv4route). Данный метод бывает очень удобен, например на мобильных ПК (в корпоративной сети ноутбук получает адрес через dhcp-сервер, при отстутсвии оного (дома/в командировке/ets) получает статический адрес). dhcp-ipv4ll — если конфигурация по DHCP не удалась, конфигурировать методом ipv4ll. dhcp-ipv4ll-static — если конфигурация по DHCP не удалась, конфигурировать методом ipv4ll. Если и это не удалось, конфигурировать методом static. ВНИМАНИЕ, известна проблема, что в последних трех случаях запись через тире (-) не работает, работает запятая (,) , т.е. например запись dhcp-static нужно записать как dhcp,static Теперь изменим запись BOOTPROTO=dhcp на BOOTPROTO=static.

Теперь нужно задать ip-адрес и маску сети, например 192.168.0.48/255.255.255.0 (таблица для преобразования маски в CIDR), для этого создадим файл /etc/net/ifaces/eth0/ipv4address и запишем в него параметры соединения (файл именно с таким названием отвечает за настройку ip-адреса)

Если ваша сетевая карта предполагает наличие двух ip-адресов, то в файл ipv4address следует добавить ещё один адрес (обратите внимание на то, что используется ">>" вместо ">"; с ">" файл перезапишется, с ">>" вывод предыдущей команды будет дописан в конец файла):

Теперь зададим шлюз соединения, например 192.168.0.10, для этого создадим файл /etc/net/ifaces/eth0/ipv4route и запишем в него имя шлюза по умолчанию (файл именно с таким названием отвечает за настройку шлюза)

Перезапускаем сеть (после рестарта сети сетевая карта включится сама, так что вышеприведенную команду можно не выполнять, просто показано как это делать)

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

добавят (но не удалят) IP адрес и маршрут. Синтаксис команды ip обширен и выходит за рамки этой статьи. Однако эти команды изменяют конфигурацию сети до ближайшей перезагрузки компьютера. Для постоянного изменения Вам нужно отредактировать файлы, о которых говорилось выше. Файл с описанием dns-сервера /etc/resolv.conf у Вас, по идее, должен быть, но если его нет, то создадим его и поместим туда адрес Вашего dns-сервера, например 192.168.0.9

Если у вас два dns (второй например 192.168.1.9), создать этот файл и внести туда адреса dns-серверов вы также можете следующим образом:

Для прекращения ввода и сохранения файла следует нажать Сtrl+D. Так же можно добавить в resolv.conf список доменов по-умолчанию:

Домены перечисляются в порядке предпочтения поиска в одну строку. В версиях 5.х настройки dns настоятельно рекомендуется делать в файле /etc/net/ifaces/имя_интерфейса/resolv.conf Отличия echo и cat читайте man echo и man cat. Запускаем скрипт resolv.all (чтобы система увидела новые настройки dns)

Если вы хотите дать имени вашего сетевого интерфейса какое-либо информативное имя (вообще является хорошей практикой переименовать ваш интерфейс из eth0 хотя бы в eth00), вам нужно выполнить следующий ряд действий. Выполните команду ip a и запишите, какому сетевому интерфейсу какой mac-адрес соответствует. Отключите интерфейс (где eth1 имя интерфейса)

Переименуйте его (где eth1 старое имя, local новое имя)

Смените название папки с настройками eth1 на новое название

Помня об ошибке 11786 делаем

В файле /etc/net/iftab сделайте запись

где 11:22:33:aa:bb:cc мак-адрес карты, полученный ранее по команде ip a. Перезапустите сеть.

Указав нужный mac-адрес и новое имя.

Вариант 2. Создадим правило для управления порядком инициализации сетевых карт

Впишите в него следующие строки (где eth0 имя первого сетевого интерфейса, vykl имя второго интерфейса)

ATTRS это mac-адрес сетевой карты, для его получения введите команду

Более подробная информация о настройке сети в альт линукс находится в разделе etcnet, а также man ip. О работеudev.

Подключение и настройка сетевой карты в Linux Ubuntu

Как подключить сетевую карту в Linux Ubuntu?

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

  • Через менеджер пакетов установить пакеты ethtool , lshw6 net-tools и pciutil :
  • Для просмотра доступных сетевых плат используйте команду:

Эта команда определит, какие именно интерфейсы подсоединены к шине PCI. Если там есть Ваши устройства, значит всё в порядке, их драйвера присутствуют в ядре Linux.

  • После этого можно просмотреть детальную информацию о каждой плате (интерфейсе). Для этого нужно подать команду:

Из предыдущего вывода можно узнать слот PCI латы, который в новом выводе будет обозначаться как bus info :

Найдя по номеру гнезда плату, можно будет определить:

  • логический номер интерфейса: ( logocal name: ). Не факт, что он будет стандартным eth0 , eth1 и т.д.;
  • мак адрес сетевой карты (физический) ( serial: );
  • ip-адрес карты: ( configuration: . ip =x.x.x.x . )

Примечание: если карта не настроена, iр=адрес может и не отображаться. А вот имя интерфейса и мак адрес карты должны отображаться всегда!

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

Какие существуют файлы конфигурации для настройки сетевых интерфейсов Ubuntu?

Для правильного функционирования сети необходимо внести изменения в следующие файлы конфигурации системы:

  • /etc/network/interfaces
  • /etc/resolv.conf
  • /etc/hosts
  • /etc/networks

Содержимое последних трёх файлов будет обсуждаться в разделах, посвящённых IP протоколам.

Примеры настройки файла /etc/network/interfaces

Ниже приводятся фрагменты настройки Ethernet карт с пояснениями.

Вначале нужно настроить закольцованный интерфейс, если по каким-то причинам он отсутствует:

Минимальные настройки для интерфейса eth0 по dhcp :

  • address – ip адрес компьютера
  • netmask – его сетевая маска
  • gateway – основной шлюз сети
  • broadcast – широковещательный адрес. Обычно заканчивается на .255, что означает все адреса компьютеров в сети
  • dns-nameservers – адреса первичного и вторичного DNS серверов

Для Wi-fi карты типовые настройки будут следующими:

Значения параметров следующие:

  • iface wlan0 inet dhcp - конфигурация для DHCP
  • iface wlan0 - имя нашего интерфейса (wlan0, eth1, rausb0, ra0, и т.д.)
  • wpa-driver - это wpa-driver для нашей карты ('wext' - общий драйвер для Linux, работающий с «ndiswrapper»). Рекомендуется оставить как есть.
  • hostap = Host AP driver (Intersil Prism2/2.5/3) atmel = ATMEL AT76C5XXx (USB, PCMCIA) wext = Linux wireless extensions (generic) madwifi = Atheros
  • wired = wpa_supplicant wired Ethernet driver
  • wpa-ssid - имя нашей точки доступа (ESSID). Без кавычек.
  • wpa-ap-scan - параметр вещания точкой доступа её имени. «1» = ESSID вещается всем. «2» = ESSID скрыт.
  • wpa-proto - протокол «RSN» = WPA(2) «WPA» = WPA(1)
  • wpa-pairwise и wpagroup - «CCMP» = AES-шифрователь (как часть стандарта WPA(2)) «TKIP» = TKIP-шифрователь (как часть стандарта WPA(1))
  • wpa-key-mgmt - «WPA-PSK» = Аутентификация через ключевую фразу (см. 'Создание ключей') «WPA-EAP» = Аутентификация при помощи сервера аутентификаций.
  • auto wlan0 - автоматическое включение wlan0 при загрузке/перезагрузке сети.

Как генерировать шестнадцатеричные ключи для Wi-fi?

Теперь нам нужно сконвертировать нашу ключевую фразу (WPA ASCII) в hex-ключ:

Результат будет примерно таким:

hex-ключ это все символы после " psk= ".

Нужно его скопировать в буфер обмена и вставить в файл /etc/network/interfaces в поле wpa-psk .

Теперь можно сохранить файл и перезагрузить сеть. Должно установиться соединение. Однако иногда этого сразу не происходит. Если это так - перезагружаем машину.

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