Logo

Настройка сети в Debian/Ubuntu

В этой статье рассмотрим основные этапы настройки сети в Debian и дистрибутивах основанных на нем такие как Ubuntu. Здесь рассмотрено как настраивать сетевые интерфейсы руками без использования графических мастеров, что иногда бывает удобней и быстрее.

Информация об интерфейсах

В linux сетевые интерфейсы обычно обозначаются как eth0, eth1, eth2 и т.д. по количеству сетевых карт установленных в компьютере. Для Wi-Fi карты интерфейсы будет называться wlan0, wlan1, wlan2 и т.д.

Для начала выясним какие сетевые карты (интерфейсы) нам доступны выполним команду:

ifconfig -a

В результате мы получим информацию обо всех сетевых интерфейсах включая неактивные:

eth0      Link encap:Ethernet  HWaddr 00:1f:c6:fe:25:e8  
          inet addr:192.168.0.196  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::23f:c6ff:fede:49e8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:47560082 errors:0 dropped:0 overruns:0 frame:0
          TX packets:37740170 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:7815177901 (7.8 GB)  TX bytes:68243054986 (68.2 GB)
          Interrupt:17 

lo        Link encap:Локальная петля (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:72869 errors:0 dropped:0 overruns:0 frame:0
          TX packets:72869 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:6081898 (6.0 MB)  TX bytes:6081898 (6.0 MB)

Здесь видно два интерфейса рассмотрим их подробно.

Первый интерфейс eth0 это наша основная сетевая карта типа Ethernet. Команда ifconfig отображает следующую информацию MAC-адрес (HWaddr), IP-адрес (inet addr), маску сети (Mask). Особое внимание обратите на четвертую сточку она показывает статус работы сетевого интерфейса, если строка начинается со слова UP то интерфейс запущен, если при этом есть слово RUNNING то это значит что в сетевую карту вставлен патч-корд и она работает нормально. Так же проверьте статистику здесь можно увидеть количество принятых (RX packets) и переданных (TX packets) пакетов, если наблюдается много ошибок (errors) то сеть не настроена или плохо работает. Второй интерфейс lo или local loopback (локальная петля) используется для того, что-бы компьютер мог обращаться к самому себе и имеет по-умолчанию ip-адрес 127.0.0.1 на всех компьютерах.

Для Wi-Fi карт также полезно посмотреть команду:

iwconfig wlan0

Эта команда отображает такие сведения как частоту канала, качество сигнала, скорость соединения и ряд других параметров свойственных Wi-Fi.

Если у вас вообще отсутствует сетевой интерфейс eth0 (wlan0) то вероятно на вашу сетевую карту не установлен драйвер и его придется устанавливать самостоятельно но эта тема выходит за рамки этой статьи.

Автоматическая настройка сети через DHCP

Для быстрой и удобной настройки IP адресов и не которых других сетевых настроек часто используют протокол DHCP (dynamic host configuration protocol). Чтобы настроить DHCP клиент достаточно привести файл /etc/network/interfaces к следующему виду:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

Чтобы изменения применить нужно перезапустить сетевую службу:

sudo /etc/init.d/networking restart

Важно: Если вы сидите на удаленном компьютере через SSH то лучше будет полностью перезагрузить компьютер т.к. при перезапуске сетевой службы сетевые интерфейсы выключатся но включить их можно будет только подойдя к компьютеру.

Если хотите посмотреть как происходит запрос на получение IP у DHCP сервера то выполните команду:

sudo dhclient -v

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

Но часто бывает необходимо настроить постоянный адрес там где нет DHCP сервера. Открываем файл /etc/network/interfaces и пишем туда:

auto lo
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet static
	address 192.168.0.196
	netmask 255.255.255.0
	gateway 192.168.0.1
	dns-nameservers 8.8.8.8 192.168.0.2
	dns-search mydomain.local

Это минимальный конфиг необходимый для работы сети. Указываем IP адрес маску и шлюз по умолчанию. В параметре dns-nameservers указываем через пробел DNS серверы вашего провайдера или локальной сети. Параметр dns-search обычно указывает имя домена или рабочей группы в сети.

Важно: Если у вас несколько сетевых интерфейсов то указывать шлюз (gateway) нужно только на одном интерфейсе который является основным и подключен к интернету, иначе сеть может не работать или работать нестабильно.

Настройка DNS

DNS (domain name system) — распределенная система которая сопоставляет имена доменов и их IP адреса. Т.е. эта система которая позволяет в браузере писать легко запоминающиеся названия сайтов в место цифровых IP адресов с которыми удобней работать компьютерам.

Чтобы узнать IP адрес сервера где находится сайт можно воспользоваться командой:

nslookup yandex.ru

В результате мы видим что сайт яндекса распределен сразу по нескольким ip адресам и информация получена с dns сервера указанного в настройках:

Server:		8.8.8.8
Address:	8.8.8.8#53

Non-authoritative answer:
Name:	yandex.ru
Address: 87.250.250.11
Name:	yandex.ru
Address: 93.158.134.11
Name:	yandex.ru
Address: 213.180.193.11
Name:	yandex.ru
Address: 213.180.204.11
Name:	yandex.ru
Address: 77.88.21.11

Если запросы не работают то есть два варианта.

Для статических адресов необходимо открыть файл /etc/resolve.conf и указать в нем DNS сервера вашего провайдера или сервера в локальной сети:

search mydomain.local
nameserver 8.8.8.8
nameserver 192.168.0.2

Вообще эти параметры мы уже указывали при настройки интерфейсов так что эти сточки должны были сами сюда прописаться.

Для динамических адресов открываем файл /etc/dhcp3/dhclient.conf и добавляем строчку:

prepend domain-name-servers 192.168.200.1, 192.168.200.2;

Затем обновляем настройки командой

sudo dhclient

Затем опять проверяем через nslookup.

Проверка соединения

Самый простой способ проверить что сетевой компьютер доступен и сеть работает это выполнить команду:

ping -c 4 8.8.8.8

В результате получим:

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_req=1 ttl=50 time=23.5 ms
64 bytes from 8.8.8.8: icmp_req=2 ttl=50 time=21.5 ms
64 bytes from 8.8.8.8: icmp_req=3 ttl=50 time=25.2 ms
64 bytes from 8.8.8.8: icmp_req=4 ttl=50 time=22.1 ms

--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 21.567/23.132/25.246/1.419 ms

Мы отправляем эхо запросы (icmp пакеты) и сервер должен ответить на них. Если потерянных пакетов 0% (packet loss) то значит сеть работает хорошо. Но сетевые экраны (firewall) могут блокировать эхо запросы что впрочем нестрашно, если сеть и интернет работает.

Один отзыв

  1. Хорошая и подробная статья, я тоже написал статью про настройку сети в debian/ubuntu
    http://www.artcom-ufa.ru/posts/2011/07/20/nastroika-seti-v-linux

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *