- Сетевые команды
- Аналог ipconfig в linux
- Команда ifconfig — примеры использования
- Установка ifconfig
- Синтаксис ifconfig
- Примеры использования ifconfig
- Выводы
- ifconfig или ip: в чем разница и их сравнение
- Команда ip — замена для команды ifconfig
- Команды ip и ifconfig
- 1. Отображение всех сетевых интерфейсов в Linux
- 2. Добавление или удаление IP-адреса в Linux
- 4. Добавление физического адрес (MAC) в сетевой интерфейс
- 4. Настройка иных конфигураций сетевого интерфейса
Сетевые команды
Примечание: Обратите внимение, что это не официальная документация, а попытка начинающего админа объяснить материал начинающим админам.
При миграции с Windows на Linux первое время непривычно пользоваться системой из-за отличающихся сетевых команд. На данной странице будет список аналогов Win-Lin команд.
Команда Win | Команда Lin | Назначение | Пакет | Использование в Linux |
---|---|---|---|---|
ping | ping | Проверка доступности сети и ее качества | iputils | ping ya.ru ping 8.8.8.8 |
tracert | tracepath | Определение маршрута сетевых пакетов | iputils | tracepath ya.ru tracepath 8.8.8.8 |
traceroute | traceroute | traceroute ya.ru traceroute 8.8.8.8 | ||
arp -a | arp | Просмотр ARP-таблицы | net-tools | arp arp -a |
ipconfig | ifconfig | Просмотр IP-адресов сетевых карт | net-tools | ifconfig |
ip | iproute2 | ip a | ||
nslookup | nslookup | Просмотр IP-адреса по доменному имени | bind-utils | nslookup ya.ru |
host | host ya.ru | |||
echo %COMPUTERNAME% | hostname | Просмотр сетевого имени компьютера | coreutils | hostname |
netstat | netstat | Просмотр активных сетевых соединений | net-tools | netstat -a |
whois | Получение информации об IP-адресе и домене | whois | whois ya.ru | |
route print | route | Просмотр таблицы маршрутизации | net-tools | route -n |
ip | iproute2 | ip route show ip r ip neighbour |
Аналог ipconfig в linux
Предположим, понадобилось Вам освободить сетевой интерфейс, а перезагружать компьютер как-то нет особого желания. В MS Windows все это делалось отключением сетевого устройства в окне «Сетевые подключения» и последующим включением его обратно. Это в графическом интерфейсе. Через командную же строку (cmd.exe ) данная цель достигалась двумя командами:
ipconfig /release — освобождение интерфейса, и ipconfig /renew — обращение к DHCP-серверу в сети и получение нового ip-адреса. Но данные команды успешно работают в Windows, а как быть в Linux? А в Linux используется команда dhclient.
Для освобождения сетевого интерфейса (аналог ipconfig /release в Windows) необходимо использовать следующую команду: Аналог команды ipconfig /renew выглядит просто: После этого, как правило (в CentOS, Ubuntu или в Debian, к примеру) не требуется перезагружать сеть, однако, если после выполненной команды ip-адрес не будет получен, то можно выполнить следующее: Источник
Команда ifconfig — примеры использования
Команда ifconfig очень долго использовалась для настройки сети в операционных системах семейства Linux. С помощью нее вы можете включать или выключать сетевые интерфейсы, настраивать их параметры, переключать режимы и многое другое. Потом была разработана утилита ip, которая содержит больше функций, и имеет совсем другой синтаксис. Но многие пользователи привыкли использовать ifconfig, тем более, что ее синтаксис более просто. Прочитать про утилиту ip вы можете в статье утилита ip в Linux. В этой же статье мы рассмотрим как используется ее более старый аналог — утилита ifconfig linux.
Установка ifconfig
С появлением утилиты ip, ifconfig была удалена из многих дистрибутивов. Но в большинстве она все еще поставляется по умолчанию. Установка ifconfig в Ubutnu выполняется командой:
Синтаксис 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:
Чтобы посмотреть список интерфейсов с минимальной информацией о них используйте опцию -s:
С помощью опции -a вы можете вывести все интерфейсы, даже те, которые сейчас отключены:
Чтобы включить интерфейс используется команда ifconfig eth0 up:
Чтобы отключить — down:
Вы можете получить более подробную информацию об ошибках с помощью опции -v:
Включить поддержку протокола 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 — свободная система и вы можете использовать те инструменты, которые вам нравятся.
ifconfig или ip: в чем разница и их сравнение
В дистрибутивах на основе Linux имеется набор команд, которые обеспечивают простой и эффективный способ настройки сети через командную строку. Этот набор команд доступен из пакета net-tools, который был там в течение долгого времени почти во всех дистрибутивах, и включает такие команды, как: ifconfig, route, nameif, iwconfig, iptunnel, netstat, arp и другие.
Этих команд вполне достаточно для настройки сети так, как это необходимо любому новичку или опытному пользователю Linux, но из-за прогресса в ядре Linux за последние годы и невозможности использования этого набора команд они становятся устаревшими и уступают своё место более мощным командам. Появилась альтернатива, которая может заменить все эти команды.
Эта альтернатива также существует уже довольно давно и является гораздо более мощной, чем любая из этих команд. Во всех разделах этой статьи мы расскажем вам об этой альтернативе и сравним её с одной из команд из пакета net-tools, то есть ifconfig.
Команда ip — замена для команды ifconfig
ifconfig ипользовался и до сих пор используется для настройки, отображения и управления сетевыми интерфейсами многими пользователями, но теперь, в дистрибутивах Linux существует новая альтернатива, которая намного мощнее, чем ifconfig. Эта альтернатива — команда ip из пакета iproute2util.
Хотя эта команда может показаться немного сложной с первого взгляда, но она намного шире по функциональности, чем ifconfig. Команда ip функционально организована на двух уровнях сетевого стека, то есть на уровне 2 (канальный уровень), на уровне 3 (сетевой уровень) и выполняет работу всех вышеупомянутых команд из пакета net-tools.
Хотя ifconfig в основном отображает или изменяет интерфейсы системы, эта команда может выполнять следующие задачи:
- Отображение или изменение свойств интерфейса.
- Добавление, удаление записей ARPCache вместе с созданием новой записи StaticARP для узла.
- Отображение MAC-адресов, связанных со всеми интерфейсами.
- Отображение и изменение таблиц маршрутизации ядра.
Одним из основных моментов, который отличает команду ip от её предка — ifconfig, является то, что последняя использует ioctl для конфигурации сети, которая является менее ценным способом взаимодействия с ядром, в то время как первая команда использует механизм сокетов netlink, который является гораздо более гибким преемником ioctl для взаимодействия между ядром и пользовательским пространством с использованием rtnetlink (что добавляет возможность манипулирования сетевой средой).
Теперь мы можем обсудить функции ifconfig и их эффективную замену командой ip.
Команды ip и ifconfig
В следующем разделе описаны некоторые команды ifconfig и их замена с помощью команд ip:
1. Отображение всех сетевых интерфейсов в Linux
Здесь одна отличительная особенность между ip и ifconfig заключается в том, что если ifconfig показывает только включенные интерфейсы, ip показывает все интерфейсы, независимо от того, включены они или отключены.
Команда ifconfig
Команда ip
2. Добавление или удаление IP-адреса в Linux
Приведенная ниже команда назначает IP-адрес 192.168.80.174 интерфейсу eth0.
ifconfig — добавление / удаление IP-адреса
Синтаксис для добавления/удаления интерфейса с помощью команды ifconfig:
ip -добавление / удаление IP-адреса
Синтаксис для добавления / удаления интерфейса с помощью команды ip:
4. Добавление физического адрес (MAC) в сетевой интерфейс
Команда ниже устанавливает аппаратный адрес для интерфейса eth0 в значение, указанное в команде. Это можно проверить, проверив значение HWaddr в выходных данных команды ifconfig.
ifconfig — добавление MAC-адреса
Здесь показан синтаксис для добавления MAC-адреса с помощью команды ifconfig:
ip — добавление MAC-адреса
Здесь показан синтаксис для добавления MAC-адреса с помощью команды ip:
4. Настройка иных конфигураций сетевого интерфейса
Помимо настройки IP-адреса или физического адреса, другие конфигурации, которые могут быть применены к интерфейсу, включают в себя:
- MTU (максимальная единица передачи)
- Многоадресный флаг
- Длина очереди передачи
- Режим Promiscuous
- Включение или отключение всех режимов многоадресной рассылки