- Команды для работы с сетью в Linux
- Команда ifconfig — примеры использования
- Установка ifconfig
- Синтаксис ifconfig
- Примеры использования ifconfig
- Выводы
- Настройка сетевого интерфейса Linux
- Настройка сетевого интерфейса Linux
- 1. Синтаксис и опции ethtool
- 2. Установка ethtool
- 3. Информация про сетевые интерфейсы
- 4. Изменение настроек интерфейса
- 5. Просмотр драйвера
- 6. Статистика интерфейса
- 7. Управление светодиодом
- 8. Сохранение настроек
- Выводы
Команды для работы с сетью в Linux
– просмотр сетный информации
– просмотр информации беспроводных устройств
sudo iwlist scan
– исследовать беспроводные сети
sudo /etc/init.d/networking restart
– файл для прирученный настройки сети
— представить конфигурацию сетевого интерфейса eth0
— активировать (поднять) интерфейс eth0
— деактивировать (спустить) интерфейс eth0
ifconfig eth0 192.168.1.1 netmask 255.255.255.0
— выставить интерфейсу eth0 ip-адрес и маску подсети
ifconfig eth0 promisc
— перевести интерфейс eth0 в promiscuous-режим для «отлова» пакетов (sniffing)
ifconfig eth0 -promisc
— выключить promiscuous-режим на интерфейсе eth0
— активировать интерфейс eth0 в dhcp-режиме.
— вывести локальную матрицу маршрутизации
— вывести локальную таблицу маршрутизации
route add -net 0/0 gw IP_Gateway
— подать ip-адрес шлюза по умолчанию (default gateway)
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1
— приплюсовать статический маршрут в сеть 192.168.0.0/16 через шлюз с ip-адресом 192.168.1.1
route del 0/0 gw IP_gateway
— выслать ip-адрес шлюза по умолчанию (default gateway)
echo «1» > /proc/sys/net/ipv4/ip_forward
— позволить пересылку пакетов (forwarding)
— отобразить имя компьютера
— разрешить имя www.linuxguide.it хоста в ip-адрес и и наоборот host 62.149.140.85
— отобразить состояние всех интерфейсов
— отобразить статус и тип слияния для интерфейса eth0
— отображает статистику интерфеса eth0 с выводом такой информации, как поддерживаемые и нынешные режимы соединения
— отображает все установленные сетевые соединения по протоколам TCP и UDP без позволения имён в ip-адреса и PID’ы и имена процессов, обеспечивающих эти соединения
— отображает все сетные соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID’ы и имена процессов, слушающих порты
tcpdump tcp port 80
— показать весь трафик на TCP-порт 80 (обычно — HTTP)
— просканировать эфир на объект, доступности беспроводных точек доступа
— показать конфигурацию беспроводного сетевого интерфейса (общая граница между двумя функциональными объектами, требования к которой определяются стандартом; совокупность средств, методов и правил взаимодействия (управления, контроля и т.д.) между) eth1
Источник
Команда 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 — свободная система и вы можете использовать те инструменты, которые вам нравятся.
Источник
Настройка сетевого интерфейса Linux
В сегодняшней статье мы поговорим про настройку сетевого интерфейса с помощью утилиты ethtool. С помощью неё вы можете менять такие низкоуровневые настройки сетевой карты, как скорость передачи данных и метод выбора скорости при подключении, смотреть статистику и используемый драйвер, управлять светодиодом на карте, а также многое другое.
Мы разберемся как установить утилиту в популярных дистрибутивах, как её использовать и какие опции она поддерживает, а потом рассмотрим примеры работы.
Настройка сетевого интерфейса Linux
1. Синтаксис и опции ethtool
Синтаксис ethtool довольно простой, утилите достаточно передать опции и имя сетевого интерфейса, с которым вы хотите работать:
$ ethtool опции интерфейс параметры
Вот основные опции утилиты, которые мы будем использовать в этой статье:
- —version — выводит версию утилиты;
- -g, —show-ring — позволяет посмотреть информацию о буфере RX и TX пакетов;
- -G, —set-ring — позволяет установить размер буфера RX и TX пакетов, работает только для беспроводного интерфейса;
- -i, —driver — выводит имя используемого драйвера;
- -P, —show-permaddr — выводит постоянный MAC адрес устройства;
- -r, —negotiate — выполняет повторное согласование скорости передачи данных, если включено автоматическое согласование;
- -S, —statistics — выводит статистику;
- -s, —change — позволяет менять настройки сетевого интерфейса;
- -k, —show-offload — позволяет посмотреть какие технологии offload включены;
- —reset — позволяет сбросить настройки различных компонентов сетевой карты, для сброса всех настроек используйте значение параметра all;
Это далеко не все опции программы, все вы можете посмотреть выполнив такую команду в терминале, если программа установлена:
2. Установка ethtool
Обычно, утилита не поставляется по умолчанию вместе с дистрибутивом, но она есть в официальных репозиториях. Для установки утилиты в Ubuntu или Debian выполните:
sudo apt install ethtool
Для установки ethtool linux в Fedora, CentOS или REHL выполните:
sudo yum install ethtool
А для OpenSUSE команда будет выглядеть вот так:
sudo zypper install ethtool
3. Информация про сетевые интерфейсы
Сначала надо посмотреть список сетевых интерфейсов в системе. Для этого выполните такую команду:
В данном примере, я использовал фильтр egrep чтобы отсеять все интерфейсы, созданные контейнерами Docker, вам этого делать не обязательно. Здесь enp24s0 — это сетевой интерфейс Ethernet, который мы и будем использовать дальше. Выполнив утилиту ethtool без опций можно посмотреть текущие настройки сетевого интерфейса:
sudo ethtool enp24s0
Обратите внимание на пункт Supported link modes, здесь перечислены поддерживаемые скорости передачи данных и режимы дуплекса для них. Скорость измеряется в мегабитах и обычно доступны значения 10, 100 и 1000.
Режим дуплекса, выводимый в параметре Duplex отвечает за приём и передачу данных. При значении full сетевая карта может одновременно принимать и отправлять данные, а режиме half только принимать или отправлять данные. Текущая скорость передачи данных выводится немного ниже параметра Duplex.
Ещё есть параметр Advertised auto negotiation. Он отвечает за то будет ли скорость передачи данных и режим дуплекса настраиваться автоматически в зависимости от возможностей обоих соединённых устройств. По умолчанию этот параметр включён и рекомендуется его таким и оставить.
4. Изменение настроек интерфейса
Менять все эти настройки и многие другие можно с помощью опции -s. Например чтобы отключить автоматическое согласование параметров работы выполните:
sudo ethtool -s enp24s0 autoneg off
Затем можно вручную установить скорость передачи данных:
sudo ethtool -s enp24s0 speed 10
А режим дуплекса в half:
sudo ethtool -s enp24s0 duplex half
Всё это можно объединить в одну команду:
sudo ethtool -s enp24s0 speed 10 duplex half autoneg off
После изменения скорости передачи данных надо снова поднять сетевой интерфейс:
sudo ip link set dev enp24s0 up
Теперь при просмотре настроек сетевой карты вы увидите новые значения:
5. Просмотр драйвера
Чтобы посмотреть используемый драйвер используйте опцию -i:
sudo ethtool -i enp24s0
6. Статистика интерфейса
Посмотреть статистику по переданных и полученных данных можно с помощью опции -S:
sudo ethtool -S enp24s0
Сбросить эту статистику можно только выгрузив драйвер ядра, который используется для сетевой карты. Для этого сначала отключите сетевой интерфейс:
sudo ip link set dev enp24s0 down
Затем выгрузите модуль ядра с драйвером:
sudo modprobe -r r8169
Верните драйвер обратно и запустите устройство:
sudo modprobe r8169
sudo ip link set dev enp24s0 up
После этого статистика будет сброшена:
7. Управление светодиодом
Если в вашем компьютере установлено несколько сетевых карт и вам надо определить какой их них принадлежит то или иное имя в системе, можно использовать опцию -p. Ей надо передать количество секунд на протяжении которых светодиод на разъёме должен гореть:
sudo ethtool enp24s0 -p 100
Таким образом вы можете подсветить интерфейс ethtool.
8. Сохранение настроек
Все выполненные с помощью ethtool настройки актуальны только до перезагрузки. Чтобы их сохранить после перезагрузки надо создать скрипт, выполняющий нужные команды после старта системы или же использовать возможности network-scripts. Например в Ubuntu или Debian можно добавить команду, которая выполняет нужные настройки в файл /etc/network/if-pre-up.d/ethtool. Например:
sudo vi /etc/network/if-pre-up.d/ethtool
/sbin/ethtool -s enp24s0 speed 10 duplex half
Для CentOS следует добавить параметр ETHTOOL_OPTS в файл настройки сетевого интерфейса, Например:
sudo vi /etc/sysconfig/network-scripts/ifcfg-enp24s0
ETHTOOL_OPTS=»speed 10 duplex half autoneg off»
Выводы
В этой небольшой статье мы рассмотрели как выполняется настройка сетевого интерфейса Linux с помощью утилиты ethtool. Если вы знаете другие полезные способы настройки, пишите в комментариях!
Источник