Подключить сетевую карту линукс

Настройка сетевой карты, краткое пособие для начинающих

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

1. Общая информация о сетевых настройках вашей системы

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

Узнаём имя компьютера

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

# hostname alt777.altdomain.local

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

HOSTNAME=alt777.altdomain.local

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

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

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

Какие сетевые карты есть в системе

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

02:00.0 Ethernet controller: Attansic Technology Corp. L1 Gigabit Ethernet Adapter (rev b0) Subsystem: ASUSTeK Computer Inc. Device 8226 Flags: bus master, fast devsel, latency 0, IRQ 219 Memory at fe9c0000 (64-bit, non-prefetchable) [size=256K] Expansion ROM at fe9a0000 [disabled] [size=128K] Capabilities: [40] Power Management version 2 Capabilities: [48] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable+ Capabilities: [58] Express Endpoint, MSI 00 Kernel driver in use: atl1 Kernel modules: atl1

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

# lspci | grep Eth 02:00.0 Ethernet controller: Attansic Technology Corp. L1 Gigabit Ethernet Adapter (rev b0)

Получение информации о настройках сети

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

ip addr show 1: lo: mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo 2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:1e:8c:da:6a:1e brd ff:ff:ff:ff:ff:ff inet 192.168.0.20/24 brd 192.168.0.255 scope global eth0

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

2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:1e:8c:da:6a:1e brd ff:ff:ff:ff:ff:ff inet 192.168.0.20/24 brd 192.168.0.255 scope global eth0

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

# ip route show 192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.20 default via 192.168.0.10 dev eth0

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

# ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 0 Transceiver: internal Auto-negotiation: on Supports Wake-on: umbg Wake-on: d Link detected: yes

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

Читайте также:  Wiki astra linux обновление

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

Конфигурирование сетевой карты на получение статического адреса

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

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

TYPE=eth DISABLED=no NM_CONTROLLED=no BOOTPROTO=dhcp

Последняя строка отвечает за способ получения сетевой картой сетевого адреса. Какие значения может принимать параметр 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.

Читайте также:  What linux looks like

Настройка статического ip-адреса

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

# echo 192.168.0.48/24 > /etc/net/ifaces/eth0/ipv4address

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

# echo 10.0.2.148/24 >> /etc/net/ifaces/eth0/ipv4address

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

# echo default via 192.168.0.10 > /etc/net/ifaces/eth0/ipv4route

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

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

У двух последних команд есть флаги stop и start, которые соответственно гасят всю сеть и включают ее (на самом деле это касается только команды-сервиса «network», команда «service» только запускает скрипты из /etc/init.d/). Ваш IP, маску и шлюз Вы можете изменить командами ip addr . и ip route < add | del | change >. . Например

# ip addr add 192.168.0.XX/24 dev eth0 # ip route add dev eth0 XX.XX.XX.XX

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

# echo nameserver 192.168.0.9 > /etc/resolv.conf

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

# cat >>/etc/resolv.conf nameserver 192.168.0.9 nameserver 192.168.1.9

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

# echo search mydom1.local domain2.ru >> /etc/resolv.conf

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

Читайте также:  Команда создания директории linux

Дополнения

Переименование имени сетевого интерфейса

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

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

#ip link set eth1 name local

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

#mv /etc/net/ifaces/eth1 /etc/net/ifaces/local
#echo "MODULE=модуль_сетевушки" >> /etc/net/ifaces/local/options

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

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

Переименование при использовании systemd

Если Вы используете systemd, то рекомендуется переименовывать сетевые интерфейсы следующим способом:
В файле /etc/udev/rules.d/79-net-name.rules (если его нет, то необходимо создать его) добавьте для каждого интерфейса следующую строчку:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR=="00:14:17:84:47:60", KERNEL=="eth*", NAME="pve01"

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

Закрепление порядка загрузки сетевых карт

Данный материал может быть актуален дистрибутиве 4.1. Была замечена следующая проблема. При наличии в компьютере двух сетевых карт (одна из которых включена, но не используется) периодически менялись местами имена сетевых интерфейсов, соответственно изменялись параметры сетевой карты и как следствие сетевая карта оказывалась подключена не к той сети (грубое решение — вытащить сетевой кабель и подключить к другой карте) Для жесткого закрепления порядка загрузки сетевых карт используем udev, который загружает все модули одновременно, поэтому устройства иногда инициализируются в различном порядке. Однако мы можем управлять правилами загрузки модулей. Вариант 1. Самостоятельное указание порядка загрузки модулей сетевых карты с помощью параметра MODULES в файле /etc/rc.conf. Модули, добавленные в этот список, будут загружены перед стартом udev, так что вы имеете полный контроль над порядком их загрузки (откуда взять имя модуля, было сказано ранее в этой статье).

# Модуль 8139too всегда будет загружаться перед e100 MODULES=(8139too e100)

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

#echo -n>/etc/udev/rules.d/10-network.rules

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

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTRS=="00:1e:8c:da:6a:1e", KERNEL=="eth*", NAME="eth0" SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTRS=="00:14:d1:13:8b:96", KERNEL=="eth*", NAME="eth1"

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

#udevadm info -a -p /sys/class/net/ | grep address

Что еще почитать?

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

Источник

Оцените статью
Adblock
detector