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