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

Материал из ALT Linux Wiki
(Перенаправление на Настройка сети)
Метка: новое перенаправление
 
(не показано 47 промежуточных версий 18 участников)
Строка 1: Строка 1:
Краткое пособие для недавно «переехавших» на альт линукс, о том, как настроить вашу сетевую карту. Не рассматриваются графические конфигураторы, все изменения конфигурационных файлов производятся от имени пользователя '''root'''
#REDIRECT[[Настройка сети]]
 
== 1. Общая информация о сетевых настройках вашей системы ==
 
=== Узнаем имя компьютера ===
Для вывода имени комьютера введите команду <tt>hostname</tt>
<pre># hostname
alt777.altdomain.local</pre>
Для изменения имени компьютера откройте файл <tt>/etc/sysconfig/network</tt> и найдите там строку
<pre>HOSTNAME=alt777.altdomain.local</pre>
и измените её, или просто дайте команду
<pre># hostname New_name.altdomain.local
</pre>
 
После записи нового имени сохраните изменения в файле и перезагрузите компьютер.
''Примечание:'' если вы планируете ввести ваш компьютер в домен, лучше еще при инсталляции системы назначить имя компьютера вида <tt>myhost.mydomain.local</tt>
 
=== Какие сетевые карты есть в системе ===
Теперь выясним, есть ли вообще у нас сетевые карты в компьютере, введем команду <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 -v | 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> вы также можете изменять эти характеристики.
 
== Конфигурирование интерфейса ==
 
=== Конфигурирование сетевой карты на получение статического адреса ===
Будем исходить из того, что при инсталляции системы был установлен режим конфигурирования сети «Получение адреса автоматически», если в вашей сети настроен и правильно функционирует 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>, в ней будет лежать файл <tt>/etc/net/ifaces/eth0/options</tt>, откроем его
<pre>TYPE=eth
DISABLED=no
NM_CONTROLLED=no
BOOTPROTO=dhcp</pre>
Последняя строка отвечает за способ получения сетевой картой сетевого адреса, изменим ее с <tt>BOOTPROTO=dhcp</tt> на <tt>BOOTPROTO=static</tt>.
 
=== Настройка статического ip-адреса ===
Теперь нужно задать ip-адрес и маску сети, например 192.168.0.48/255.255.255.0, для этого создадим файл <tt>/etc/net/ifaces/eth0/ipv4address</tt> и запишем в него параметры соединения (файл именно с таким названием отвечает за настройку ip-адреса)
<pre>#echo -n>/etc/net/ifaces/eth0/ipv4address
#echo 192.168.0.48/24>/etc/net/ifaces/eth0/ipv4address</pre>
Теперь зададим шлюз соединения, например 192.168.0.10, для этого создадим файл <tt>/etc/net/ifaces/eth0/ipv4route</tt> и запишем в него имя шлюза по умолчанию (файл именно с таким названием отвечает за настройку шлюза)
<pre>#echo -n>/etc/net/ifaces/eth0/ipv4route
#echo default via 192.168.0.10>/etc/net/ifaces/eth0/ipv4route</pre>
Файл с описанием dns-сервера <tt>/etc/resolv.conf</tt> у вас по идее должен быть, но если его нет, то создадим его и поместим туда адрес вашего dns-сервера, например 192.168.0.9
<pre>#echo -n>/etc/resolv.conf
#echo nameserver 192.168.0.9>/etc/resolv.conf</pre>
Включаем интерфейс
<pre>#ip link set eth0 up</pre>
Перезапускаем сеть (после рестарта сети сетевая карта включится сама, так что вышеприведенную команду можно не выполнять, просто показано как это делать)
<pre>#service network restart</pre>
Также сеть можно перезапустить командой
<pre>#/etc/init.d/network restart</pre>
У двух последних команд есть флаги <tt>stop</tt> и <tt>start</tt>, которые соответственно гасят всю сеть и включают ее.
Ваш IP, маску и шлюз вы можете изменить командами
<pre>#ip addr add 192.168.0.XX/24 dev eth0
#ip route add dev eth0 XX.XX.XX.XX</pre>
Однако эти команды изменяют ip и шлюз до ближайшей перезагрузки компьютера, для постоянного изменения вам нужно отредактировать файлы, о которых говорилось выше
 
== Дополнения ==
 
=== Переименование имени сетевого интерфейса ===
Если вы хотите дать имени вашего сетевого интерфейса какое-либо информативное имя, вам нужно выполнить следующий ряд действий.
Отключите интерфейс (где eth1 имя интерфейса)
<pre>#ip link set eth1 down</pre>
Переименуйте его (где eth1 старое имя, vykl новое имя)
<pre>#ip link set eth1 name vykl</pre>
Смените название папки с настройками eth1 на новое название
<pre>#mv /etc/net/ifaces/eth1 /etc/net/ifaces/vykl</pre>
Перезапустите сеть.
 
=== Закрепеление порядка загрузки сетевых карт ===
Данный материал может быть не актуален, если у вас дистрибутив 5-й версии, однако на дистрибутиве 4,1 была замечена следующая проблема. При наличии в компьютере двух сетевых карт (одна из которых включена, но не используется) периодически менялись местами имена сетевых интерфейсов, соответственно изменялись параметры сетевой карты и как следствие сетевая карта оказывалась подключена не к той сети (грубое решение — вытащить сетевой кабель и подключить к другой карте)
Для жесткого закрепления порядка загрузки сетевых карт используем [b]udev[/b], эта программа имеет ряд правил для загрузки модулей вашей системы. Зададим правила для загрузки сетевых карт. Создайте пустой файл
<pre>#echo -n>/etc/udev/rules.d/10-network.rules</pre>
Впишите в него следующие строки (где eth0 имя первого сетевого интерфейса, vykl имя второго интерфейса)
<pre>SUBSYSTEM=="net", ATTRS{address}=="00:1e:8c:da:6a:1e", NAME="eth0"
SUBSYSTEM=="net", ATTRS{address}=="00:14:d1:13:8b:96", NAME="vykl"</pre>
'''ATTRS{address}''' это mac-адрес сетевой карты, для его получения введите команду
<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'''.
[[Категория:HOWTO]]

Текущая версия от 15:02, 13 октября 2023

Перенаправление на: