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

Материал из ALT Linux Wiki
(Убрал старый неподдерживаемый способ настройки имени интерфейса)
(не показаны 42 промежуточные версии 16 участников)
Строка 1: Строка 1:
Краткое пособие для недавно «переехавших» на альт линукс, о том, как настроить вашу сетевую карту. Не рассматриваются графические конфигураторы, все изменения конфигурационных файлов производятся от имени пользователя '''root'''
Краткое пособие для недавно «переехавших» на альт линукс, о том, как настроить вашу сетевую карту. Не рассматриваются графические конфигураторы, все изменения конфигурационных файлов производятся от имени пользователя '''root'''


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


ВНИМАНИЕ, данный материал работает на alt desktop 4.1, вероятно работает на серверных версиях альт 4.х, на версиях 5.х некоторые настройки, в частности DNS, производятся несколько иначе
=== Узнаём имя компьютера ===
Для вывода имени комьютера введите команду <tt>hostname</tt>
<pre># hostname
alt777.altdomain.local</pre>
либо
cat /etc/HOSTNAME
Для изменения имени компьютера откройте файл <tt>/etc/sysconfig/network</tt> и найдите там директиву HOSTNAME:
<pre>HOSTNAME=alt777.altdomain.local</pre>
Вместо сгенерированного программой установки впишите нужное имя в формате FQDN.
После записи нового имени сохраните изменения в файле и перезагрузите компьютер.
''Примечания:''
# В процессе установки системы нужно было сразу назначить имя компьютера вида <tt>myhost.mydomain.tld</tt>, например, "lt777.altdomain.local" это поможет избежать возможных проблем, если в сети присутствует dns-сервер
# Если сетевые демоны ещё не сконфигурированы, вместо перезагрузки можно просто изменить значение hostname в ядре:
hostname myhost.mydomain.tld
Команду нужно выполнить с правами суперпользователя (с помощью su или sudo, либо из сеанса root).
=== Какие сетевые карты есть в системе ===
Теперь выясним, есть ли вообще у нас сетевые карты в компьютере, введем команду <tt>lspci -v</tt>, в ответ вы должны получить список многих ваших устройств, сетевой карте соответствуют примерно такой раздел
<pre>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</pre>
Обратите внимание, последняя строка это ''модуль'', который использует ваша сетевая карта, иногда эта информация бывает нужна.
Если вы хотите увидеть только сетевую карту, примените фильтр <tt>grep</tt>
<pre># lspci | grep Eth
02:00.0 Ethernet controller: Attansic Technology Corp. L1 Gigabit Ethernet Adapter (rev b0)</pre>
=== Получение информации о настройках сети ===
Узнаем сетевой адрес компьютера, воспользуемся командой <tt>ip addr show</tt> либо кратким вариантом этой же команды <tt>ip a</tt>, в ответ вы должны получить примерно следующее
<pre>ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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</pre>
'''eth0''' это имя вашего реального сетевого интерфейса, '''link/ether 00:1e:8c:da:6a:1e''' mac-адрес, обратите внимание, если сетевой кабель не будет физически подключен к разъему сетевой карты, в выводе команды появится слово '''NO-CARRIER'''
<pre>2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> 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</pre>
Команда <tt>ip route show</tt> (или ее краткий вариант <tt>ip r</tt>) покажет шлюз
<pre># 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</pre>
Команда <tt>ethtool имя_интерфейса</tt> покажет вам некоторые характеристики, с которыми работает ваша сетевая карта
<pre># 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</pre>
Посредством команды <tt>ethtool</tt> вы также можете изменять эти характеристики.


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


 
=== Конфигурирование сетевой карты на получение статического адреса ===
Сеть в ALT Linux настраивается с помощью [[Etcnet]], более подробно про это можно [[Etcnet|почитать тут]]. Будем исходить из того, что при инсталляции системы был установлен режим конфигурирования сети «Получение адреса автоматически», если в вашей сети настроен и правильно функционирует dhcp-сервер, ваш компьютер имеет динамически выделенный адрес, и в большинстве случаев на обычной рабочей станции никакое дополнительное конфигурирование не нужно.
ВНИМАНИЕ, если у вас есть '''ADSL-модем''', в нем может быть настроен '''внутренний dhcp-сервер''', и ваш компьютер по всей вероятности получит настройки сети от него. В этом случае не стоит конфигурировать вашу сетевую карту вручную. Но допустим, вам все-таки потребовался статический адрес, для этого отключим сетевой интерфейс eth0
<pre>#ip link set eth0 down</pre>
Файлы настройки сети в альт линукс находятся в папке <tt>/etc/net/ifaces</tt>, там, если у вас одна сетевая карта, должно быть четыре папки <tt>/default</tt>, <tt>/eth0</tt>, <tt>/local</tt>, <tt>/unknown</tt>. Непосредственное отношение к нашей сетевой карте имеет папка <tt>eth0</tt> (eth0 по умолчанию присваивоемое имя сетевого интерфейса вашей реальной сетевой карты), в ней будет лежать файл <tt>/etc/net/ifaces/eth0/options</tt>, в общем случае его содержимое будет примерно таким:
<pre>TYPE=eth
DISABLED=no
NM_CONTROLLED=no
BOOTPROTO=dhcp</pre>
Последняя строка отвечает за способ получения сетевой картой сетевого адреса.
Какие значения может принимать параметр <tt>BOOTPROTO</tt>:
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. ВНИМАНИЕ, известна проблема, что в последних трех случаях запись через тире ('''-''') не работает, работает запятая (''',''') , т.е. например запись <tt>dhcp-static</tt> нужно записать как <tt>dhcp,static</tt>
Теперь изменим запись <tt>BOOTPROTO=dhcp</tt> на <tt>BOOTPROTO=static</tt>.


=== Настройка статического ip-адреса ===
=== Настройка статического ip-адреса ===
Теперь нужно задать ip-адрес и маску сети, например 192.168.0.48/255.255.255.0, для этого создадим файл <tt>/etc/net/ifaces/eth0/ipv4address</tt> и запишем в него параметры соединения (файл именно с таким названием отвечает за настройку ip-адреса)
Теперь нужно задать ip-адрес и маску сети, например 192.168.0.48/255.255.255.0 ([[Etcnet#cite_note-0|таблица для преобразования маски в CIDR]]), для этого создадим файл <tt>/etc/net/ifaces/eth0/ipv4address</tt> и запишем в него параметры соединения (файл именно с таким названием отвечает за настройку ip-адреса)
<pre>#echo -n>/etc/net/ifaces/eth0/ipv4address
<pre>
#echo 192.168.0.48/24>/etc/net/ifaces/eth0/ipv4address</pre>
# echo 192.168.0.48/24 > /etc/net/ifaces/eth0/ipv4address
</pre>
Если ваша сетевая карта предполагает наличие двух ip-адресов, то в файл ipv4address следует добавить ещё один адрес (обратите внимание на то, что используется ">>" вместо ">"; с ">" файл перезапишется, с ">>" вывод предыдущей команды будет дописан в конец файла):
<pre>
# echo 10.0.2.148/24 >> /etc/net/ifaces/eth0/ipv4address
</pre>
Теперь зададим шлюз соединения, например 192.168.0.10, для этого создадим файл <tt>/etc/net/ifaces/eth0/ipv4route</tt> и запишем в него имя шлюза по умолчанию (файл именно с таким названием отвечает за настройку шлюза)
Теперь зададим шлюз соединения, например 192.168.0.10, для этого создадим файл <tt>/etc/net/ifaces/eth0/ipv4route</tt> и запишем в него имя шлюза по умолчанию (файл именно с таким названием отвечает за настройку шлюза)
<pre>#echo -n>/etc/net/ifaces/eth0/ipv4route
<pre>
#echo default via 192.168.0.10>/etc/net/ifaces/eth0/ipv4route</pre>
# echo default via 192.168.0.10 > /etc/net/ifaces/eth0/ipv4route
Файл с описанием dns-сервера <tt>/etc/resolv.conf</tt> у вас по идее должен быть, но если его нет, то создадим его и поместим туда адрес вашего dns-сервера, например 192.168.0.9
</pre>
<pre>#echo -n>/etc/resolv.conf
#echo nameserver 192.168.0.9>/etc/resolv.conf</pre>
Включаем интерфейс
Включаем интерфейс
<pre>#ip link set eth0 up</pre>
<pre>
# ip link set eth0 up
</pre>
Перезапускаем сеть (после рестарта сети сетевая карта включится сама, так что вышеприведенную команду можно не выполнять, просто показано как это делать)
Перезапускаем сеть (после рестарта сети сетевая карта включится сама, так что вышеприведенную команду можно не выполнять, просто показано как это делать)
<pre>#service network restart</pre>
<pre>
# service network restart
</pre>
Также сеть можно перезапустить командой
Также сеть можно перезапустить командой
<pre>#/etc/init.d/network restart</pre>
<pre>
У двух последних команд есть флаги <tt>stop</tt> и <tt>start</tt>, которые соответственно гасят всю сеть и включают ее.
# /etc/init.d/network restart
Ваш IP, маску и шлюз вы можете изменить командами
</pre>
<pre>#ip addr add 192.168.0.XX/24 dev eth0
У двух последних команд есть флаги <tt>stop</tt> и <tt>start</tt>, которые соответственно гасят всю сеть и включают ее (на самом деле это касается только команды-сервиса "network", команда "service" только запускает скрипты из /etc/init.d/). Ваш IP, маску и шлюз Вы можете изменить командами <tt> ip addr {add|change|replace} ... </tt> и <tt> ip route { add | del | change } ... </tt>. Например
#ip route add dev eth0 XX.XX.XX.XX</pre>
<pre>
Однако эти команды изменяют ip и шлюз до ближайшей перезагрузки компьютера, для постоянного изменения вам нужно отредактировать файлы, о которых говорилось выше
# ip addr add 192.168.0.XX/24 dev eth0
# ip route add dev eth0 XX.XX.XX.XX
</pre>
добавят (но не удалят) IP адрес и маршрут. Синтаксис команды <tt>ip</tt> обширен и выходит за рамки этой статьи.
Однако эти команды изменяют конфигурацию сети до ближайшей перезагрузки компьютера. Для постоянного изменения Вам нужно отредактировать файлы, о которых говорилось выше.
Файл с описанием dns-сервера <tt>/etc/resolv.conf</tt> у Вас, по идее, должен быть, но если его нет, то создадим его и поместим туда адрес Вашего dns-сервера, например 192.168.0.9
<pre>
# echo nameserver 192.168.0.9 > /etc/resolv.conf
</pre>
Если у вас два dns (второй например 192.168.1.9), создать этот файл и внести туда адреса dns-серверов вы также можете следующим образом:
<pre>
# cat >>/etc/resolv.conf
nameserver 192.168.0.9
nameserver 192.168.1.9
</pre>
Для прекращения ввода и сохранения файла следует нажать <tt>Сtrl+D</tt>. Так же можно добавить в resolv.conf список доменов по-умолчанию:
<pre>
# echo search mydom1.local domain2.ru >> /etc/resolv.conf
</pre>
Домены перечисляются в порядке предпочтения поиска в одну строку. В версиях 5.х настройки dns настоятельно рекомендуется делать в файле /etc/net/ifaces/имя_интерфейса/resolv.conf
Отличия <tt>echo</tt> и <tt>cat</tt> читайте '''man echo''' и '''man cat'''.
Запускаем скрипт <tt>resolv.all</tt> (чтобы система увидела новые настройки dns)
<pre>
/etc/chroot.d/resolv.all
</pre>


== Дополнения ==
== Дополнения ==


=== Переименование имени сетевого интерфейса ===
=== Переименование имени сетевого интерфейса ===
Если вы хотите дать имени вашего сетевого интерфейса какое-либо информативное имя, вам нужно выполнить следующий ряд действий.
Если вы хотите дать имени вашего сетевого интерфейса какое-либо информативное имя (вообще является хорошей практикой переименовать ваш интерфейс из eth0 хотя бы в eth00), вам нужно выполнить следующий ряд действий.
Выполните команду ip a и запишите, какому сетевому интерфейсу какой mac-адрес соответствует.
Отключите интерфейс (где eth1 имя интерфейса)
Отключите интерфейс (где eth1 имя интерфейса)
<pre>#ip link set eth1 down</pre>
<pre>#ip link set eth1 down</pre>
Переименуйте его (где eth1 старое имя, vykl новое имя)
Переименуйте его (где eth1 старое имя, local новое имя)
<pre>#ip link set eth1 name vykl</pre>
<pre>#ip link set eth1 name local</pre>
Смените название папки с настройками eth1 на новое название
Смените название папки с настройками eth1 на новое название
<pre>#mv /etc/net/ifaces/eth1 /etc/net/ifaces/vykl</pre>
<pre>#mv /etc/net/ifaces/eth1 /etc/net/ifaces/local</pre>
Помня об [https://bugzilla.altlinux.org/show_bug.cgi?id=11786 ошибке 11786] делаем
<pre>#echo "MODULE=модуль_сетевушки" >> /etc/net/ifaces/local/options</pre>
В файле /etc/net/iftab сделайте запись
<pre>local mac 11:22:33:aa:bb:cc</pre>
где 11:22:33:aa:bb:cc мак-адрес карты, полученный ранее по команде ip a.
Перезапустите сеть.
Перезапустите сеть.
==== Переименование при использовании systemd ====
Если Вы используете systemd, то рекомендуется переименовывать сетевые интерфейсы следующим способом:<br>
В файле {{path|/etc/udev/rules.d/79-net-name.rules}} (если его нет, то необходимо создать его) добавьте для каждого интерфейса следующую строчку:
<pre>SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:14:17:84:47:60", KERNEL=="eth*", NAME="pve01"</pre>
Указав нужный mac-адрес и новое имя.


=== Закрепеление порядка загрузки сетевых карт ===
=== Закрепление порядка загрузки сетевых карт ===
Данный материал может быть не актуален, если у вас дистрибутив 5-й версии, однако на дистрибутиве 4,1 была замечена следующая проблема. При наличии в компьютере двух сетевых карт (одна из которых включена, но не используется) периодически менялись местами имена сетевых интерфейсов, соответственно изменялись параметры сетевой карты и как следствие сетевая карта оказывалась подключена не к той сети (грубое решение — вытащить сетевой кабель и подключить к другой карте)
Данный материал может быть актуален дистрибутиве 4.1. Была замечена следующая проблема. При наличии в компьютере двух сетевых карт (одна из которых включена, но не используется) периодически менялись местами имена сетевых интерфейсов, соответственно изменялись параметры сетевой карты и как следствие сетевая карта оказывалась подключена не к той сети (грубое решение — вытащить сетевой кабель и подключить к другой карте)
Для жесткого закрепления порядка загрузки сетевых карт используем [b]udev[/b], эта программа имеет ряд правил для загрузки модулей вашей системы. Зададим правила для загрузки сетевых карт. Создайте пустой файл
Для жесткого закрепления порядка загрузки сетевых карт используем <tt>udev</tt>, который загружает все модули одновременно, поэтому устройства иногда инициализируются в различном порядке. Однако мы можем управлять правилами загрузки модулей.
Вариант 1. Самостоятельное указание порядка загрузки модулей сетевых карты с помощью параметра MODULES в файле <tt>/etc/rc.conf</tt>. Модули, добавленные в этот список, будут загружены перед стартом udev, так что вы имеете полный контроль над порядком их загрузки (откуда взять имя модуля, было сказано ранее в этой статье).
<pre># Модуль 8139too всегда будет загружаться перед e100
MODULES=(8139too e100)</pre>
Вариант 2. Создадим правило для управления порядком инициализации сетевых карт
<pre>#echo -n>/etc/udev/rules.d/10-network.rules</pre>
<pre>#echo -n>/etc/udev/rules.d/10-network.rules</pre>
Впишите в него следующие строки (где eth0 имя первого сетевого интерфейса, vykl имя второго интерфейса)
Впишите в него следующие строки (где eth0 имя первого сетевого интерфейса, vykl имя второго интерфейса)
<pre>SUBSYSTEM=="net", ATTRS{address}=="00:1e:8c:da:6a:1e", NAME="eth0"
<pre>SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTRS{address}=="00:1e:8c:da:6a:1e", KERNEL=="eth*", NAME="eth0"
SUBSYSTEM=="net", ATTRS{address}=="00:14:d1:13:8b:96", NAME="vykl"</pre>
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTRS{address}=="00:14:d1:13:8b:96", KERNEL=="eth*", NAME="eth1"</pre>
'''ATTRS{address}''' это mac-адрес сетевой карты, для его получения введите команду
'''ATTRS{address}''' это mac-адрес сетевой карты, для его получения введите команду
<pre>#udevadm info -a -p /sys/class/net/<имя_интерфейса> | grep address</pre>
<pre>#udevadm info -a -p /sys/class/net/<имя_интерфейса> | grep address</pre>
Обратите внимание, mac-адрес записывается прописными буквами (маленькими)
Сохраняем изменения, таким образом первым всегда будет грузиться первая карта в списке и получать нужное имя, в данном случае eth0.
Если названия ваших двух карт выглядят как eth0 и eth1, определиться какое имя принадлежит какому физическому устройству вам может помочь команда
<pre>#dmesg | grep -i eth</pre>
== Что еще почитать? ==
== Что еще почитать? ==
Более подробная информация о настройке сети в альт линукс находится в разделе [http://www.altlinux.org/Etcnet etcnet], а также '''man ip'''.
Более подробная информация о настройке сети в альт линукс находится в разделе [http://www.altlinux.org/Etcnet etcnet], а также '''man ip'''. О работе[http://wiki.archlinux.org/index.php/Udev_(Русский) udev].
[[Категория:HOWTO]]
{{Category navigation|title=Использование оборудования|category=использование оборудования|sortkey={{SUBPAGENAME}}}}

Версия от 14:31, 18 июля 2017

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

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

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

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

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

# hostname
alt777.altdomain.local

либо

cat /etc/HOSTNAME

Для изменения имени компьютера откройте файл /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: <LOOPBACK,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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: <NO-CARRIER,BROADCAST,MULTICAST,UP> 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 вы также можете изменять эти характеристики.

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

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

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

#ip link set eth0 down

Файлы настройки сети в альт линукс находятся в папке /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.

Настройка статического 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

Включаем интерфейс

# ip link set eth0 up

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

# service network restart

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

# /etc/init.d/network restart

У двух последних команд есть флаги stop и start, которые соответственно гасят всю сеть и включают ее (на самом деле это касается только команды-сервиса "network", команда "service" только запускает скрипты из /etc/init.d/). Ваш IP, маску и шлюз Вы можете изменить командами ip addr {add|change|replace} ... и 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)

/etc/chroot.d/resolv.all

Дополнения

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

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

#ip link set eth1 down

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

#ip link set eth1 name local

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

#mv /etc/net/ifaces/eth1 /etc/net/ifaces/local

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

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

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

local mac 11:22:33:aa:bb:cc

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

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

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

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="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{address}=="00:1e:8c:da:6a:1e", KERNEL=="eth*", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTRS{address}=="00:14:d1:13:8b:96", KERNEL=="eth*", NAME="eth1"

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

#udevadm info -a -p /sys/class/net/<имя_интерфейса> | grep address

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

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