Настройка сети в Debian
Список разделов:
- Основы IP сетей
- Установка имени хоста (hostname)
- Установка DNS
- Установка IP адреса
- Установка второго IP адреса или виртуальный IP адрес в Дебиан
- Установка шлюза по умолчанию (default gateway)
- Основы тестирования сетей
- Полезные стати
Сервисы для работы с сетями и 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 порты
Полезные статьи
- Настройка NAT и DHCP-сервера под Debian
- Установка и настройка OpenVPN-сервера в Debian
- Установка и настройка LAMP сервера на Debian 6
- Установка и настройка Samba в Debian
- Настройка сети с помощью утилиты ip в Debian linux
- iperf в Debian - тест скорости сети
Опубликовано