- Настройка сети в Linux – команда ifconfig
- Как работает ifconfig
- Синтаксис и основные опции
- Ifconfig примеры
- Похожие записи:
- Настройка сети linux ifconfig
- NAME
- SYNOPSIS
- DESCRIPTION
- OPTIONS
- Сетевые настройки Linux
- Переходим к сетевым настройкам Linux
- Вариант № 1. Сетевые настройки дистрибутивов, основанных на Debian (Ubuntu, Kubuntu и прочие)
- Вариант № 2. RedHat-based дистрибутивы (OpenSuse, CentOS, Fedora)
- Вместо поскриптума
Настройка сети в 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 его наименование:
$ ifconfig eth0
В данном выводе флаг RUNNING указывает, что eth1 является активным — т. е. имеет активные соединения и пропускает трафик. Флаг BROADCAST означает широковещательное соединение. Другими важными сведениями являются IP-адреса в семействах протоколов IPv4 (inet), IPv6 (inet6), подсеть — netmask, а также диапазон широковещательного соединения broadcast. Для анализа активности служат строки RX/TX.
Синтаксис и основные опции
В большинстве UNIX-подобных систем (в том числе и Linux) команда ifconfig имеет следующий синтаксис:
ifconfig интерфейс [семейство] адрес опции . . .
Так, например, следующая команда:
ifconfig eno1 192.168.0.100 netmask 255.255.255.0 up
задаст IP-адрес 192.168.0.100 для устройства eno1, используемого соответствующей сетевой картой, назначит подсеть для данного узла с помощью опции netmask и задействует его — опцией up. В данном случае параметр [семейство] не задан, т. к. по-умолчанию используется inet – протокол IPv4. Для одного интерфейса можно задавать несколько протоколов, но конфигурировать их нужно по отдельности. В качестве адреса можно также использовать и имена узлов. Опция up в данном примере задана явно, хотя при назначении адреса его активация/включение происходит по-умолчанию. Для отключения используется опция down.
Для команды ifconfig существует много опций и многие из них требуют дополнительных параметров, которые вводятся сразу после имени опции через символ пробела. Вот некоторые из них:
Добавляет адрес для сетевого интерфейса.
Удаляет адрес для сетевого интерфейса.
Устанавливает начальный адрес для ввода-вывода сетевого устройства.
Задаёт способ получения IP-адреса. В качестве параметров используются static или dhcp.
Задаёт физический порт для использования сетевым устройством. Обычно в качестве значений используются 10base2 – коаксиальный Ethernet-кабель, 10baseT – витая пара до 10 Мбит/сек или AUX – внешний передатчик.
Включает указанный сетевой интерфейс или перезапускает его, если он был до этого отключен опцией down.
Отключает сетевой интерфейс, при этом вся информация о маршрутах, связанная с этим интерфейсом сохраняется.
Задаёт подсеть с помощью маски.
Используется для организации point-to-point соединений, в качестве параметра передаётся адрес.
Задаёт широковещательный адрес.
Задаёт номер прерывания для устройства сетевого интерфейса.
Обычно используется для задания метрического значения в записи таблицы маршрутизации.
Задаёт максимальную длину передаваемого пакета (MTU), по-умолчанию равно 1500 для Ethernet и 296 для SLIP
Позволяет использовать протокол ARP для поиска физического адреса устройства в сети. Включен по-умолчанию для широковещательных сетей. О выключенном ARP говорит флаг NOARP в выводе ifconfig.
Отключает использование ARP для выбранного интерфейса/устройства.
Заставляет выбранный интерфейс получать все пакеты, независимо от того, предназначены они для него или нет. Полезно для анализа сетевого трафика и выявления проблем с сетью. При этом удобно использовать утилиту tcpdump. При активации режима promiscuous в выводе ifconfig присутствует флаг PROMISC для данного интерфейса.
Отключает режим promiscuous для сетевого интерфейса.
Включает режим multicast, разрешая multicast-адреса. Этот режим позволяет обращаться к устройствам, которые могут находиться в разных подсетях — очень полезно при организации голосовой связи и конференций. Может не поддерживаться сетевой картой.
Задаёт аппаратный (MAC) для сетевого устройства. Необходимо также указывать класс устройства: ether – для Ethernet, netrom – для AMPR NET/ROM, ax25 – для AMPR AX.25. Может не поддерживаться драйвером устройства.
Запрещает режим multicast.
Ifconfig примеры
Включение и отключение сетевого интерфейса на примере eth0 и eno1:
Изменение параметра MTU для eth0:
Задание MAC-адреса для eth0:
$ ifconfig eth0 hw ether AA:BB:CC:DD:EE:FF
Настройка PLIP-интерфейса для связи компьютера с IP-адресом 10.24.205.18 c компьютером, у которого IP-адрес 10.24.105.20:
$ ifconfig plip0 10.24.205.18 pointopoint 10.24.105.20
Назначение IP-адреса сетевой карте eth0:
$ ifconfig eth0 del 10.24.205.18
Задание IP-адреса, подсети, и широковещательного адреса для eth0:
$ ifconfig eth0 10.24.205.18 netmask 255.255.255.0 broadcast 10.24.205.10
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Похожие записи:
Настройка сети linux ifconfig
NAME
ifconfig — configure network interfaces
SYNOPSIS
ifconfig [option . ] name [addr] [broadcast brdaddr] [ pointopoint | dstaddr > dstaddr] [netmask mask] [ ether | hwaddr | lladdr > macaddr] [metric n] [mtu n] [txqueuelen n] [up | down] [flags]
DESCRIPTION
Configure network interfaces. Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options. Known flags are: allmulti, arp, automedia, broadcast, debug, dynamic, master, multicast, pointopoint, portsel, promisc, slave, trailers, up. Prepending no to any of these flags will negate their effect.
OPTIONS
-a, --all Display all available interfaces. -A, --address addr Set the interface address to addr. -B, --broadcast addr -b, --brdaddr addr Set the broadcast address to addr. -d, --dstaddr addr -p, --peer addr Set the destination (peer) address to addr. --up Activate the interface (default if address is given). --down Shut the interface down. -F, --flags flag,[flag . ] Set the interface flags. -i, --interface name Configure the network interface name. -l, --list List the available or selected interfaces. -m, --netmask mask Set the netmask to mask. --metric n Set the interface metric to n. -M, --mtu n Set the interface MTU to n. --format format Select the output format; set to help for information. -s, --short Short output format. -v, --verbose Output information when configuring the interface. -?, --help Give this help list. --usage Give a short usage message. -V, --version Print program version. Linux-specific options: -T, --txqlen n Set the transmit queue length to n.
© 2019 Canonical Ltd. Ubuntu and Canonical are registered trademarks of Canonical Ltd.
Сетевые настройки Linux
В этой статье поговорим о настройках сетевого подключения в Linux. Расскажем про команду ifconfig. Посмотрим, как настраивать дистрибутивы Ubuntu, CentOS и прочие).
Перед началом настройки сетевого подключения в Linux нужно сначала проверить, каковы текущие настройки сети. Для этого нам вполне подойдёт команда ifconfig. В принципе, для получения информации мы можем использовать её и без прав ROOT, но если хотим получить привилегии суперпользователя, вводим sudo ifconfig. Результатом выполнения команды станет получение списка имеющихся сетевых подключений и их параметров:
Итак, мы видим, что на нашем компьютере используются два сетевых интерфейса: eth0 и lo. Давайте рассмотрим их подробнее.
Интерфейс lo является локальной петлёй, имеющей IP-адрес 127.0.0.1. Она предназначена для обеспечения сетевого доступа к компьютеру. В принципе, этот интерфейс не требует дополнительных настроек.
Что касается интерфейса eth0, то это не что иное, как Ethernet — сетевая карта, имеющая следующие сетевые параметры: — 192.168.1.18 — это IP-адрес; — 255.255.0.0 — маска сети; — 00:11:5b:91:25:3e — MAC-адрес.
При этом значение RUNNING показывает нам, что в данный момент наш сетевой интерфейс eth0 работает. Кстати, нужно понимать, что в различных версиях Linux имя сетевого интерфейса может быть разным — eth0, eth1, eth2 и т. д.
Если хотим посмотреть тип соединения, скорость и поддерживаемые параметры, набираем:
Из него мы видим, что скорость работы сетевого Linux-интерфейса eth0 — 100 Мб/с с Full Duplex (включённым полным дуплексом). Тут можно уточнить, что полный дуплекс отличается от полудуплекса (Half Duplex) тем, что обеспечивает передачу входящих и исходящих данных одновременно, а не поочередно.
Переходим к сетевым настройкам Linux
Узнав информацию о текущих подключениях, можно переходить к настройкам локальной сети в Linux. У нас есть 3 способа сделать это: — через графическую оболочку; — используя команду ifconfig либо инструмент Network Manager; — используя конфигурационные файлы сетевого сервиса Network либо Networking.
В принципе, последний способ считается одним из самых удобных и надёжных. Чтобы настроить сеть в Linux, нужно открыть файл, который содержит конфигурацию интерфейса. Здесь всё будет зависеть от того, какой именно Linux-дистрибутив используется.
Вариант № 1. Сетевые настройки дистрибутивов, основанных на Debian (Ubuntu, Kubuntu и прочие)
Файл с параметрами сетевых подключений здесь:
Чтобы поменять в Linux настройки сети, файл надо открыть с root-правами любым текстовым редактором. Например, используя nano:
sudo nano /etc/network/interfacesЧтобы обеспечить автоматическое получение адресов от DHCP-сервера, нужно прописать:
allow-hotplug eth0 iface eth0 inet dhcpЕсли же адрес нужно прописать статически, указываем:
allow-hotplug eth0 iface eth0 inet static address 192.168.1.2 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 192.168.1.1В этой конфигурации мы рассмотрели лишь пример обычной домашней сети, в которой адрес компьютера 192.168.1.2, а адрес DNS-сервера и шлюза (их функции обычно выполняет wifi-роутер) — 192.168.1.1.
Вариант № 2. RedHat-based дистрибутивы (OpenSuse, CentOS, Fedora)
Наш файл с настройками сети Linux находится здесь:
/etc/sysconfig/network-scripts/ifcfg-eth0Мы открываем его с помощью nano или vim:
vim /etc/sysconfig/network-scripts/ifcfg-eth0Если нужно обеспечить автоматическое получение настроек от DHCP-сервера:
DEVICE=eth0 BOOTPROTO=dhcp HWADDR=00-1C-1B-11-F6-07 ONBOOT=yesА вот статический IP-адрес:
DEVICE=eth0 HWADDR=00-1C-1B-11-F6-07 IPADDR=192.168.1.2 NETMASK=255.255.255.0 BROADCAST=192.168.1.255 GATEWAY=192.168.1.1 ONBOOT=yesВ этом случае IP-адреса DNS-серверов прописываются в файле:
Вот, к примеру, для публичных DNS-серверов от Google:
nameserver 8.8.8.8 nameserver 8.8.4.4В принципе, это всё, и настройка сети в Linux завершилась. Осталось лишь выполнить перезапуск сети:
Вместо поскриптума
Если нужно выключить и включить сеть в операционной системе Linux, используем всё ту же известную нам команду ifconfig.
Например, следующей командой мы выключим сетевую карту eth0:
А вот команда, включающая сетевую плату в Linux:
Также мы можем полностью остановить работу сетевых интерфейсов:
Теперь включаем всё обратно:
На этом всё. Если хотите получить более профессиональные навыки Linux-администрирования, добро пожаловать на специальный курс в OTUS: