lan

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

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.

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

Традиционно IP сети сгруппированы в классы по размеру части адреса, отвечающей за сеть. Они могут быть 8, 16, или 24 бита. Эта система не гибкая и тратит много IP адресов в пустую, поэтому современные 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 

IP адреса не входящие в эти диапазоны используются для специальных нужд.

В каждом классе сетей существуют диапазоны адресов зарезервированные для использования в локальных сетях (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

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

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

# route

Kernel IP routing table

DestinationGatewayGenmaskFlagsMetricRefUseIface
127.0.0.0*255.0.0.0U002lo
192.168.50.0*255.255.255.0U00137eth0
172.20.0.0192.168.50.1255.255.0.0UG107eth0
default192.168.50.2540.0.0.0UG106eth0

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

IP адреса в таблице могут также появиться как имена, которые получены просмотром адресов в /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

Установка IP адреса

IP адреса связанные с любыми сетевыми картами можно прочесть в файле /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

Здесь мы устанавливаем IP адрес (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

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

Если вы администратор серверной системы или обычный пользователь, вам иногда необходимо установить второй IP адрес на вашей системе под 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.

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

# ifconfig

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

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

# netstat -nr

Kernel IP routing table

DestinationGatewayGenmaskFlagsMSSWindowirttIface
192.168.3.00.0.0.0255.255.255.0U000eth0
0.0.0.0192.168.3.10.0.0.0UG000eth0

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

# route

Kernel IP routing table

DestinationGatewayGenmaskFlagsMetricRefUseIface
192.168.3.0*255.255.255.0U000eth0
defaultrouter0.0.0.0UG000eth0

Здесь вы видите имя хоста router вместо IP адреса 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 порты
# curl ident.me                  # для определения внешнего IP-адреса

Источник

Основы IP-сетей (заключение)

Вам интересно узнать о таинственном царстве IP-сетей? В этом сообщении блога мы углубимся в основы IP-сетей и раскроем секреты их функциональности.

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

IP-адреса состоят из ряда чисел, разделенных точками. Существует два типа IP-адресов — IPv4 и IPv6. Адреса IPv4 являются наиболее распространенными и имеют знакомый формат из четырех наборов чисел. Однако из-за растущего числа устройств, подключенных к Интернету, были введены адреса IPv6, чтобы обеспечить почти неисчерпаемый запас уникальных адресов.

Когда данные отправляются с одного устройства на другое в IP-сети, они делятся на более мелкие блоки, называемые пакетами. Каждый пакет содержит часть исходных данных, а также информацию об IP-адресе получателя. Затем эти пакеты передаются по сети по отдельности и собираются на принимающей стороне, обеспечивая эффективную и надежную связь.

Для обеспечения безопасной связи по IP-сетям часто используются дополнительные протоколы, такие как TCP (протокол управления передачей) и UDP (протокол пользовательских дейтаграмм). Эти протоколы повышают надежность и возможности проверки ошибок в процессе передачи данных, гарантируя, что информация дойдет до адресата в целости и сохранности.

Понимание основ IP-сетей является основой для изучения более сложных тем, таких как подсети, сетевая безопасность и протоколы маршрутизации. Независимо от того, являетесь ли вы новичком или находитесь на пути к тому, чтобы стать экспертом в области сетей, важно хорошо разбираться в IP-сетях.

В заключение следует отметить, что IP-сети являются основой современной связи, позволяя устройствам беспрепятственно подключаться и взаимодействовать друг с другом. Зная об IP-адресах, пакетах, маршрутизаторах и протоколах, вы теперь готовы уверенно ориентироваться в запутанном мире IP-сетей.

Итак, вы готовы погрузиться глубже в увлекательное царство IP-сетей? Следите за нашими будущими сообщениями в блоге, где мы рассмотрим более интересные аспекты этой цифровой экосистемы.

От alex

Обучаемый.