Я совсем недавно в линукс, натолкнулся на проблему конфигурирования сетевой карты, читал наш форум, другие источники, все проблемы были устранены, но заметил, что вся информация разрознена по разным местам, там немного, там чуть-чуть, и вот предлагаю, скомпилированную, адаптированную статью по настройке сетевой карты в альтлинукс для новичков, ну и сам чтобы не забыл :)
Трениновки проводились на alt linux 4.1.1 Desktop.
СТАТЬЯ ВЫЛОЖЕНА НА ВИКИ
http://www.altlinux.org/Настройка_сетевой_карты,_краткое_пособие_для_начинающих, с учетом дополнений, осуждение ведется в этой ветке
http://forum.altlinux.org/index.php/topic,4563.0.htmlВ статье не рассматривается графическое конфигурирование, это я пока не освоил ;) Также предполагается, что новички умеют "добывать" консоль суперпользователя root (кликаем правой клавишей по рабочему столу, выбираем Запустить Терминал (либо и быстрее Ctrl+T), потом идем Сеанс-Новая консоль с правами root, вводим пароль root'а), а также знают, что в ней команда
mc вызывает менеджер файлов Midnight Commander, в котором нажатие на текстовом файле клавиши
F4 позволяет этот файл редактировать. Вообще все изменения конфигурационных файлов производятся от пользователя
root04.11.2009 Статья обновлена с учетом замечаний
Const,
МнюДля начала выясним имя компьютера# hostname
alt777.altdomain.local
Изменение имени компьютера (если есть такая потребность разумеется)
hostname новое_имя
reboot
Примечание1: Эта команда изменит имя компьютера до первой перезагрузки.Поэтому, чтобы надежно, откроем файл по адресу
/etc/sysconfig/network для редактирования и найдем там строку
mcedit /etc/sysconfig/network
HOSTNAME=alt777.altdomain.local
Меняем на новое имя, жмем
F2 (сохранить? yes), перезагружаемся
Примечание 2: Если ваш компьютер будет участником сети, и возможно будет введен в домен, стоит еще на этапе инсталляции задать имя в виде
хост.домен.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
lo внутренний адрес и есть всегда,
eth0 это имя нашего интерфейса,
link/ether 00:1e:8c:da:6a:1e мас-адрес, ну дальше думаю понятно интуитивно, обратите внимание, если из вашей сетевой карты выдернут шнур, но появится слово
NO-CARRIER # 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: <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
А если введете
man ethtool, и изучите, то даже сможете кое-что в этих характеристиках изменить.
Это то, с чем мы будем работать.
Собственно конфигурирование. Будем исходить из того, что при установке системы вы выбрали получать адрес автоматически, т.е. по dhcp, в этом случае, если dhcp-сервер нормально функционирует, то вся ваша сетевая сконфигурирована. Представим, что вы теперь хотите настроить вашу сетевую карту на статический адрес.
Отключим пока нашу сетевую карту
ip link set eth0 down
Настройки сети в альт линукс десктоп находятся в папке
/etc/net/ifaces, там, если у вас одна сетевая карта, должно быть четыре папки
/default
/eth0
/local
/unknownНас интересует папка
eth0, в которой будет лежать один файл
options, откроем его для редактирования
mcedit /etc/net/ifaces/eth0/options
Откроется файл и мы увидим строки
TYPE=eth
DISABLED=no
NM_CONTROLLED=no
BOOTPROTO=dhcp
Меняем в последней строке на BOOTPROTO=
static, сохраняем
F2, выходим
F10Теперь нам нужно создать файл, в котором мы запишем наш адрес и маску сети, пусть это будет 192.168.0.48/255.255.255.0
#создаем пустой файл ipv4address в каталоге /etc/net/ifaces/eth0/
echo -n>/etc/net/ifaces/eth0/ipv4address
#вписываем ip/маску
echo 192.168.0.48/24>/etc/net/ifaces/eth0/ipv4address
Создадим файл, в который поместим адрес нашего шлюза
echo -n>/etc/net/ifaces/eth0/ipv4route
echo default via 192.168.0.10>/etc/net/ifaces/eth0/ipv4route
Файл с описанием dns-сервера
/etc/resolv.conf у вас по идее должен быть, но если нет, то создадим его и запишем наш, а точнее ваш, dns-сервер
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
Плюс к
restart есть команды
stop и
start, которые соответственно гасят всю сеть и включают ее.
Есть команды для изменения IP, маски и шлюза
ip addr add 192.168.0.XX/24 dev eth0
и
ip route add dev eth0 XX.XX.XX.XX
Однако эти команды меняют ip и шлюз до перезагрузки, для настоящего изменения нужно править файлы (
именно эти файлы и отвечают за настройки вашей сетевой карты):
/etc/net/ifaces/eth0/ipv4address/etc/net/ifaces/eth0/ipv4route/etc/net/ifaces/eth0/options/etc/resolv.confвнося новые значения и делая затем
service network restartСобственно после этого все должно работать :) ... если у вас одна карта, а вот у меня их две. И все бы ничего, но есть такая проблема, имя второй карты eth1 и вот после включения компьютера могут менятся соответствия имен интерфейсов eth0 и eth1относительно сетевых - седня карта1 это eth0, завтра утром это eth1, т.е. "кто первый встал, того и тапки", грубое решение проблемы - встаешь и перетыкаешь кабель :) , но мне так не понравилось, и вот как удалось решить эту незадачу
Переименование имени сетевого интерфейсаДля начала я сменил имя у ненужной карты (это действо необязательно, но вдруг решите дать более информативное название, чем eth0 вашей сетевой, тут показано как это сделать на примере), отключаем ненужную сетевую:
ip link set eth1 down
Меняем имя
ip link set eth1 name vykl
Теперь нам нужно сменить название папки с настройками бывшей eth1 на новое название
mv /etc/net/ifaces/eth1 /etc/net/ifaces/vykl
Все, перезапускаем сеть
Закрепеление порядка загрузки сетевых картДля жесткого закрепления порядка загрузки наших сетевых используем
udev, как я понял это "модуль управления модулями", у него существует ряд правил, по которым загружается система, и вот мы создадим правило для наших двух сетевых карт
echo -n>/etc/udev/rules.d/10-network.rules
Проверьте, может у вас уже есть такой файл, у меня не было
Открываем его для редактирования и вносим строки
mcedit /etc/udev/rules.d/10-network.rules
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# udevadm info -a -p /sys/class/net/eth0 | grep address
ATTR{address}=="00:1e:8c:da:6a:1e"
Обратите внимание, мак-адрес пишем маленькими буквами
Сохраняемся, таким образом первым всегда будет грузиться первая карта в списке и получать нужное имя, в данном случае eth0.
Полезные ссылки, написанные гораздо более грамотными людьмиman ipпро
etcnet, то, на чем зиждется вся сеть в альте
http://www.altlinux.org/Etcnetпро
udev, к сожалению на нашем вики не нашел статьи, поэтому вики коллег
http://wiki.archlinux.org/index.php/Udev_(Русский)Повторюсь, я сам ламо коматозное в линукс, так что думаю и надеюсь, что уважаемые гуру и просто те, кто лучше знает поправят, если что-то здесь не так или совсем все не так. Ну и если где-то на форуме это есть, то и убрать материал ессно не долго, я просто не нашел чтобы все в одном месте :)