Txqueuelen 1000 ethernet что это
5.2 Экспериментальный пример
Конфигурация сетевой карты в Linux
После настройки перезапустите сетевую службу.
Host1 настроен, затем host2 настроен
Затем настройте R1 и R2
Включите соответствующую конфигурацию на сервере, чтобы реализовать связь с удаленным терминалом
Промежуточный IP-адрес изменяется автоматически, и его необходимо своевременно корректировать.
Несколько IP-адресов
Чтобы назначить дополнительные IPv4-адреса на тот же самый интерфейс, необходимо создать виртуальный интерфейс в виде имя_интерфейса:номер, например eth0:0 .
В остальном интерфейс настраивается аналогично физическому.
CentOS
Debian/Ubuntu
Ubuntu 16.04 LTS
Для данной ОС не требуется создавать виртуальный интерфейс, достаточно добавить второй IP-адрес на уже существующий, например:
Ubuntu 18.04 LTS с netplan
В интерфейсе описываются необходимые адреса, роутинг происходит через директиву routes .
Несколько IPv6-адресов можно назначать на один интерфейс без создания виртуального. При этом gateway указывается только один раз. Например:
CentOS
Debian/Ubuntu
Ubuntu 16.04 LTS
Просмотр информации об интерфейсе eth0
Формат вывода информации о интерфейсе программой ifconfig:
Характеристики канального уровня
Канальный уровень Link encap. Аппаратный MAC-адрес устройства HWaddr.
Характеристики сетевого уровня
IP-адрес интерфейса inet addr; широковещательный адрес интерфейса Bcast; маска подсети интерфейса Mask.
Флаги, метрика и MTU
Список установленных флагов интерфейса: включён UP; принимает широковещательные пакеты BROADCAST; принимает групповые пакеты MULTICAST. Среди списка установленных флагов может присутствовать слово PROMISC, означающее, что интерфейс работает в неразборчивом режиме. Установленный размер максимального блока, передаваемого через интерфейс MTU и метрика интерфейса Metric.
Информация о полученных пакетах RX
Число пакетов packets, ошибок errors, отброшенных пакетов dropped, переполнений overruns. Такое назначение полей соответствует только сетям Ethernet. В других сетях, смысл может отличаться.
Информация об отправленных пакетах
Число пакетов packets, ошибок errors, отброшенных пакетов dropped, переполнений overruns, потерь несущей carrier, коллизий collisions ; объем буфера передачи txqueuelen. Такое назначение полей соответствует только сетям Ethernet. В других сетях, смысл может отличаться.
Объем переданных данных
Количество байтов полученных RX bytes и отправленных TX bytes через интерфейс/
Аппаратные параметры
Номер линии IRQ Interrupt и адрес памяти Base address.
10.2 Перезапуск сетевой службы
Просмотр таблицы маршрутизации
Вывод совпадает с выводом netstat -r :
Включение и отключение беспорядочного режима
Беспорядочный позволяет сетевому интерфейсу получать доступ и просматривать все пакеты в сети. Вы можете использовать ifconfig команду для включения и отключения беспорядочной связи на определенном сетевом устройстве.
Чтобы включить неразборчивый режим в сетевом интерфейсе, введите promisc флаг после имени устройства:
Чтобы отключить беспорядочный режим, используйте -promisc флаг
Настройка приватной сети
Для создания приватной сети между боксами необходимо настроить новый интерфейс — он уже добавлен, увидеть его можно в выводе утилиты ip
У боксов без приватной сети только два интерфейса: lo и eth/ens . У боксов с приватной сетью есть ещё один интерфейс eth/ens , изначально он выключен. Чтобы его включить, надо:
Ubuntu 18.04 LTS и старше
Добавить в файл /etc/netplan/50-cloud-init.yaml :
Важно соблюдать количество пробелов как в остальном файле.
Debian
Добавить в файл /etc/network/interfaces.d/50-cloud-init :
CentOS
Создать файл /etc/sysconfig/network-scripts/ifcfg-eth1 :
Вы можете использовать любые IP-адреса из диапазона приватных. Там же можно узнать, какие маски для каких диапазонов лучше использовать.
Проверить работу приватной сети можно с помощью ssh, ping или любых других подходящих утилит:
1.2 Просмотр указанной информации сетевого интерфейса
Имя сетевой карты ens33 может быть изменено, и время модификации заключается в изменении имени сетевой карты при установке системы.
Каталог статей
Просмотр сетевых настроек
Проверить сетевое соединение (конфигурация маршрутизации, трассировка маршрутизации)
Используйте команды конфигурации сети
Измените файл конфигурации сети
Netstat
sudo apt install net-tools
С помощью команды netstat можно посмотреть список активных соединений по сети
Обычно netstat используют с набором опций tulpn который и позволяет понять какая программа слушает какой порт.
(Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN - tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN - tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN - tcp 0 0 127.0.0.1:6011 0.0.0.0:* LISTEN - tcp6 0 0 . 22 . * LISTEN - tcp6 0 0 ::1:631 . * LISTEN - tcp6 0 0 ::1:6010 . * LISTEN - tcp6 0 0 ::1:6011 . * LISTEN - tcp6 0 0 . 80 . * LISTEN - udp 0 0 0.0.0.0:52756 0.0.0.0:* - udp 0 0 0.0.0.0:68 0.0.0.0:* - udp 0 0 0.0.0.0:631 0.0.0.0:* - udp 0 0 0.0.0.0:5353 0.0.0.0:* - udp6 0 0 . 45815 . * - udp6 0 0 . 5353 . * -
Debian
Редактируем файл /etc/network/interfaces, добавляя параметр вслед за описанием интерфейса:
Перезагружаем сеть командой systemctl restart networking.
ifconfig
Команда ifconfig позволяет получать диагностическую информацию об интерфейсах системы и выполнять их настройку.
Формат вызова команды:
Для получения информации, программа ifconfig может вызываться простым пользователем. Файл ifconfig находится в каталоге /sbin , чаще всего при вызове нужно указывать абсолютное путевое имя.
Без параметров программа выводит на экран информацию обо всех активных (находящих в состоянии up ) интерфейсах. Если указано имя интерфейса и отсутствуют опции, выводится информация только о нем.
Включение и отключение сетевого интерфейса
Иногда может потребоваться сбросить сетевой интерфейс. В этом случае ifconfig команда может использоваться для включения или отключения сетевого интерфейса.
Чтобы отключить активный сетевой интерфейс, введите имя устройства и установите down флажок:
Чтобы включить неактивный сетевой интерфейс, используйте up флаг:
Debian/Ubuntu
IP-адрес добавляется на интерфейс в файле /etc/network/interfaces :
Вывод
Мы показали вам, как использовать ifconfig команду для настройки и отображения информации о сетевом интерфейсе. Для получения дополнительной информации ifconfig посетите страницу руководства по команде ifconfig .
Сетевые интерфейсы создаются автоматически для каждого обнаруженного сетевого устройства при загрузке ядра ОС.
eth — сетевой интерфейс к карте Ethernet или картам WaveLan (Radio Ethernet).
Каждый интерфейс характеризуется определёнными параметрами, необходимыми для обеспечения его функционирования и для сетевого обмена данными по протоколу IP.
Параметры интерфейса
- DEVICE: Имя интерфейса.
- IPADDR: IP-адрес, соответствующий данному сетевому интерфейсу. Пакеты, отправленные по этому адресу, поступят на соответствующий интерфейс.
- NETMASK: Битовая маска, необходимая для вычисления маршрута передачи IP-пакета.
- BROADCAST: Адрес, используемый при широковещательной рассылке пакетов через интерфейс.
- Метрика: Условная характеристика интерфейса соответствующая уровню затрат при передаче информации через него. Используется при маршрутизации пакетов, для выбора оптимального маршрута.
- MTU: Maximum Transfer Unit. Максимальный размер блока данных обрабатываемого интерфейсом. Наибольшее значение MTU определяется типом интерфейса (например, для Ethernet MTU=1500), но может быть искусственно снижено.
- MAC-адрес: Аппаратный адрес сетевого устройства, соответствующего интерфейсу (для которых это имеет смысл).
Кроме этих параметров интерфейс характеризуется ещё:
- Флагами, которые определяют состояния устройства, например такие как: включен ли интерфейс (Up/Down), находится ли он в неразборчивом режиме (promiscuous/nonpromiscuous).
- Аппаратными характеристиками, такими как адрес памяти, номер IRQ, DMA, порт ввода/вывода.
- Статистической информацией, характеризующей различные аспекты работы интерфейса. Например, количество переданных/полученных байтов/пакетов, число переполнений, коллизий и др. с момента создания интерфейса.
Изменить netmask
Что такое netmask или маска подсети вы можете узнать в статье «Компьютерные сети»
Узнать свою маску
default via 10.6.0.1 dev eth0
10.6.0.0/8 dev eth0 src 10.6.1.68
ip address del 10.6.1.100/8 dev eth0
ip address add 10.6.1.68/22 dev eth0
iftop
Мониторить объём входящего и исходящего траффика на определённом интерфейсе можно командой
Подпишитесь на Telegram канал @aofeed чтобы следить за выходом новых статей и обновлением старых
3.2 Пример
Целевой сегмент сети Шлюз Шлюз Genmask Метрика маски подсети
В centos 7 разница между маршрутом и маршрутом -n заключается в том, что сеть по умолчанию изменена на номер 0.0.0.0
В centos 6 конкретные различия между маршрутом и маршрутом -n показаны ниже.
5.1 команда traceroute
- Протестируйте сетевые узлы, которые переходят от текущего хоста к целевому.
- Адрес целевого хоста Traceroute
4.1 команда netstat
- Просмотр состояния сетевого подключения системы, таблицы маршрутизации, статистики интерфейса и другой информации
- netstat [параметры]
Redhat/Fedora/CentOS
В Redhat, Fedora или CentOS директория, отвечающая за присвоение постоянных IP-адресов - это /etc/sysconfig/network-scripts . В данной директории необходимо создать файл, соответствующий вашему новому виртуальному интерфейсу. Например, на наших боксах подобный файл будет называться ifcfg-eth0:0 .
/etc/sysconfig/network-scripts — каталог, содержащий конфигурационные файлы интерфейсов и скрипты, выполняющие их инициализацию.
/etc/sysconfig/network-scripts/ifup — скрипт, который выполняет настройку и активацию интерфейса.
/etc/sysconfig/network-scripts/ifdown — скрипт, который выполняет деактивацию интерфейса.
/etc/sysconfig/network-scripts/ifcfg-* — конфигурационные файлы, описывающие интерфейсы системы.
/etc/init.d/network — скрипт, выполняющий настройку сетевых интерфейсов и маршрутизации при загрузке.
/etc/sysconfig/network — конфигурационный файл, содержащий имя хоста, IP-адрес основного шлюза и IP-адреса основного и вспомогательного DNS-серверов:
Адрес можно добавить на тот же интерфейс, что и IPv4, новый создавать не нужно.
На нашей площадке используется универсальный шлюз fe80::1 .
11.1 / etc / sysconfig / файл конфигурации сетевого имени хоста
- Сохраните конфигурацию глобальной сети, в основном включая информацию о хосте.
Этот четвертый метод нельзя использовать в centos 7, но можно использовать в centos 6.
3.1 команда маршрута
- Просмотр или установка информации таблицы маршрутизации на хосте
- route [-n]
- -n для отображения в цифровом виде
Установить ifconfig на Centos
Чтобы установить ifconfig на CentOS и другие дистрибутивы Linux на основе RHEL, введите:
7.2 Фиксированные настройки - изменение сетевых параметров через файлы конфигурации
- Измените файл конфигурации каждого параметра
- Подходит для использования при установке фиксированных параметров для сервера
- Необходимо перезагрузить сетевую службу или перезапустить, чтобы вступили в силу
Ubuntu 18.04 LTS
В файл /etc/netplan/50-cloud-init.yaml нужно добавить:
И применить изменения командой netplan apply.
10.4 Включить сетевой интерфейс
Ubuntu 16.04 LTS
От других систем семейства отличается имя интерфейса, вместо eth0 – ens3.
Назначьте IP-адрес и маску сети сетевому интерфейсу
С помощью этой ifconfig команды вы можете назначить IP-адрес и сетевую маску сетевому интерфейсу.
Используйте следующий синтаксис для назначения IP-адреса и сетевой маски:
Например, чтобы назначить интерфейсу IP-адрес 192.168.0.101 и сетевую маску , вы должны запустить: 255.255.0.0 eth0
Вы также можете назначить дополнительный IP-адрес сетевому интерфейсу, используя псевдоним интерфейса:
Вывод всех интерфейсов и IP-адресов
Прослушиваемые порты
Утилита lsof позволяет посмотреть все открытые в системе соединения.
Чтобы изучить именно сетевые соединения воспользуйтесь опцией i
Чтобы отображались именно порты, а не названия сетевых служб примените опцию P
На вопрос как посмотреть список открытых портов также может ответить утилита ss
Если нужно проверить используется ли определённый порт, например 5000
ss -na | grep :5000
Если вывод пуст, значит порт не используется
Чтобы узнать какая программа слушает определённый порт нужно предварительно установить один из инструментов:
netstat, fuser или lsof
Начнём с netstat
Изменить MAC-адрес сетевого интерфейса
MAC «Управление доступом к среде» - это физический адрес, который однозначно идентифицирует устройства в сети.
Чтобы изменить MAC-адрес сетевого интерфейса, используйте hw ether флаг для установки нового MAC-адреса:
Изменить MTU сетевого интерфейса
MTU «Максимальный блок передачи» позволяет ограничить размер пакетов, передаваемых через интерфейс.
Вы можете изменить значение MTU, используя синтаксис:
Например, установить значение MTU сетевого интерфейса eth0 к 500 , выполнить следующую команду:
10.5 Конфигурация двойной сетевой карты
1. Добавьте сетевую карту, а затем автоматически распознайте (перезагружать не нужно)
Отключение и включение сетевого интерфейса также можно изменить в файле конфигурации, который должен установить ONBOOT = no.
Ubuntu 18.04 LTS
В этой версии ОС сеть может задаваться не с помощью networking, а с помощью утилиты netplan.
Конфигурационный файл сетевого интерфейса расположен в каталоге: /etc/netplan/50-cloud-init.yaml . Описание интерфейса выглядит следующим образом:
Для применения изменений необходимо выполнить команду netplan apply. Она проверяет конфигурационный файл на наличие ошибок, применяет изменения и автоматически перезагружает интерфейс.
Включить / Выключить сетевой интерфейс
ВКЛЮЧИТЬ интерфейс enp0s25:
ip link set dev enp0s25 up
ВЫКЛЮЧИТЬ интерфейс enp0s25:
ip link set dev enp0s25 down
11.3 / etc / hosts файл сопоставления локальных хостов
- Сохраните файл сопоставления имени хоста и IP-адреса
- Сравнение файла hosts и DNS-сервера
- По умолчанию система сначала ищет запись анализа из файла hosts.
- Файл hosts действителен только для текущего хоста
- Файл hosts может сократить процесс DNS-запросов, тем самым ускоряя доступ.
При разрешении доменного имени приоритет будет отдан проверке файла сопоставления / etc / hosts, в противном случае он снова перейдет на DNS-сервер
В нашей городской сети более 30 тысяч абонентов. Суммарный объем внешних каналов — более 3 гигабит. А советы, данные в упомянутой статье, мы проходили еще несколько лет назад. Таким образом, я хочу шире раскрыть тему и поделиться с читателями своими наработками в рамках затрагиваемого вопроса.
В заметке описываются нюансы настройки/тюнинга маршрутизатора и NAT-сервера под управлением Linux, а также приведены некоторые уточнения по поводу распределения прерываний.
Прерывания
Раскидывание прерываний сетевых карт по разным ядрам — это самое первое, с чем сталкивается сисадмин при возрастании нагрузки на linux-маршрутизатор. В упомянутой статье тема освещена достаточно подробно — поэтому надолго останавливаться на этом вопросе мы не будем.
Хочу только отметить:
- если вы вручную раскидываете прерывания, то вам необходимо остановить сервис irqbalance. Этот сервис предназначен как раз для автоматического регулирования прерываний между ядрами процессоров. Если вы делаете эту работу вручную — сервис лучше остановить;
- не забудьте внести соответствующие правки в «автозагрузку» (например, /etc/rc.local) — т.к. после рестарта сервера все прерывания опять распределятся вкучку на одном ядре;
- после рестарта сервера, сетевые карты могут получить (а скорее всего, именно так и будет) новые номера прерываний. Поэтому в /etc/rc.local лучше не вписывать руками конкретные номера прерываний — а автоматизировать с помощью вспомогательного скрипта распознавание, какая сетевая какое прерывание заняла.
Маршрутизатор
В первоначальной статье есть фраза «если сервер работает только маршрутизатором, то тюнинг TCP стека особого значения не имеет». Это утверждение в корне неверно. Конечно, на небольших потоках тюнинг не играет большой роли. Однако, если у вас большая сеть и соответствующая нагрузка — то тюнингом сетевого стека вам придется заняться.
Прежде всего, если по вашей сети «гуляют» гигабиты, то имеет смысл обратить свое внимание на MTU на ваших серверах и коммутаторах. В двух словах, MTU — это объем пакета, который можно передать по сети, не прибегая к его фрагментации. Т.е. сколько информации ваш один маршрутизатор может передать другому без фрагментирования. При значительном увеличении объемов передаваемых по сети данных, гораздо эффективнее передавать пакеты большего объема реже, — чем часто-часто пересылать мелкие пакеты данных.
Увеличиваем MTU на linux
/sbin/ifconfig eth0 mtu 9000
Увеличиваем MTU на коммутаторах
На коммутационном оборудовании обычно это будет называться jumbo-frame. В частности, для Cisco Catalyst 3750
Заметьте: коммутатор затем надо перезагрузить. Кстати, mtu jumbo касаются только гигабитных линков, — 100-мбит такая команда не затрагивает.
Увеличиваем очередь передачи на linux
/sbin/ifconfig eth0 txqueuelen 10000
По умолчанию значение стоит 1000. Для гигабитных линков рекомендуется ставить 10000. В двух словах, это размер буфера передачи. Когда буфер наполняется до этого граничного значения, данные передаются в сеть.
Имейте ввиду, что если вы меняете размер MTU на интерфейсе какой-то железки — вы должны сделать то же самое и на интерфейсе её «соседа». Т.е., если вы увеличили MTU до 9000 на интерфейсе linux-роутера, то вы должны включить jumbo-frame на порту коммутатора, в который данный роутер включен. В противном случае сеть работать будет, но очень плохо: пакеты ходить по сети будут «через одного».
Итоги
В результате всех этих изменений, в сети возрастут «пинги» — но общая пропускная способность заметно возрастет, а нагрузка на активное оборудование снизится.
Сервер NAT
Операция NAT (Network Address Translation) является одной из самых дорогостоящих (в смысле, ресурсоёмких). Поэтому, если у вас большая сеть, без тюнинга NAT-сервера вам не обойтись.
Увеличение кол-ва отслеживаемых соединений
Для осуществления своей задачи, NAT-серверу необходимо «помнить» обо всех соединениях, которые через него проходят. Будь то «пинг» или чья-то «аська» — все эти сессии NAT-сервер «помнит» и отслеживает у себя в памяти в специальной таблице. Когда сессия закрывается, информация о ней из таблицы удаляется. Размер этой таблицы фиксирован. Именно поэтому если трафика через сервер идет достаточно много, а размера таблицы нехватает, — то NAT-сервер начинает «дропать» пакеты, рвать сессии, интернет начинает работать с жуткими перебоями, а на сам NAT-сервер бывает даже попасть по SSH становится просто невозможно.
Чтобы таких ужасов не происходило, необходимо адекватно увеличивать размер таблицы — в соответствии с проходящим через NAT трафиком:
Настоятельно НЕ рекомендуется ставить такое большое значение, если у вас на NAT-сервере меньше 1 гигабайта оперативной памяти.
Посмотреть текущее значение можно вот так:
Посмотреть, насколько уже заполнена таблица отслеживания соединений, можно вот так:
Увеличение размера hash-таблицы
Пропорционально должная быть увеличена и хэш-таблица, в которой хранятся списки conntrack-записей.
echo 65536 > /sys/module/nf_conntrack/parameters/hashsize
Правило простое: hashsize = nf_conntrack_max / 8
Уменьшение значений time-out
Как вы помниите, NAT-сервер отслеживает только «живые» сессии, которые через него проходят. Когда сессия закрывается — информация о ней удаляется, дабы таблица не переполнялась. Информация о сессиях удаляется так же по тайм-ауту. Т.е., если втечение долгого времени в рамках соединения обмена траифка нет — оно закрывается и информация о нем так же удаляется из памяти NAT-а.
Однако, по умолчанию значения тайм-аутов стоят достаточно большие. Поэтому, при больших потоках трафика даже если вы растянете nf_conntrack_max до предела — вы все равно рискуете быстро столкнуться с переполнением таблицы и разрывами соединений.
Чтобы такого не произошло, необходимо грамотно выставить тайм-ауты отслеживания соединений на NAT-сервере.
Текущие значения можно посмотреть, например, так:
sysctl -a | grep conntrack | grep timeout
В результате вы увидите что-то подобное:
На первый взгляд, ничего страшного — но на самом деле это очень и очень много.
Говоря еще более простым языком, за-DDOS'ить такой NAT-сервер становится проще простого: его NAT-таблица (параметр nf_conntrack_max) переполняется «на ура» простейшим флудом — вследствие чего он будет рвать соединения и в худшем варианте быстро превратится в черную дыру.
Значения тайм-аутов рекомендуется ставить в пределах 30-120 секунд. Этого вполне достаточно для нормальной работы абонентов, и этого вполне хватит для своевременной очистки NAT-таблицы, исключающей её переполнение.
И не забудьте вписать соответствующие изменения в /etc/rc.local и /etc/sysctl.conf
Итоги
После тюнинга вы получите вполне жизнеспособный и производительный NAT-сервер. Конечно же, это только «базовый» тюнинг — мы не касались, например, тюнинга ядра и т.п. вещей. Однако, в большинстве случаев даже таких простых действий будет достаточно для нормальной работы достаточно большой сети. Как я уже говорил, в нашей сети более 30 тыс. абонентов, трафик которых обрабатывают 4 NAT-сервера.
ifconfig (настройка интерфейса) - это инструмент управления сетью. Он используется для настройки и просмотра состояния сетевых интерфейсов в операционных системах Linux. С помощью ifconfig вы можете назначать IP-адреса, включать или отключать интерфейсы, управлять кешем ARP, маршрутами и т. Д.
Как установить ifconfig
Команда ifconfig устарела, заменена ip на новые дистрибутивы Linux и может не входить в их состав.
Установить ifconfig на Ubuntu / Debian
В дистрибутивах Linux на основе Ubuntu и Debian выполните следующую команду для установки ifconfig :
CentOS
Вносим в файл /etc/sysconfig/network строку:
И перезагружаем сетевую службу: systemctl restart network.
Изменить Gateway
Удаление старого gateway
route delete default
Добавление нового gateway
route add default gw IP_Address
Если старых gateway много, то нужно указать какой конкретно IP с какого интерфейса удалить
route delete default gw 10.0.0.1 eth0
Для создания тоже можно указать конкретные данные
route add default gw 192.168.0.1 eth0
2.1 команда hostname
Просмотр или установка текущего имени хоста
8.3 Удалить запись шлюза по умолчанию в таблице маршрутизации
Добавление маршрута в удаленную сеть
9.2 Пример
Третий метод: vim / etc / hostname измените имя хоста, затем сохраните его, выключите и перезапустите
7.3 Команда установки параметров сетевого интерфейса ifconfig
Установите IP-адрес и маску подсети сетевого интерфейса
ifconfig имя интерфейса (имя сетевой карты) IP-адрес [маска подсети]
IP-адрес сетевого интерфейса ifconfig [/ длина маски]
Отключить или повторно активировать сетевую карту
сетевой интерфейс ifconfig вверх
сетевой интерфейс ifconfig не работает
Настроить виртуальный сетевой интерфейс
ifconfig имя интерфейса: серийный номер IP-адрес
Название интерфейса ens33
Временная модификация, используется только для обслуживания,
Серийный номер 0-123456 эквивалентен логическому интерфейсу,
Когда хосту необходимо использовать несколько IP-адресов, вы можете использовать конфигурацию логического интерфейса.
Отключение логического подчиненного интерфейса (например: ens33: 1) эквивалентно освобождению IP-адреса.
Показать все соединения
Сокращенный вывод ifconfig без параметров:
Утилита ip
Утилита ip совмещает в себе другие сетевые утилиты и позволяет производить те же самые операции, что и ifconfig, route и arp вместе взятые.
Подробную информацию об утилите можно получить с помощью help :
Разберем вывод команды подробнее.
Блок «Usage» содержит синтаксис утилиты:
В блоке «OBJECT» указаны все доступные объекты:
Часто используемые объекты:
- address — сетевой адрес на устройстве
- link— физическое сетевое устройство
- monitor — мониторинг состояния устройств
- neigh — ARP
- route — управление маршрутизацией
- rule — правила маршрутизации
- tunnel — настройка туннелирования
«OPTIONS» содержит список доступных опций:
Часто используемые опции:
- -v — вывод информации об утилите и ее версии
- -s — включает вывод статистической информации
- -f — указывает протокол для работы. Если протокол не указан, берется на основе параметров команды. Принимает одно из значений:
- bridge — . Аналогично опции -B
- dnet —
- inet — . Аналогично опции -4
- inet6 — . Аналогично опции -6
- ipx —
- link — означает отсутствие протокола. Аналогично опции -0
Также при работе с утилитой ip используются различные команды и параметры.
Команды:
Если команда не указана, выполняется show .
Параметры:
Не все команды и параметры доступны при работе с различными объектами. Подробную информацию также можно получить применив «help».
При выводе help для объекта address блок «Usage» содержит синтаксис различных комбинаций команд и параметров:
Примеры
Debian/Ubuntu
Настройки сетевого интерфейса указываются в конфигурационном файле /etc/network/interfaces :
10.3 Отключить сетевой интерфейс
Перезапуск сетевых сервисов
Чтобы применить изменения, внесенные в конфигурационный файл, необходимо перезапустить сервис.
Название самого сервиса будет отличаться в зависимости от выбранного дистрибутива, для Ubuntu/Debian это networking, для CentOS - network.
Далее настройка зависит от версии Linux, которую Вы используете.
На новых версиях Debian . Например, на Debian 9 используется Iproute2
Если Вам нужно настроить сеть на старой версии Debian с помощью утилит ifconfig пролистайте страницу вниз или перейдите по ссылке
Удаление маршрута
8.4 Добавьте запись шлюза по умолчанию в таблицу маршрутизации
gw адрес следующего перехода
-net целевой сегмент сети
CentOS
Для работы с IPv6 необходимо добавить следующие директивы в конфигурационный файл /etc/sysconfig/network :
- NETWORKING_IPV6 - включаем поддержку IPV6.
- IPV6_DEFAULTDEV - интерфейс по умолчанию.
- IPV6_DEFAULTGW - gateway по умолчанию.
IP-адрес назначается в конфигурационном файле /etc/sysconfig/network-scripts/ifcfg-* :
Создание маршрута по умолчанию
Маршрутизация (route)
route — утилита для настройки таблицы маршрутизации.
Назначение IP-адреса 10.0.0.1 первой Ethernet-карте
Назначение IP-адреса 10.0.0.1 первой Ethernet-карте выполняется командой:
6.2 Пример
Обнаружение в windows
Сервер относится к серверу разрешения DNS, а следующий nj означает Нанкин.
Вы можете скопировать разрешенный адрес в браузер, чтобы получить к нему доступ. Baidu может, но Taobao не может. Это связано с защитой безопасности и DNS-сервером.
Отображение маршрута к указанной сети
Создание/удаление маршрута
Nameservers
Необходимые директивы для nameservers добавляются в конфигурационный файл. Указать можно столько DNS-серверов, сколько необходимо.
CentOS
Ubuntu/Debian
Теория: сетевые сервисы linux-сетевые настройки linux
9.1 команда hostname
имя хоста имя хоста
Создание маршрута к указанной сети
Как и для утилиты route, команды можно сокращать. Например, ip l тоже самое, что и ip link show .
Включение интерфейса eth1
8.1 Записи маршрута, добавленные в указанный сегмент сети
- route add -net адрес сетевого сегмента gw IP-адрес
Как установить статический IP
Чтобы подлкючиться к другому компьютеру через Ethernet нужно в Windows выставить параметры адаптера через контольную панель. То же самое нужно было сделать и в Linux.
Для этого нужно выполнить команду
sudo vi /etc/network/interfaces
И добавить туда
auto enp3s0 iface enp3s0 inet static address 192.0.2.131 netmask 255.255.255.0 dns-nameservers 8.8.8.8,8.8.4.4 auto wlp1s0 iface wlp1s0 inet dhcp
Обратите внимание, что gateway не указан.
И перезапустить сеть
sudo service networking restart
Второй вариант проще запомнить, но, чтобы он заработал нужно наличие service
Теперь если у Вас установлен SSH можно зайти на компьютер с Linux по ssh с помощью Putty или MobaXterm
Если нужно установить SSH выполните
sudo apt install openssh-server
sudo apt-get install openssh-client
2.2 Пример
Второй способ установки имени хоста - изменить файл конфигурации.
/ etc / файл конфигурации hostname
Как использовать ifconfig команду
Базовый синтаксис ifconfig команды показан ниже:
- interface - это имя сетевого интерфейса.
- address - IP-адрес, который вы хотите назначить.
Конфигурации, установленные с помощью ifconfig команды, не являются постоянными. После перезапуска системы все изменения теряются. Чтобы сделать изменения постоянными, вам необходимо отредактировать файлы конфигурации конкретного дистрибутива или добавить команды в сценарий запуска.Только root или пользователи с привилегиями sudo могут настраивать сетевые интерфейсы.
Установка/удаление IP-адреса для интерфейса eth1
10.1 В каталоге / etc / sysconfig / network-scripts /
- ifcfg-ens33: файл конфигурации первой карты Ethernet
- …
Отображение информации об интерфейсе eth0
Настройка сети с помощью Iproute2
Актуально для Debian 9 и выше.
Чтобы получить список интерфейсов нужно воспользоваться командой
На выходе будет что-то похожее на
1: lo : mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp3s0 : mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 30:f9:ed:d9:ea:d3 brd ff:ff:ff:ff:ff:ff inet 192.0.2.131/24 brd 192.0.2.255 scope global enp3s0 valid_lft forever preferred_lft forever inet6 fe80::32f9:edff:fed9:ead3/64 scope link valid_lft forever preferred_lft forever 3: wlp1s0 : mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether b8:76:3f:f5:c4:1f brd ff:ff:ff:ff:ff:ff inet 192.168.43.4/24 brd 192.168.43.255 scope global dynamic noprefixroute wlp1s0 valid_lft 2800sec preferred_lft 2800sec inet6 fe80::ba76:3fff:fef5:c41f/64 scope link noprefixroute valid_lft forever preferred_lft forever
1: Первый интерфейс это lo он направлен на локальную машину и имеет IP 127.0.0.1/8
2: Второй интерфейс enp3s0 это моё поключение к по Ethernet к другому ПК.
В этом примере компьютер с Debian (1) соединён с компьютером с Windows (2) напрямую через Ethernet кабель
Через это подключение я захожу на комп номер 1 по SSH.
IP компьютера с Debian вы видите выше 192.0.2.131/24 , а у компа с Windows IP 192.0.2.130/24 его здесь, естественно не видно.
Как настроить этот IP читайте дальше
3: Третий интефейс wlp1s0 это подключение к местному Wi-Fi от мобильного телефона. IP получен динамически 192.168.43.4/24
Раньше интерфейсы назывались eth0 , eth1 и так далее, сейчас у них более разнообразные названия.
enp0s31f6: flags=4099 mtu 1500 ether 54:05:db:cd:b2:af txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device interrupt 16 memory 0xef380000-ef3a0000 lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 2465 bytes 795656 (795.6 KB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 2465 bytes 795656 (795.6 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 vboxnet0: flags=4163 mtu 1500 inet 192.168.56.1 netmask 255.255.255.0 broadcast 192.168.56.255 inet6 fe80::800:27ff:fe00:0 prefixlen 64 scopeid 0x20 ether 0a:00:27:00:00:00 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 678 bytes 51442 (51.4 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlp0s20f3: flags=4163 mtu 1500 inet 10.1.70.158 netmask 255.255.240.0 broadcast 10.1.79.255 inet6 fe80::9708:9f80:20b5:4777 prefixlen 64 scopeid 0x20 ether 8c:8d:28:c5:a2:2e txqueuelen 1000 (Ethernet) RX packets 1103516 bytes 1061399166 (1.0 GB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 320242 bytes 110222925 (110.2 MB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Отображение маршрута к указанной сети от указанного интерфейса
Ubuntu 16.04 LTS
Директивы сетевого интерфейса записываются в файл /etc/network/interfaces . В отличие от Debian и Ubuntu более ранних версий, интерфейсы именуются с префиксом ens , например — ens3 :
11.2 /etc/resolv.conf файл конфигурации разрешения доменного имени
Настройка mtu на интерфейсе
Параметр mtu нужно менять, если вы пользуетесь индивидуальной защитой от DDoS. В стандарте Ethernet TCP-пакеты разбиты на кадры объемом 1500 байт, но при передаче через GRE-тоннель маршрутизаторы дописывают к кадрам свои 24 байта. Принимающая система оказывается не готова к кадру размером 1524 байт, поэтому мы изменим параметр mtu на интерфейсе, уменьшив его до 1476 байт, чтобы принимающая система спокойно восприняла итоговый кадр в 1500 байт.
Ubuntu 18.04+
Дописываем mtu в конфигурационный файл /etc/netplan/50-cloud-init.yaml сразу после имени интерфейса, например:
Важно соблюдать количество пробелов как в остальном файле.
После чего перезагружаем сетевую службу командой netplan apply.
Конфигурационные файлы и настройка IPv4
8.2 Удалить записи маршрутизации в сегмент сети
- route del -net адрес сетевого сегмента gw IP-адрес
Отображение информации о сетевых интерфейсах
При вызове без каких-либо опций ifconfig отображает информацию о конфигурации всех сетевых интерфейсов и связанный IP-адрес:
Вывод включает информацию обо всех активных и неактивных сетевых интерфейсах:
Чтобы отобразить информацию о конфигурации любого конкретного сетевого интерфейса, напишите имя интерфейса после команды:
Результат будет выглядеть примерно так:
1.1 Просмотр информации обо всех активных сетевых интерфейсах
Добавление маршрута в локальную сеть
7.1 Временная конфигурация - использование команд для настройки параметров сети
- Просто и быстро, можно напрямую изменять параметры сети в процессе работы
- Обычно подходит только для использования в процессе отладки сети
- После перезагрузки системы внесенные изменения станут недействительными.
Настройка сети с помощью ifconfig
Получить информацию об имеющихся интерфейсах на старых версиях Debian можно с помощью команды
Изучите вывод этой команды и посмотрите какой интерфейс Вам доступен. Обычно это eth0. , если нужно получать ip автоматически
iface eth0 inet dhcp
Если нужно задать статический ip
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0Чтобы изменения пришли в силу нужно выполнить
ifconfig wlan0 down
ifconfig eth0 up/down
Перезапустить/остановить/запустить сетевые службы
Настроить DNS можно через файл /etc/resolv.conf
При установке нужно было запомнить какие сетевые интерфейсы вам предлагает сконфигурировать Debian.
В старых версиях Dbian это было просто, они назывались eth0, eth1 и так далее.
Поэтому для включения сетевого интерфейса, в приведённой выше команде нужно менять 0 на 1 и т.д.
В новых версиях Debian и в других Unix-подобных дистрибутивах, например OpenBSD сетевые интерфейсы называются более разнообразно (msk0, sk0 и др.)
Для того, чтобы с этим не возникало сложностей - полезно записывать то, что предлагается сконфигурировать при установке дистрибутива.
Включить автоматическое получение ip
Выключить автоматическое получение ip можно вытащив сетевой шнур и вставив обратно. Говорят, что должно сброситься.
и изучить вывод.
Добавление шлюза по умолчанию
Включение интерфейса
Включение добавленного интерфейса выполняется командой:
4.2 Общие параметры
Параметры Объяснение -a Показать все -n Показать серийный номер -p Показать протокол порта -t Показать протокол TCP -u Показать протокол UDP -r Показать маршрут sshd относится к удаленному доступу
Можно комбинировать с командами поиска для просмотра целевых
6.1 команда nslookup
- Проверить команды DNS
- адрес целевого хоста nslookup [адрес DNS-сервера]
Читайте также: