Самое прекрасное — это когда нужна поддержка сайта, а ты сидишь с телефоном
в руке и ЗНАЕШЬ, чей номер набрать! т. +7 831 4637611 моб. +7 910 3820622Айтишник РУ Нижний Новгород, Симферопольская, 21
A+ A A-

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

В этой статье я опишу простую настройку сети для сервера под управлением ОС Debian 5 (Lenny). Всё, что описано в этой статье так же может быть использовано и для настройки сети в Debian 6 (Squeeze). Изначально рассматривалась настройка сервера с одной сетевой картой, но со временем было решено написать цикл статей по Debian, в которых более подробно описывается установка и настройка коммуникационного сервера класса SOHO. Теперь эту статью можно рассматривать как руководство по настройке сети как для сервера с одной сетевой картой, так и для внешнего интерфейса коммуникационного сервера. Настройка сети так же подразумевает первичную настройку системы разрешения имён. В этой статье мы коснёмся этой темы вскользь. Подробнее об этом будет написано в статье «Разрешение имён в Debian». И так начнём. Обычно первичная настройка сети происходит ещё на этапе установки. Об этом можно прочесть в моей статье «Установка Debian на сервер». Если по какой-то причине это не было сделано при установке, то мы с вами попытаемся решить проблемы с сетью и настроить наш сервер.

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

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

# dmesg | grep eth

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

# lspci | grep Ether

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

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

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

# ifconfig

или

$ sudo ifconfig

Второй вариант команды я написал для тех, кто при установке запретил вход суперпользователя. Далее в статье я не буду дублировать команды, просто запомните: если в начале кода есть значок #, значит команда выполняется от имени суперпользователя. Те, кто запретил вход суперпользователя в систему выполняют её с помощью sudo.
Если всё было настроено правильно ещё при установке системы, мы увидим следующее:

eth0

Link encap:Ethernet HWaddr 08:00:27:f1:d9:29

 

inet addr:192.168.123.254 Bcast:192.168.123.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. Если он не существует, то создаём его, если существует, то редактируем текстовым редактором:

# vim /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.123.254
netmask 255.255.255.0
network 192.168.123.0
broadcast 192.168.123.255
gateway 192.168.123.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 213.177.96.1 213.177.97.1
dns-search aitishnik

auto eth0

В комментариях к файлу написано, что этот файл описывает доступные системе сетевые интерфейсы и как их активировать. Для получения большей информации следует посмотреть руководство interfaces(5). В предпоследней строке идёт перечисление через пробел dns-серверов, у вас там, естественно должны быть адреса dns-серверов вашего провайдера или вашей сети. В последней строке указывается ваша рабочая группа или домен. В моём примере это aitishnik.
Затем редактируем файл /etc/resolv.conf:

search aitishnik
nameserver 213.177.96.1
nameserver 213.177.97.1

В первой строке указываем название своей рабочей группы или домена после слова search. Во второй и третьей строках после слов nameserver пишем ip-адреса DNS-серверов вашей сети или вашего провайдера в зависимости от конфигурации вашей сети. Если DNS-сервер один, то третью строку не пишем. Например, если наш сервер стоит за интернет-шлюзом (о настройке сети для интернет-шлюза речь идёт в одноимённой статье) и он же является DNS-сервером, то файл /etc/resolv.conf будет выглядеть так:

search aitishnik
nameserver 192.168.123.1

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

# ifup eth0

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

# /etc/init.d/networking restart

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

# ifconfig

eth0

Link encap:Ethernet HWaddr 08:00:27:f1:d9:29

 

inet addr:192.168.123.254 Bcast:192.168.123.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.123.254 -с 4

PING 192.168.123.254 (192.168.123.254) 56(84) bytes of data

64 bytes from 192.168.123.254: icmp_seq=1 ttl=64 time=0.135 ms
64 bytes from 192.168.123.254: icmp_seq=2 ttl=64 time=0.319 ms
64 bytes from 192.168.123.254: icmp_seq=3 ttl=64 time=0.170 ms
64 bytes from 192.168.123.254: icmp_seq=4 ttl=64 time=0.323 ms


--- 192.168.123.254 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.123.1 -с 4

PING 192.168.123.1 (192.168.123.1) 56(84) bytes of data

64 bytes from 192.168.123.1: icmp_seq=1 ttl=255 time=1.85 ms
64 bytes from 192.168.123.1: icmp_seq=2 ttl=255 time=2.02 ms
64 bytes from 192.168.123.1: icmp_seq=3 ttl=255 time=1.51 ms
64 bytes from 192.168.123.1: icmp_seq=4 ttl=255 time=3.12 ms

--- 192.168.123.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 www.aitishnik.ru

PING www.aitishnik.ru (195.208.0.15) 56(84) bytes of data

64 bytes from 195.208.0.15: icmp_seq=1 ttl=56 time=119 ms
64 bytes from 195.208.0.15: icmp_seq=2 ttl=56 time=112 ms
64 bytes from 195.208.0.15: icmp_seq=3 ttl=56 time=113 ms
64 bytes from 195.208.0.15: icmp_seq=4 ttl=56 time=114 ms

--- www.aitishnik.ru ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 3030ms
rtt min/avg/max/mdev = 112.818/114.989/119.785/2.821 ms

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

Команды ifconfig и route

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

# ifconfig lo 127.0.0.1

В параметрах команды не указываем маску подсети, т. к. по умолчанию устанавливается маска подсети 255.0.0.0

Проверяем:

$ ping 127.0.0.1 -с 3

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.128 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.115 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.276 ms

--- 127.0.0.1 ping statistics ---

3 packets transmitted, 3 received, 0% packet loss, time 2014ms
rtt min/avg/max/mdev = 0.115/0.173/0.276/0.073 ms

Для нашего сетевого интерфейса даём команду:

# ifconfig eth0 192.168.123.254 netmask 255.255.255.0 broadcast 192.168.123.255 up

Проверяем:

$ ping 192.186.123.254 -c 3

PING 192.168.123.254 (192.168.123.254) 56(84) bytes of data.

64 bytes from 192.168.123.254: icmp_seq=1 ttl=64 time=0.312 ms
64 bytes from 192.168.123.254: icmp_seq=2 ttl=64 time=2.16 ms
64 bytes from 192.168.123.254: icmp_seq=3 ttl=64 time=0.248 ms

--- 192.168.123.254 ping statistics ---

3 packets transmitted, 3 received, 0% packet loss, time 2025ms
rtt min/avg/max/mdev = 0.248/0.909/2.169/0.891 ms

Перед тем, как добавить маршруты посмотрим таблицу маршрутизации:

# route

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface

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

# route add -net 127.0.0.0 netmask 255.0.0.0 lo

А для сетевого интерфейса выполняем сначала:

# route add -net 192.168.0.0 netmask 255.255.255.0 eth0

А затем добавим основной шлюз:

# route add default gw 192.168.123.1 eth0

Посмотрим опять таблицу маршрутизации:

# route

Kernel IP routing table

Destination

Gateway

Genmask

Flags

Metric

Ref

Use

Iface

localnet

*

255.255.255.0

U

0

0

0

eth0

loopback

*

255.0.0.0

U

0

0

0

lo

default

192.168.123.1

0.0.0.0

UG

0

0

0

eth0

Проверяем работоспособность сети так же, как в предыдущем разделе.

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

В некоторых случаях сервер может получать динамический IP-адрес. Чаще всего это зарезервированный адрес или псевдодинамический. Т. е. на DHCP-сервере производится привязка определённого mac-адреса к определённому ip-адресу (об этом читайте в статье «Настройка DHCP в Debian»). Такая ситуация может встретиться и в локальной сети, но чаще всего она встречается тогда, когда провайдер выдает 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

Вот и всё!
В следующей статье мы рассмотрим настройку обновлений Debian

Не забывайте, что у нас вы можете не только купить готовый сайт, но и подобрать подходящий тариф поддержки сайта, а так же зарегистрировать домен в одной из двухсот доменных зон и выбрать недорогой тариф хостинга! У нас же вы можете заказать продвижение сайта в поисковых системах.Айтишник РУ

 

Об авторе:

ZolkinМеня зовут Андрей Золкин. Из более, чем пятнадцати лет работы в сфере информационных технологий, десять лет работаю с системами, базирующимися на открытом исходном коде. На страницах сайта Aitishnik.Ru веду блоги по CMC Joomla и Debian GNU/Linux.

 

Ещё статьи о Debian

    • Настройка FTP сервера в Debian 5 (Lenny)

      Настройка FTP сервера в Debian 5 (Lenny)В этой статье я опишу настройку FTP сервера на базе Debian 5 (Lenny). Будем использовать vsftpd. VSFTPD (Very Secure FTP Daemon) — как следует из названия, очень защищённый демон FTP, с хорошей производительностью, поддерживаются: IPv6,...

    • Насторйка OpenSSH

      Насторйка OpenSSHНастройки sshd находятся в файле /etc/ssh/sshd_config. Открываем этот файл для редактирования и изменяем его содержимое для наших нужд, не забывая при этом о безопасности. Первый параметр – Port. По умолчанию используется 22 порт....

    • Работаем с wget в Debian

      Работаем с wget в DebianОдна из самых частых задач при работе с любой операционной системой – это скачивание файлов. Существует несколько способов получения файлов с удаленного компьютера. В этой статье я расскажу, как решить задачу скачивания файлов в Debian с...

    • Как обновить Debian 6 Squeeze до Debian 7 Wheezy

      Как обновить Debian 6 Squeeze до Debian 7 WheezyПрошло более двух месяцев с момента выхода новой стабильной версии операционной системы Debian GNU/Linux – Debian 7 (Wheezy). За это время были исправлены ошибки и даже вышла новая версия – 7.1. А это значит, что теперь можно и...

    • Разметка дисков в Debian с помощью LVM

      Разметка дисков в Debian с помощью LVMЭта статья является часть цикла статей о Debian/GNU Linux и является дополнением к статье «Установка Debian на сервер». В этой статье я расскажу, как произвести разметку диска используя LVM.LVM – это аббревиатура от Logical Volume Manager, что переводится как менеджер логических томов. LVM...

    • Как обновить Debian 4 Etch до Debian 5 (Lenny)

      Как обновить Debian 4 Etch до Debian 5 (Lenny)Вот чем мне нравится Debian, так тем что можно обновить установленную систему на ходу, без какой либо переустановки. На момент написания этой статьи произошла смена стабильного дистрибутива Debian. Вместо Debian 4 Etch, ставшей теперь...