- Ручная настройка сети в Linux
- Привязка интерфейса к карте
- ifcfg
- route
- Ручная настройка сети в ArchLinux
- Ручная настройка сети в Ubuntu
- Ручная настройка сети в CentOS 6
- Общие настройки сети
- Конфигурация интерфейса
- Настройка DNS
- Настройка брандмауэра
- Сменить IP адрес на Linux через командную строку
- Как изменить IP-адрес из командной строки в Linux
- Как изменить IP-адрес из командной строки в Linux
- Команда ifconfig в Linux
- Linux ifconfig Command
- В этой статье мы рассмотрим, как использовать ifconfig команду.
- Как установить ifconfig
- Установить ifconfig на Ubuntu / Debian
- Установить ifconfig на Centos
- Как использовать ifconfig команду
- Отображение информации о сетевых интерфейсах
- Назначьте IP-адрес и маску сети сетевому интерфейсу
- Включение и отключение сетевого интерфейса
- Включение и отключение беспорядочного режима
- Изменить MTU сетевого интерфейса
- Изменить MAC-адрес сетевого интерфейса
- Вывод
- 7 сетевых Linux-команд, о которых стоит знать системным администраторам
- Команда ip
- Команда ifconfig
- Команда mtr
- Команда tcpdump
- ▍ Захват трафика, идущего к некоему хосту и от него
- ▍ Захват трафика, идущего в некую сеть и из неё
- ▍ Захват трафика, поступающего на некий порт и выходящего из некоего порта
- Команда netstat
- Команда nslookup
- Команда ping
- ▍ Destination Host Unreachable
- ▍ Request timed out
- ▍ Unknown host/Ping Request Could Not Find Host
- Итоги
Ручная настройка сети в Linux
Для доступа к сетевым картам в Linux используются так называемые интерфейсы. Интерфейсы это не файлы устройств и их нет в каталоге /dev. Интерфейсы создаются динамически и не всегда связаны с сетевыми картами. Например интерфейс ppp0 — это интерфейс VPNа, организованного по протоколу PPTP, а интерфейс lo это виртуальная сетевая карта с адресом localhost (127.0.0.1). В Linux имена интерфейсов традиционно состоят из мнемонического типа интерфейса и его порядкового номера. Карты ethernet доступны через интерфейсы eth0, eth1 и т.д. В системах, использующих systemd способ именования другой — интерфейсы имеют имена вида enp2s0 (en -Ethernet, p — PCI, 2 — номер на шине) Список всех интерфейсов можно посмотреть командой ifconfig -a или ip link .
Привязка интерфейса к карте
При наличии нескольких сетевых карт возникает вопрос о порядке их нумерации. В CentOS 6 эта задача возложена на подсистему обнаружения и конфигурации устройств — udev. В системах с systemd правила именования встроены в udev, но могот быть переопределены, как написано ниже.
Конфигурационный файл переименования интерфейсов обновляется автоматически при первом обнаружении очередной сетевой карты и находится в файле /etc/udev/rules.d/70-persistent-net.rules. Файл состоит из строк такого содержания:
Видно, что нумерация опирается на аппаратный (MAC) адрес карты. Если в компьютере заменить карту, то интерфейс eth0 станет недоступным, а новая карта получит имя eth1. Если есть желание вручную назначить имена картам, то можно отредактировать этот файл, выставив желаемые соответствия между MAC адресами именами интерфейсов (возможно потребуется перезагрузка).
ifcfg
Классическая утилита конфигурации сетевых интерфейсов ifcfg
route
Настройка таблицы маршрутизации route
В современных дистрибутивах линукса на смену ifconfig и route приходит универсальная утилита ip
Адреса серверов DNS и имя локального домена вписываются в файл /etc/resolv.conf
Ручная настройка сети в ArchLinux
Для просмотра доступных сетевых интерфейсов используется команда ip link
ArchLinux использует для настройки сети systemd/netctl . Для конфигурации используются файлы профилей, которые хранятся в /etc/netctl/ . В данном каталоге есть подкаталог examples/ из которого можно копировать файлы с образцами профилей в /etc/netctl/ . Например:
Содержимое enp1s0-work после редактирования
Базовые команды netctl
Ручная настройка сети в Ubuntu
Просмотр доступных интерфейсов — ifcfg -a
Файл конфигурации интерфейсов — /etc/network/interfaces . auto — говорит о том, что интерфейс надо конфигурировать при старте системы.
После смены настроек в /etc/network/interfaces , необходимо отключить и снова включить интерфейс.
Ручная настройка сети в CentOS 6
Общие настройки сети
Файл /etc/sysconfig/network используется стартовыми скриптами и содержит ключевые параметры — нужна ли сеть, нужно ли конфигурировать IP v6, имя компьютера. Сюда можно вписать шлюз по умолчанию, но CentOS 6 ориентируется на динамическое подкючение к сетям через WiFi и вписывает его в конфигурацию подходящего интерфейса.
Конфигурация интерфейса
Файлы в каталоге /etc/sysconfig/network-scripts с именами вида ifcfg-eth0
Интерфейс, получающий адрес по DHCP
Дополнительный IP адрес на интерфейсе eth1
Инициализация VLAN на eth1
Настройка DNS
Файл /etc/resolv.conf
Ручная настройка имен хостов файл /etc/hosts
Настройка брандмауэра
Файл /etc/sysconfig/system-config-firewall правила для настройки программой system-config-firewall
Файл /etc/sysconfig/iptables текущие правила, сохраненные на случай перезагрузки.
После ручного изменения правил их можно сохранить командой service iptables save
Источник
Сменить IP адрес на Linux через командную строку
В Linux можно сменить свой IP-адрес с помощью графического интерфейса, но не менее быстро это можно сделать с помощью простой команды в терминале.
Этот метод должен работать на всех дистрибутивах Linux на базе Debian, включая Ubuntu. Чтобы начать работу, введите ifconfig в терминале и нажмите Enter. Эта команда покажет все сетевые интерфейсы в системе, поэтому обратите внимание на имя интерфейса, для которого вы хотите изменить IP-адрес, обычно, это «eth0».
Чтобы изменить настройки, вам также потребуется использовать команду ifconfig, на этот раз с несколькими дополнительными параметрами. Следующая команда изменяет настройки сетевого интерфейса с именем eth0 для использования IP-адреса 192.168.0.1 и назначает маску подсети 255.255.255.0:
sudo ifconfig eth0 192.168.0.1 netmask 255.255.255.0
Разумеется, вы можете указать любые значения, которое вам необходимо (в зависимости от настроек маршрутизатора или провайдера). Если вы запустите ifconfig еще раз, вы увидите, что ваш интерфейс теперь использует новые настройки, которые вы ему назначили.
Если вам также необходимо изменить шлюз по умолчанию (Default Gateway), используемый сетевым интерфейсом, вы можете использовать команду route. Следующая команда, например, устанавливает шлюз по умолчанию для интерфейса «eth0» в значение 192.168.0.253:
sudo route add default gw 192.168.0.253 eth0
Чтобы увидеть новую настройку, вам нужно будет отобразить таблицу маршрутизации. Введите следующую команду в терминале и нажмите «Ввод»:
Источник
Как изменить IP-адрес из командной строки в Linux
Наверное каждый Линуксоид знает как изменить свой IP-адрес с помощью графического интерфейса, но далеко не все знают, что Linux также позволяет менять IP-адрес сетевой карты с помощью простой команды из командной строки. Сегодня я расскажу как изменить IP-адрес из терминала, а также изменить шлюз если это необходимо .
Как изменить IP-адрес из командной строки в Linux
Этот способ должен работать на всех дистрибутивах Linux на базе Debian, включая Ubuntu. Для начала введите «ifconfig» в терминале и нажмите Enter. Эта команда перечисляет все сетевые интерфейсы в системе, поэтому обратите внимание на имя интерфейса, для которого вы хотите изменить IP-адрес.
Чтобы изменить настройки, вы также используете команду «ifconfig», но на этот раз с несколькими дополнительными параметрами.
Следующая команда изменяет сетевой интерфейс с именем «eth0» для использования IP-адреса 102.168.0.1 и назначает маску подсети 255.255.255.0:
Это всего лишь пример. Разумеется, вы можете назначить любые значения.
Если вы запустите «ifconfig» еще раз, то на этот раз вы увидите, что ваш интерфейс теперь использует новые настройки, те которые вы для него назначили.
Если вам также необходимо изменить шлюз по умолчанию, используемый сетевым интерфейсом, вы можете использовать команду «route». Следующая команда, например, устанавливает шлюз по умолчанию для интерфейса «eth0» для 192.168.0.253:
Чтобы увидеть новую настройку, вам нужно будет отобразить таблицу маршрутизации. Введите следующую команду и нажмите «Ввод»:
Это все, теперь вы знаете как изменить IP-адрес из командной строки в Linux.
Источник
Команда ifconfig в Linux
Linux ifconfig Command
В этой статье мы рассмотрим, как использовать ifconfig команду.
Как установить ifconfig
Команда ifconfig устарела, заменена ip на новые дистрибутивы Linux и может не входить в их состав.
Если вы получаете сообщение об ошибке «ifconfig: command not found», это означает, что пакет, содержащий команду, не установлен в вашей системе.
Установить ifconfig на Ubuntu / Debian
В дистрибутивах Linux на основе Ubuntu и Debian выполните следующую команду для установки ifconfig :
Установить ifconfig на Centos
Чтобы установить ifconfig на CentOS и другие дистрибутивы Linux на основе RHEL, введите:
Как использовать ifconfig команду
Базовый синтаксис ifconfig команды показан ниже:
- interface — это имя сетевого интерфейса.
- address — IP-адрес, который вы хотите назначить.
Конфигурации, установленные с помощью ifconfig команды, не являются постоянными. После перезапуска системы все изменения теряются. Чтобы сделать изменения постоянными, вам необходимо отредактировать файлы конфигурации конкретного дистрибутива или добавить команды в сценарий запуска.
Только root или пользователи с привилегиями sudo могут настраивать сетевые интерфейсы.
Отображение информации о сетевых интерфейсах
При вызове без каких-либо опций ifconfig отображает информацию о конфигурации всех сетевых интерфейсов и связанный IP-адрес:
Вывод включает информацию обо всех активных и неактивных сетевых интерфейсах:
Чтобы отобразить информацию о конфигурации любого конкретного сетевого интерфейса, напишите имя интерфейса после команды:
Результат будет выглядеть примерно так:
Назначьте IP-адрес и маску сети сетевому интерфейсу
С помощью этой ifconfig команды вы можете назначить IP-адрес и сетевую маску сетевому интерфейсу.
Используйте следующий синтаксис для назначения IP-адреса и сетевой маски:
Например, чтобы назначить интерфейсу IP-адрес 192.168.0.101 и сетевую маску , вы должны запустить: 255.255.0.0 eth0
Вы также можете назначить дополнительный IP-адрес сетевому интерфейсу, используя псевдоним интерфейса:
Включение и отключение сетевого интерфейса
Иногда может потребоваться сбросить сетевой интерфейс. В этом случае ifconfig команда может использоваться для включения или отключения сетевого интерфейса.
Чтобы отключить активный сетевой интерфейс, введите имя устройства и установите down флажок:
Чтобы включить неактивный сетевой интерфейс, используйте up флаг:
Включение и отключение беспорядочного режима
Беспорядочный позволяет сетевому интерфейсу получать доступ и просматривать все пакеты в сети. Вы можете использовать ifconfig команду для включения и отключения беспорядочной связи на определенном сетевом устройстве.
Чтобы включить неразборчивый режим в сетевом интерфейсе, введите promisc флаг после имени устройства:
Чтобы отключить беспорядочный режим, используйте -promisc флаг
Изменить MTU сетевого интерфейса
MTU «Максимальный блок передачи» позволяет ограничить размер пакетов, передаваемых через интерфейс.
Вы можете изменить значение MTU, используя синтаксис:
Например, установить значение MTU сетевого интерфейса eth0 к 500 , выполнить следующую команду:
Изменить MAC-адрес сетевого интерфейса
MAC «Управление доступом к среде» — это физический адрес, который однозначно идентифицирует устройства в сети.
Чтобы изменить MAC-адрес сетевого интерфейса, используйте hw ether флаг для установки нового MAC-адреса:
Вывод
Мы показали вам, как использовать ifconfig команду для настройки и отображения информации о сетевом интерфейсе. Для получения дополнительной информации ifconfig посетите страницу руководства по команде ifconfig .
Источник
7 сетевых Linux-команд, о которых стоит знать системным администраторам
Существуют Linux-команды, которые всегда должны быть под рукой у системного администратора. Эта статья посвящена 7 утилитам, предназначенным для работы с сетью.
Этот материал — первый в серии статей, построенных на рекомендациях, собранных от множества знатоков Linux. А именно, я спросил у наших основных разработчиков об их любимых Linux-командах, после чего меня буквально завалили ценными сведениями. А именно, речь идёт о 46 командах, некоторые из которых отличает тот факт, что о них рассказало несколько человек.
В данной серии статей будут представлены все эти команды, разбитые по категориям. Первые 7 команд, которым и посвящена эта статья, направлены на работу с сетью.
Команда ip
Команда ip — это один из стандартных инструментов, который необходим любому системному администратору для решения его повседневных задач — от настройки новых компьютеров и назначения им IP-адресов, до борьбы с сетевыми проблемами существующих систем. Команда ip может выводить сведения о сетевых адресах, позволяет управлять маршрутизацией трафика и, кроме того, способна давать данные о различных сетевых устройствах, интерфейсах и туннелях.
Синтаксис этой команды выглядит так:
Самое важное тут — это (подкоманда). Здесь можно использовать, помимо некоторых других, следующие ключевые слова:
- address — адрес протокола (IPv4 или IPv6) на устройстве.
- tunnel — IP-туннель.
- route — запись таблицы маршрутизации.
- rule — правило в базе данных политики маршрутизации.
- vrf — управление виртуальными устройствами маршрутизации и перенаправления трафика.
- xfrm — управление IPSec-политикой.
Ниже приведены примеры, демонстрирующие распространённые сценарии использования команды ip .
Вывод IP-адресов, назначенных интерфейсу на сервере:
Назначение IP-адреса интерфейсу, например — enps03 :
Удаление IP-адреса из интерфейса:
Изменение статуса интерфейса, в данном случае — включение eth0 :
Изменение статуса интерфейса, в данном случае — выключение eth0 :
Изменение статуса интерфейса, в данном случае — изменение MTU eth0 :
Изменение статуса интерфейса, в данном случае — перевод eth0 в режим приёма всех сетевых пакетов:
Добавление маршрута, используемого по умолчанию (для всех адресов), через локальный шлюз 192.168.1.254, который доступен на устройстве eth0 :
Добавление маршрута к 192.168.1.0/24 через шлюз на 192.168.1.254:
Добавление маршрута к 192.168.1.0/24, который доступен на устройстве eth0 :
Удаление маршрута для 192.168.1.0/24, для доступа к которому используется шлюз 192.168.1.254:
Вывод маршрута к IP 10.10.1.4:
Команда ifconfig
Команда ifconfig до определённого времени представляла собой один из основных инструментов, используемых многими системными администраторами для настройки сетей и решения сетевых проблем. Теперь ей на замену пришла команда ip , о которой мы только что говорили. Но если вас, всё же, интересует эта команда, можете взглянуть на данный материал.
Команда mtr
MTR (Matt’s traceroute) — это программа, работающая в режиме командной строки, представляющая собой инструмент для диагностики сетей и устранения сетевых неполадок. Эта команда совмещает в себе возможности ping и traceroute . Она, как traceroute , может выводить сведения о маршруте, по которому сетевые данные идут от одного компьютера к другому. Она выводит массу полезных сведений о каждом шаге маршрутизации, например — время ответа системы. Благодаря использованию команды mtr можно получить довольно подробные сведения о маршруте, можно обнаружить устройства, которые вызывают проблемы при прохождении данных по сети. Если, например, наблюдается рост времени ответа системы, или рост числа потерянных пакетов, это позволяет с уверенностью говорить о том, что где-то между исследуемыми системами возникла проблема с сетевым соединением.
Синтаксис команды выглядит так:
Рассмотрим несколько распространённых способов применения mtr .
Если вызвать эту команду, указав лишь имя или адрес хоста — она выведет сведения о каждом шаге маршрутизации. В частности — имена хостов, сведения о времени их ответа и о потерянных пакетах:
Вот — вариант использования mtr , когда вместо имён хостов выводятся их IP-адреса (речь идёт о ключе -g , благодаря которому вместо имён выводятся числовые IP-адреса):
А следующий вариант команды позволяет выводить и имена, и IP-адреса хостов:
Так можно задать количество ping-пакетов, которые нужно отправить системе, маршрут к которой подвергается анализу:
А так можно получить отчёт, содержащий результаты работы mtr :
Вот — ещё один вариант получения такого отчёта:
Для того чтобы принудительно использовать TCP вместо ICMP — надо поступить так:
А вот так можно использовать UDP вместо ICMP:
Вот — вариант команды, где задаётся максимальное количество шагов маршрутизации:
Так можно настроить размер пакета:
Для вывода результатов работы mtr в формате CSV используется такая команда:
Вот — команда для вывода результатов работы mtr в формате XML:
Команда tcpdump
Утилита tcpdump предназначена для захвата и анализа пакетов.
Установить её можно так:
Прежде чем приступить к захвату пакетов, нужно узнать о том, какой интерфейс может использовать эта команда. В данном случае нужно будет применить команду sudo или иметь root-доступ к системе.
Если нужно захватить трафик с интерфейса eth0 — этот процесс можно запустить такой командой:
Или — такой, с указанием (через ключ -c ) количества пакетов, которые нужно захватить:
▍ Захват трафика, идущего к некоему хосту и от него
Можно отфильтровать трафик и захватить лишь тот, который приходит от определённого хоста. Например, чтобы захватить пакеты, идущие от системы с адресом 8.8.8.8 и уходящие к этой же системе, можно воспользоваться такой командой:
Для захвата трафика, идущего с хоста 8.8.8.8, используется такая команда:
Для захвата трафика, уходящего на хост 8.8.8.8, применяется такая команда:
▍ Захват трафика, идущего в некую сеть и из неё
Трафик можно захватывать и ориентируясь на конкретную сеть. Делается это так:
Ещё можно поступить так:
Можно, кроме того, фильтровать трафик на основе его источника или места, в которое он идёт.
Вот — пример захвата трафика, отфильтрованного по его источнику (то есть — по той сети, откуда он приходит):
Вот — захват трафика с фильтрацией по сети, в которую он направляется:
▍ Захват трафика, поступающего на некий порт и выходящего из некоего порта
Вот пример захвата трафика только для DNS-порта по умолчанию (53):
Захват трафика для заданного порта:
Захват только HTTPS-трафика:
Захват трафика для всех портов кроме 80 и 25:
Команда netstat
Инструмент netstat используется для вывода сведений о сетевых соединениях и таблицах маршрутизации, данных о работе сетевых интерфейсов, о masquerade-соединениях, об элементах групп многоадресной рассылки. Эта утилита является, как и ifconfig , частью пакета net-tools . В новом пакете iproute2 для достижения тех же целей используется утилита ss .
Если в вашей системе netstat отсутствует, установить эту программу можно так:
Ей, в основном, пользуются, вызывая без параметров:
В более сложных случаях её вызывают с параметрами, что может выглядеть так:
Можно вызывать netstat и с несколькими параметрами, перечислив их друг за другом:
Для вывода сведений обо всех портах и соединениях, вне зависимости от их состояния и от используемого протокола, применяется такая конструкция:
Для вывода сведений обо всех TCP-портах применяется такой вариант команды:
Если нужны данные по UDP-портам — утилиту вызывают так:
Список портов любых протоколов, ожидающих соединений, можно вывести так:
Список TCP-портов, ожидающих соединений, выводится так:
Так выводят список UDP-портов, ожидающих соединений:
А так — список UNIX-портов, ожидающих соединений:
Вот — команда для вывода статистических сведений по всем портам вне зависимости от протокола:
Так выводятся статистические сведения по TCP-портам:
Для просмотра списка TCP-соединений с указанием PID/имён программ используется такая команда:
Для того чтобы найти процесс, который использует порт с заданным номером, можно поступить так:
Команда nslookup
Команда nslookup используется для интерактивного «общения» с серверами доменных имён, находящимися в интернете. Она применяется для выполнения DNS-запросов и получения сведений о доменных именах или IP-адресах, а так же — для получения любых других специальных DNS-записей.
Рассмотрим распространённые примеры использования этой команды.
Получение A-записи домена:
Просмотр NS-записей домена:
Выяснение сведений о MX-записях, в которых указаны имена серверов, ответственных за работу с электронной почтой:
Обнаружение всех доступных DNS-записей домена:
Проверка использования конкретного DNS-сервера (в данном случае запрос производится к серверу имён ns1.nsexample.com ):
Проверка A-записи для выяснения IP-адресов домена — это распространённая практика, но иногда нужно проверить то, имеет ли IP-адрес отношение к некоему домену. Для этого нужно выполнить обратный просмотр DNS:
Команда ping
Команда ping — это инструмент, с помощью которого проверяют, на уровне IP, возможность связи одной TCP/IP-системы с другой. Делается это с использованием эхо-запросов протокола ICMP (Internet Control Message Protocol Echo Request). Программа фиксирует получение ответов на такие запросы и выводит сведения о них вместе с данными о времени их приёма-передачи. Ping — это основная команда, используемая в TCP/IP-сетях и применяемая для решения сетевых проблем, связанных с целостностью сети, с возможностью установления связи, с разрешением имён.
Эта команда, при простом способе её использования, принимает лишь один параметр: имя хоста, подключение к которому надо проверить, или его IP-адрес. Вот как это может выглядеть:
В данном случае работу команды ping можно остановить, воспользовавшись сочетанием клавиш CTRL+C . В противном случае она будет выполнять запросы до тех пор, пока её не остановят. После каждой ping-сессии выводятся сводные данные, содержащие следующие сведения:
- Min — минимальное время, которое требуется на получение ответа от пингуемого хоста.
- Avg — среднее время, которое требуется на получение ответа.
- Max — максимальное время, которое требуется на получение ответа.
Кроме того, среди данных, выводимых программой о пакетах, есть такой параметр, как TTL (Time To Live, время жизни пакета). Тут используются числовые значения TTL, указывающие на то, сколько шагов маршрутизации может пройти пакет. Это значение ещё известно как «лимит переходов» (hop limit).
Обычно, если запустить команду ping в её простом виде, не передавая ей дополнительные параметры, Linux будет пинговать интересующий пользователя хост без ограничений по времени. Если нужно изначально ограничить количество ICMP-запросов, например — до 10, команду ping надо запустить так:
А для того чтобы увидеть лишь итоговый отчёт работы ping — можно воспользоваться ключом -q :
В системах с несколькими сетевыми интерфейсами можно задавать конкретный интерфейс, которым должна пользоваться команда ping . Например, есть компьютер, имеющий интерфейсы eth0 и eth1 . Если нужно, чтобы команда ping использовала бы интерфейс eth0 — надо запустить её так:
Или можно указать адрес интерфейса. В данном случае речь идёт об IP-адресе 10.233.201.45:
Применяя эту команду, можно указать и то, какую версию протокола IP использовать — v4 или v6:
В процессе работы с утилитой ping вы столкнётесь с различными результатами. В частности, это могут быть сообщения о нештатных ситуациях. Рассмотрим три таких ситуации.
▍ Destination Host Unreachable
Вероятной причиной получения такого ответа является отсутствие маршрута от локальной хост-системы к целевому хосту. Или, возможно, это удалённый маршрутизатор сообщает о том, что у него нет маршрута к целевому хосту.
▍ Request timed out
Если результат работы ping выглядит именно так — это значит, что локальная система не получила, в заданное время, эхо-ответов от целевой системы. По умолчанию используется время ожидания ответа в 1 секунду, но этот параметр можно настроить. Подобное может произойти по разным причинам. Чаще всего это — перегруженность сети, сбой ARP-запроса, отбрасывание пакетов фильтром или файрволом и прочее подобное.
▍ Unknown host/Ping Request Could Not Find Host
Такой результат может указывать на то, что неправильно введено имя хоста, или хоста с таким именем в сети просто не существует.
О хорошем качестве связи между исследуемыми системами говорит уровень потери пакетов в 0%, а так же — низкое значение времени получения ответа. При этом в каждом конкретном случае время получения ответа варьируется, так как оно зависит от разных параметров сети. В частности — от того, какая среда передачи данных используется в конкретной сети (витая пара, оптоволокно, радиоволны).
Итоги
Надеемся, вам пригодятся команды и примеры их использования, о которых мы сегодня рассказали. А если они вам и правда пригодились — возможно, вам будет интересно почитать продолжение этого материала.
Источник