- Команда ifconfig в Linux
- Linux ifconfig Command
- В этой статье мы рассмотрим, как использовать ifconfig команду.
- Как установить ifconfig
- Установить ifconfig на Ubuntu / Debian
- Установить ifconfig на Centos
- Как использовать ifconfig команду
- Отображение информации о сетевых интерфейсах
- Назначьте IP-адрес и маску сети сетевому интерфейсу
- Включение и отключение сетевого интерфейса
- Включение и отключение беспорядочного режима
- Изменить MTU сетевого интерфейса
- Изменить MAC-адрес сетевого интерфейса
- Вывод
- Настройка сети в Linux – команда ifconfig
- Как работает ifconfig
- Синтаксис и основные опции
- Ручная настройка сети в Linux
- Привязка интерфейса к карте
- ifcfg
- route
- Ручная настройка сети в ArchLinux
- Ручная настройка сети в Ubuntu
- Ручная настройка сети в CentOS 6
- Общие настройки сети
- Конфигурация интерфейса
- Настройка DNS
- Настройка брандмауэра
- Команда ifconfig — примеры использования
- Установка ifconfig
- Синтаксис ifconfig
- Примеры использования ifconfig
- Выводы
Команда 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 .
Источник
Настройка сети в Linux – команда ifconfig
В системах Linux, как и в остальных операционных системах (ОС) предусмотрены широкие возможности для организации сетей. В частности, необходимо конфигурировать сетевые интерфейсы для построения сети на сетевом уровне. С этой задачей успешно справляется команда ifconfig. Она предназначена для выполнения отключений/подключений сетевых интерфейсов, а также указания IP-адресов, масок подсетей, протоколов и других параметров работы сети.
Как работает ifconfig
При старте системы, на этапе начальной загрузки (в большинстве случаев) выполняется запуск ifconfig. При этом в качестве аргументов используются данные из конфигурационного файла по-умолчанию, либо переопределённые администратором/пользователем.
Если при запуске команды, получите ошибку «bash: ifconfig: команда не найдена», то необходимо установить пакет net-tools
Для указания самого сетевого интерфейса в команде ifconfig используются имена, состоящие из двух или трёх символов, за которыми следует цифра, например: ln0, lo, lan0, eth0, ie0, we0 и т. д., однако в современных Linux-дистрибутивах всё чаще встречаются и более длинные наименования сетевых интерфейсов. Интерфейс lo в Linux обозначает интерфейс с обратной связью. Чтобы узнать, какие в системе используются сетевые интерфейсы, достаточно просто дать команду ifconfig, но стоит помнить, что в этом случае будут выведены только активные или включенные сети, т. е. если, к примеру в системе отключен какой-либо сетевой интерфейс (модуль беспроводной связи Wi-Fi/Bluetooth, например), то он в этом случае выведен не будет. Для получения списка всех сетевых интерфейсов, известных системе с их настройками нужно использовать команду ifconfig -a. Чтобы получить сведения о конкретном интересующем интерфейсе, следует явно указать в команде ifconfig его наименование:
В данном выводе флаг RUNNING указывает, что eth1 является активным — т. е. имеет активные соединения и пропускает трафик. Флаг BROADCAST означает широковещательное соединение. Другими важными сведениями являются IP-адреса в семействах протоколов IPv4 (inet), IPv6 (inet6), подсеть — netmask, а также диапазон широковещательного соединения broadcast. Для анализа активности служат строки RX/TX.
Синтаксис и основные опции
В большинстве UNIX-подобных систем (в том числе и Linux) команда ifconfig имеет следующий синтаксис:
Так, например, следующая команда:
задаст IP-адрес 192.168.0.100 для устройства eno1, используемого соответствующей сетевой картой, назначит подсеть для данного узла с помощью опции netmask и задействует его — опцией up. В данном случае параметр [семейство] не задан, т. к. по-умолчанию используется inet – протокол IPv4. Для одного интерфейса можно задавать несколько протоколов, но конфигурировать их нужно по отдельности. В качестве адреса можно также использовать и имена узлов. Опция up в данном примере задана явно, хотя при назначении адреса его активация/включение происходит по-умолчанию. Для отключения используется опция down.
Для команды ifconfig существует много опций и многие из них требуют дополнительных параметров, которые вводятся сразу после имени опции через символ пробела. Вот некоторые из них:
Источник
Ручная настройка сети в 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
Источник
Команда ifconfig — примеры использования
Команда ifconfig очень долго использовалась для настройки сети в операционных системах семейства Linux. С помощью нее вы можете включать или выключать сетевые интерфейсы, настраивать их параметры, переключать режимы и многое другое. Потом была разработана утилита ip, которая содержит больше функций, и имеет совсем другой синтаксис.
Но многие пользователи привыкли использовать ifconfig, тем более, что ее синтаксис более простой. Прочитать про утилиту ip вы можете в статье утилита ip в Linux. В этой же статье мы рассмотрим как используется ее более старый аналог — утилита ifconfig linux.
Установка ifconfig
С появлением утилиты ip, ifconfig была удалена из многих дистрибутивов. Но в большинстве она все еще поставляется по умолчанию. Установка ifconfig в Ubutnu выполняется командой:
sudo apt install net-tools
sudo pacman -S net-tools
Синтаксис ifconfig
Утилита ifconfig имеет очень простой синтаксис при вызове без параметров, она возвратит список подключенных к системе сетевых интерфейсов и их характеристики, например, ip адрес, адрес шлюза, размер пакета, частоту для беспроводных сетей и другие параметры. Если указать интерфейс и нужные команды, то можно изменять различные настройки интерфейса. Вот сам синтаксис:
$ ifconfig опции интерфейс команда параметры адрес
Интерфейс — это сетевой интерфейс, о котором вы хотите посмотреть информацию или изменить его параметры. Все это можно сделать с помощью команд. Давайте рассмотрим основные из них:
- up — включить интерфейс;
- down — выключить интерфейс;
- (-)arp — включить или выключить использование протокола ARP для интерфейса;
- (-)promisc — включить или выключить неразборчивый режим для интерфейса;
- (-)allmulti — включить или выключить режим multicast;
- metric — изменить параметр metric;
- mtu — изменить максимальный размер пакета;
- netmask — установить маску сети;
- add — добавить ip адрес для интерфейса;
- del — удалить ip адрес интерфейса;
- media — установить тип внешнего протокола;
- [-]broadcast — установить широковещательный адрес или отключить эту функцию;
- hw — установить MAC адрес для интерфейса;
- txqueuelen — размер очереди интерфейса;
Параметры и адрес необязательны и зависят от используемой команды. А опции влияют на поведение утилиты более глобально. Опций всего несколько, рассмотрим их:
- -a — применять команду ко всем интерфейсам, например, полезно, если вы хотите отключить или включить все сетевые интерфейсы;
- -s — вывести краткий список интерфейсов.
Обратите внимание, что для использования утилиты вам понадобятся права суперпользователя. А теперь давайте рассмотрим несколько примеров.
Примеры использования ifconfig
Для начала давайте просмотрим список интерфейсов, подключенных к вашей системе и активированных в данный момент. Для этого достаточно выполнить команду без параметров:
Вы можете вывести только информацию про определенный интерфейс, например, про eth0:
sudo ifconfig eth0
Чтобы посмотреть список интерфейсов с минимальной информацией о них используйте опцию -s:
sudo ifconfig -s
С помощью опции -a вы можете вывести все интерфейсы, даже те, которые сейчас отключены:
sudo ifconfig -a
Чтобы включить интерфейс используется команда ifconfig eth0 up:
sudo ifconfig eth0 up
Чтобы отключить — down:
sudo ifconfig eth0 down
Вы можете получить более подробную информацию об ошибках с помощью опции -v:
sudo ifconfig -v
Включить поддержку протокола ARP для интерфейса:
sudo ifconfig eth0 arp
Отключить поддержку ARP:
sudo ifconfig eth0 -arp
Включить неразборчивый режим, в котором интерфейс принимает все, проходящие через него пакеты:
sudo ifconfig eth0 promisc
А чтобы отключить:
sudo ifconfig eth0 -promisc
С помощью команды netmask вы можете установить маску сети для интерфейса:
sudo ifconfig eth0 netmask 255.255.255.0
Чтобы добавить ip адрес для интерфейса используйте просто укажите его после интерфейса:
sudo ifconfig eth0 192.168.1.11
Команда broadcast позволяет установить широковещательный адрес:
sudo ifconfig eth0 broadcast 192.168.1.255
С помощью команды hw вы можете установить аппаратный адрес или так называемый, MAC адрес. Здесь, кроме самого адреса нужно указать тип сети. Это ether для проводного подключения Ethernet, ax25 (AMPR AX.25), ARCnet и netrom (AMPR NET/ROM). Например:
sudo ifconfig eth0 hw ether BC:AE:C5:BE:8B:B7
С помощью mtu вы можете изменить максимальный размер пакета:
sudo ifconfig eth0 mtu 1000
Это были все основные примеры. В отличие от ip, команда ifconfig не содержит всех необходимых возможностей для полноценной настройки сети и поэтому вам еще придется использовать такие утилиты, как route или arp.
Фактически, настройка ifconfig сети будет выполняться в несколько команд. Допустим, мы будем настраивать интерфейс eth0:
sudo ifconfig eth0 up
$ sudo ifconfig eth0 add 192.168.1.10
$ sudo ifconfig eth0 netmask 255.255.255.0
$ sudo ifconfig eth0 broadcast 192.168.1.255
$ sudo route add default gw 192.168.1.1
Здесь мы используем ip адрес для компьютера 192.168.1.10, сетевую маску 255.255.255.0 и шлюз для выхода в сеть 192.168.1.1. После этих настроек осталось указать сервер DNS и интернет должен работать.
Выводы
В этой статье мы рассмотрели как работает команда ifconfig и что с ее помощью мы можем настроить. Я, как и раньше рекомендую использовать утилиту ip, так как она новее, и применяется в большинстве дистрибутивов по умолчанию. Но Linux — свободная система и вы можете использовать те инструменты, которые вам нравятся.
Источник