Счетчик

Поисковый анализ сайта
яндекс.ћетрика
Cервер и сайт запущен 2011.02.01 на Debian

Все добрый день! 
Сегодня мы поговорим о том как настроить наши сетевые карты, допустим мы пропустили в момент установки настройку сетевых интерфейсов, а нам надо быстро их поднять.
И так начнем же!

Установка сетевой карты

В первую очередь нужно убедиться, что сетевые карты установлены, а если они интегрированы в материнскую плату, то включены в BIOSе, а так же подключены сетевые кабели. Проверим видит ли система наши сетевые карты (интерфейсы). Для этого смотрим сообщения ядра, которые выдавались при загрузке:

# dmesg | grep eth

В параметре команды grep мы написали eth. В Linux ядро определяет сетевые интерфейсы как eth0, eth1 и так далее. Так же можно вывести список устройств с помощью следующей команды:

# lspci | grep Ether

Убеждаемся что, система видит сетевые интерфейсы. Если на этом этапе вы получаете пустые строки или сообщения об ошибках, значит оборудование: либо не подключено, либо не исправно, либо не совместимо. В первом случае ещё раз проверяем правильность включения сетевой карты, поддержку BIOS и т. д. Во втором и третьем случае производим замену оборудования. Если проблема возникла после сборки своего ядра — проверяем ядро. Данная информация выходит за рамки этой статьи, но в последующих статьях мы с вами рассмотрим сборку, проверку и настройку ядра.

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

И так, наше оборудование функционирует нормально. Нам нужно настроить статический IP-адрес со следующими параметрами: IP-адрес 192.168.1.11, маска подсети 255.255.255.0, основной шлюз 192.168.1.1.
Сначала посмотрим вывод команды ifconfig:

# ifconfig

или

$ sudo ifconfig

Второй вариант команды я написал для тех, кто при установке запретил вход суперпользователя. Далее в статье я не буду дублировать команды, просто запомните: если в начале кода есть значок #, значит команда выполняется от имени суперпользователя. Те, кто запретил вход суперпользователя в систему выполняют её с помощью sudo.
Если всё было настроено правильно ещё при установке системы, мы увидим следующее:
eth0
Link encap:Ethernet HWaddr 08:00:27:f1:d9:29

inet addr:192.168.1.11 Bcast:192.168.1.255 Mask:255.255.255.0

inet6 addr: fe80::a00:27ff:fef1:d929/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:6 errors:0 dropped:0 overruns:0 frame:0

TX packets:12 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:720 (720.0 B) TX bytes:852 (852.0 B)

Interrupt:10 Base address:0xd020

lo
Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:8 errors:0 dropped:0 overruns:0 frame:0

TX packets:8 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:560 (560.0 B) TX bytes:560 (560.0 B)


В первой строке мы видим тип подключения и mac-адрес (по другому — физический адрес). Во второй строке ip-адрес, широковещательный адрес и маску подсети. Третья строка относится к шестой версии стека протоколов TCP/IP, но об этом разговор пойдёт в одной из следующих статей. Когда мы видим RUNNING в четвертой строке это означает, что сетевой кабель подключен. Далее следует статистическая информация. Если настройка сети не удалась при установке, то в лучшем случае мы увидим настроенным только локальный интерфейс:

lo
Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:8 errors:0 dropped:0 overruns:0 frame:0

TX packets:8 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:560 (560.0 B) TX bytes:560 (560.0 B)


А то и не увидим никакой информации. В общих случаях, для проверки или устранения неисправностей можно настроить сетевые интерфейсы с помощью команд ifconfig и route. Об этом будет написано ниже в этой же статье. А пока приступим редактированию файлов конфигураций. Вообще, перед редактированием конфигурационных файлов для сети следует остановить сетевой интерфейс. Делается это следующим образом:

# ifdown eth0

Но в нашем случае интерфейс eth0 ещё не сконфигурирован и мы получим сообщение об ошибке:

interface eth0 not configured

Тогда, для начала, проверяем существование файла /etc/network/interfaces. Если он не существует, то создаём его, если существует, то редактируем текстовым редактором:

# nano /etc/network/interfaces

Для сервера с одним сетевым интерфейсом у нас должно получиться следующее:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface 
auto lo
iface lo inet loopback

# The primary network interface 
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.11
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.123.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 192.168.1.11

Теперь нужно активировать сетевой интерфейс:

# ifup eth0

И перезапустить сетевые службы:

# /etc/init.d/networking restart

Проверяем что у нас получилось:

# ifconfig
eth0
Link encap:Ethernet HWaddr 08:00:27:f1:d9:29

inet addr:192.168.1.11 Bcast:192.168.1.255 Mask:255.255.255.0

inet6 addr: fe80::a00:27ff:fef1:d929/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:6 errors:0 dropped:0 overruns:0 frame:0

TX packets:12 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:720 (720.0 B) TX bytes:852 (852.0 B)

Interrupt:10 Base address:0xd020

lo
Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:8 errors:0 dropped:0 overruns:0 frame:0

TX packets:8 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:560 (560.0 B) TX bytes:560 (560.0 B)


Проверяем работу сети. Сначала проверяем локальный интерфейс (параметр -с 4 подразумевает отправку четырех пакетов):

$ ping 127.0.0.1 -с 4

PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. 
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.245 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.501 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.140 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.041 ms

--- 127.0.0.1 ping statistics --- 
4 packets transmitted, 4 received, 0% packet loss, time 3007ms
rtt min/avg/max/mdev = 0.041/0.231/0.501/0.172 ms

Затем проверяем сетевой интерфейс («пингуем» сами себя):

$ ping 192.168.1.11 -с 4

PING 192.168.1.11 (192.168.123.254) 56(84) bytes of data 
64 bytes from 192.168.1.11: icmp_seq=1 ttl=64 time=0.135 ms
64 bytes from 192.168.1.11: icmp_seq=2 ttl=64 time=0.319 ms
64 bytes from 192.168.1.11: icmp_seq=3 ttl=64 time=0.170 ms
64 bytes from 192.168.1.11: icmp_seq=4 ttl=64 time=0.323 ms

--- 192.168.1.11 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.135/0.236/0.323/0.087 ms

Теперь основной шлюз:

$ ping 192.168.1.1 -с 4

PING 192.168.123.1 (192.168.123.1) 56(84) bytes of data 
64 bytes from 192.168.1.1: icmp_seq=1 ttl=255 time=1.85 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=255 time=2.02 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=255 time=1.51 ms
64 bytes from 192.168.1.1: icmp_seq=4 ttl=255 time=3.12 ms

--- 192.168.1.1 ping statistics --- 
4 packets transmitted, 4 received, 0% packet loss, time 3016ms
rtt min/avg/max/mdev = 1.514/2.128/3.123/0.605 ms

И какой-нибудь удалённый хост по имени:

$ ping http://www.yandex.ru -с 4

PING http://www.yandex.ru (93.158.134.203) 56(84) bytes of data 
64 bytes from 93.158.134.203: icmp_seq=1 ttl=255 time=1.85 ms
64 bytes from 93.158.134.203: icmp_seq=2 ttl=255 time=2.02 ms
64 bytes from 93.158.134.203: icmp_seq=3 ttl=255 time=1.51 ms
64 bytes from 93.158.134.203: icmp_seq=4 ttl=255 time=3.12 ms

--- http://www.yandex.ru ping statistics --- 
4 packets transmitted, 4 received, 0% packet loss, time 3016ms
rtt min/avg/max/mdev = 1.514/2.128/3.123/0.605 ms


На этом настройка статического IP-адреса для сервера с одним сетевым интерфейсом закончена.

Настройка динамического IP-адреса

В некоторых случаях сервер может получать динамический IP-адрес. Чаще всего это зарезервированный адрес или псевдодинамический. Т. е. на DHCP-сервере производится привязка определённого mac-адреса к определённому ip-адресу. Такая ситуация может встретиться и в локальной сети, но чаще всего она встречается тогда, когда провайдер выдает ip-адреса динамически. В этом случае файл /etc/network/interfaces выглядит следующим образом:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5)

# The loopback network interface 
auto lo
iface lo inet loopback

# The primary network interface 
allow-hotplug eth0
iface eth0 inet dhcp

Вот и всё! Надеюсь моя статья по настройке сети в система Вам окажется полезной

Установка драйвера atheros 81xx debian & ubuntu
Перед всеми манипуляциями надо надо поставить доп пакеты apt-get install linux-headers`uname -r` apt-get install resolvconf make automake autoconf gcc gcc-4.4
- качаем драйвер AR81Family-linux-v1.0.1.14.tar.gz

- копируем в домашнюю директорию - открываем терминал и выполним парочку действий

mkdir AR81Family
mv AR81Family-Linux-v1.0.1.14.tar.gz AR81Family
cd AR81Family
tar zxvf AR81Family-Linux-v1.0.1.14.tar.gz
make
make install
modprobe
atl1e
exit

Вот и все.

Еще один вариант установки сетевой карты. RTL r8169Был плачевный опыть в неправильной установке драйвера, вернее не правильно определил ее. И пошли пробелмы с сетью. Падении ее малая скорость и так далее
Выгребаем сообщения из  dmesg dmesg | grep eth
2. Наиболее красивый способ lspci | grep Ethernet
Ну и привожу пример что бы было нагляднее

root@s ~ # lspci | grep Ethernet 06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI
Express Gigabit Ethernet controller (rev 02) root@s ~ #

Из вывода видно что сетевая карта у нас реализована на контролере RTL8111/8168B определить какой драйвер используется можно из листинга lsmod, драйвер реалезован в виде модуля ядра.
Хорошо, физически сетевая определилась, Debian называет сетевые карты по имени eth и номеру а что если у нас две сетевые карты?  называться они будут по умолчанию eth0 и eth1.
Следует учесть, что эта операционная система перманентно привязывает MAC адрес интерфейса к номеру eth. Если у вас была сетевая карта в компьютере с именем eth0 и вы ее поменяли, то загрузившись после замены вы не увидите ожидаемого eth0, а увидите уже eth1.  Поэтому предварительно можно и даже нужно заглянуть в файлик /etc/udev/rules.d/70-persistent-net.rules что бы посмотреть закрепленные карты, иначе можете попасть в ниприятную ситуацию, настроите 1 интерфейс а физически работать будете совсем с другим.

root@s ~ # cat /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules # program, run by the
persistent-net-generator.rules rules file. # # You can modify it, as long as you keep each rule on
a single # line, and change only the value of the NAME= key.
# PCI device 0x10ec:0x8168 (r8169) SUBSYSTEM=="net", ACTION=="add",
DRIVERS=="?*", ATTR{address}=="6c:62:6d:7a:e7:2c", ATTR{dev_id}=="0x0", ATTR{type}=="1",
KERNEL=="eth*", NAME="eth0" root@s ~ #
cd /usr/src rmmod r8169  # отключаем не нужное
wget r8168-8.032.00.tar.bz2
или wget ttp://www.sysadmin-komi.ru/download/drv/r8168-8.035.00.tar.bz2
tar jxvf r8168-8.032.00.tar.bz2
# уже то что скачали!!!! всмотрите внимательно!
cd r8168-8.032.00
make
clean modules
make install depmod -a echo "blacklist r8169" >> /etc/modprobe.d/blacklist-network.conf
update-initramfs -u modprobe r8168 №проверяем

Рестартуем сервер
Далее проверяем командой

ethtool -i eth0

И видим

driver: r8168 version: 8.032.00-NAPI firmware-version: bus-info: 0000:01:00.0

Все пользуемся! Работает норм без падений и нареканий

Добавить комментарий


Защитный код
Обновить