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

Список разделов:

Сервисы для работы с сетями и IP адресами. Эти сервисы действительно полезны.
Объединение каналов (ethernet bonding) в Debian.
Как изменить mac адрес сетевой карты.

Основы IP сетей.

Система под Debian может иметь несколько сетевых интерфейсов с различными АйПи адресами. Интерфейсы могут быть нескольких различных типов, включая следующие:

Loopback: lo
Ethernet: eth0, eth1
Wi-Fi: wlan0, wlan1, wifi0,
Token Ring: tr0, tr1
PPP: ppp0, ppp1 

Существует широкий диапазон прочих сетевых устройств, таких как SLIP, PLIP (последовательные и параллельные линии IP), шейперы (shaper) для контроля трафика на определенных интерфейсах, frame relay, AX.25, X.25, ARCnet, и LocalTalk.

Каждый сетевой интерфейс подсоединенный к интернету (или к любой сети основанной на АйПи) имеет уникальный 32-х битный АйПи адрес. АйПи адрес может быть поделен на часть, которая идентифицирует сеть и часть, определяющую адрес хоста. Если вы берете АйПи адрес и устанавливаете биты отвечающие за адрес сети равными 1, а биты, адресующие хост, равными 0, то вы получите так называемую маску (netmask) сети.

Традиционно АйПи сети сгруппированы в классы по размеру части адреса, отвечающей за сеть. Они могут быть 8, 16, или 24 бита. Эта система не гибкая и тратит много айпи адресов в пустую, поэтому современные IPv4 сети используют части адреса, отвечающие за сеть, переменной длины.

        IP addresses                      net mask        length
Class A   1.0.0.0     - 126.255.255.255  255.0.0.0        =  /8
Class B   128.0.0.0  - 191.255.255.255  255.255.0.0     = /16
Class C   192.0.0.0  - 223.255.255.255  255.255.255.0  = /24  
 

АйПи адреса не входящие в эти диапазоны используются для специальных нужд. 
 
В каждом классе сетей существуют диапазоны адресов зарезервированные для использования в локальных сетях (LAN). Эти адреса гарантированно не будут конфликтовать с любыми адресами присущими интернету. (Справедливо и то, что, если один из этих адресов дан хосту то этот хост не должен быть подключен напрямую к интернету и должен получать к нему доступ через шлюз, который работает как прокси или даже осуществляет трансляцию сетевых адресов.) Эти диапазоны адресов указаны в таблице ниже.

       network addresses                length    how many
Class A   10.x.x.x                                /8        1
Class B   172.16.x.x -  172.31.x.x         /16      16
Class C   192.168.0.x - 192.168.255.x   /24      256

Первый адрес в АйПи сети это собственно адрес самой сети. Последний адрес - это широковещательный (broadcast) адреc для сети. Все другие адреса могут быть выданы хостам в сети. Поэтому первый или последний адрес обычно выдается интернет-шлюзу данной сети.

Таблица маршрутизации (routing table) содержит информацию ядра о том, как отправлять АйПи пакеты к их пунктам назначения. Ниже представлена простая таблица маршрутизации для хоста под Дебиан в локальной сети с адресом 192.168.50.x/24. Хост 192.168.50.1 (также в локальной сети) это маршрутизатор для корпоративной сети 172.20.x.x/16 и хост 192.168.50.254 (тоже в локальной сети) является маршрутизатором всей сети для доступа в интернет.

# route

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface
127.0.0.0 * 255.0.0.0 U 0 0 2 lo
192.168.50.0 * 255.255.255.0 U 0 0 137 eth0
172.20.0.0 192.168.50.1 255.255.0.0 UG 1 0 7 eth0
default 192.168.50.254 0.0.0.0 UG 1 0 36 eth0

 

 

 

Первая строка после заголовка говорит, что трафик предназначенный для сети 127.x.x.x будет перенаправлен через lo на адрес обратной связи (loopback). Вторая строка говорит, что трафик для хостов в локальной сети будет перенаправлен через интерфейс eth0. Третья строка сообщает, что трафик предназначенный для корпоративной сети будет направлен на шлюз 192.168.50.1 также через eth0. Четвертая строка сообщает, что трафик направленный в интернет будет направлен на шлюз 192.168.50.254 также через eth0.

АйПи адреса в таблице могут также появиться как имена, которые получены просмотром адресов в /etc/networks или с использованием резолвера из библиотеки языка C.

В дополнение к маршрутизации, ядро может производить трансляцию сетевых адресов, резать трафик и фильтровать его.

Эти статьи могут быть найдены здесь.

Установка имени хоста.

Задание имени хоста во время установки Дебиан может оказаться преждевременным. Вы можете узнать или установить имя хоста с помощью команды hostname.

Вы можете увидеть ваше текущее имя хоста с помощью:

$ hostname

Например, чтобы установить имя хоста напрямую вам нужно зайти под суперпользователем и выполнить:

# hostname newname

Когда ваша система загружается имя хоста будет автоматически прочитано из файла /etc/hostname. Поэтому, если вы хотите установить имя хоста на постоянку, то измените этот файл.

Установка DNS.

Когда дело доходит до установки DNS, Дебиант ничем не отличается от других дистрибутивов. Вы можете добавить имя хоста и его АйПи адрес в файл /etc/hosts для статических запросов.

Чтобы заставить вашу машину отправлять запросы соответствующему серверу, вы просто должны добавить их адреса в файл /etc/resolv.conf.

Например, машина с адресом 192.168.1.1, которая должна отправлять запросы к DNS серверу, должна иметь файл resolv.conf следующего вида:

nameserver 192.168.3.2

Установка АйПи адреса

АйПи адреса связанные с любыми сетевыми картами можно прочесть в файле /etc/network/interfaces

Простое содержимое файла для машины со статическим адресом будет выглядеть примерно так:

# The loopback network interface

auto lo
iface lo inet loopback

 # The primary network interface

auto eth0
iface eth0 inet static
address 192.168.3.90
gateway 192.168.3.1
netmask 255.255.255.0
network 192.168.3.0
broadcast 192.168.3.255

Здесь мы устанавливаем АйПи адрес (192.168.3.90), шлюз по умолчанию (192.168.3.1) и сетевую маску.

Для машины использующей DHCP настройка сети в Debian выглядит намного проще:

# The loopback network interface

auto lo
iface lo inet loopback

# The primary network interface - use DHCP to find our address

auto eth0
iface eth0 inet dhcp

Если вы используете настройку сети с помощью DHCP, то у вас должен быть установлен DHCP клиент, обычно это pump, dhcpcd или dhcp3-client. Если вы делаете изменения в этом файле и хотите чтобы эти изменения вступили в силу, выполните команду:

/etc/init.d/networking restart

Установка второго АйПи адреса или виртуальный АйПи адрес в Debian

Если вы администратор серверной системы или обычный пользователь, вам иногда необходимо установить второй АйПи адрес на вашей системе под Дебиан. Для этого вам необходимо исправить файл /etc/network/interfaces добавив строки следующего вида. Ниже приведен пример в котором вам необходимо изменить адреса на ваши собственные:

auto eth0:1
 iface eth0:1 inet static
 address 192.168.1.60
 netmask 255.255.255.0
 network x.x.x.x
 broadcast x.x.x.x
 gateway x.x.x.x


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

#/etc/init.d/networking restart

учтите, что запускаются только интерфейсы описание которых начинается с auto.

Если вы хотите проверить установились ли новые айпи адреса, выполните следующую команду:

# ifconfig

Установка шлюза по умолчанию.

Если вы прочитали предыдущую часть, то вы видели что шлюз по умолчанию для хоста со статическим адресом может быть установлен в файле /etc/network/interfaces. Если вы хотите просмотреть ваш текущий шлюз, то выполните:

# netstat -nr

Kernel IP routing table

Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.3.1 0.0.0.0 UG 0 0 0 eth0

 

 

Также вы можете использовать команду:

# route

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.3.0 * 255.255.255.0 U 0 0 0 eth0
default router 0.0.0.0 UG 0 0 0 eth0

(Здесь вы видите имя хоста router вместо айпи адреса 192.168.3.1 - чтобы предотвратить это, используйте "route -n")

Чтобы изменить ваш шлюз по умолчанию, вы должны для начала удалить существующий:

# route del default gw 192.168.3.1

Как только это сделано, шлюз по умолчанию будет удален и вы сможете взаимодействовать только с локальными машинами. Добавьте новый шлюз:

# route add default gw 192.168.3.100

Основы тестирования сетей

Используйте нижеследующие команды:

 $ ping google.com # проверить соединение с интернетом
 $ traceroute google.com # проверить путь до хоста
 $ ifconfig # проверить конфигурацию сетевых интерфейсов
 $ route -n # посмотреть таблицу маршрутизации
 $ dig [@dns-server.com] host [{a|mx|any}] # просмотреть DNS запись хоста
 $ whois host # узнать данные о домене из базы whois
 $ iptables -L -n | less # проверить фильтр пакетов
 $ netstat -a # узнать все открытые порты
 $ netstat -l # просмотреть все слушающие порты
 $ netstat -l --inet # просмотреть слушающие TCP порты

Полезные статьи

Наверх

Опубликовано