Linux promiscuous mode eth0

Содержание
  1. Thread: how to set promiscuous mode on eth0?
  2. how to set promiscuous mode on eth0?
  3. Re: how to set promiscuous mode on eth0?
  4. Re: how to set promiscuous mode on eth0?
  5. Re: how to set promiscuous mode on eth0?
  6. Re: how to set promiscuous mode on eth0?
  7. How to configure interface in “Promiscuous Mode” in CentOS/RHEL
  8. What is a promiscuous mode for a NIC?
  9. How to Manually set a NIC in Promiscuous Mode?
  10. Persistent settings
  11. Linux и Windows: помощь админам и пользователям
  12. Администрируем и настраиваем Windows, Linux.
  13. Ifconfig: 7 примеров использования
  14. 1. Просмотр настроек для сетевого интерфейса
  15. 2. Отображение всех интерфейсов, включая отключенные
  16. 3. Выключаем интерфейс
  17. 4. Запускаем интерфейс
  18. 5. Назначаем интерфейсу IP адрес
  19. 6. Изменяем MTU
  20. 7. Promiscuous mode
  21. Как избежать повторного ввода сообщений «promiscuous mode» в /var/log/messages
  22. Решение
  23. 1. Фильтрация сообщений журнала
  24. 2. Убрать повторный лог ввода и вывода из режима Promisc
  25. 3. Предотвращение пользовательских настроек интерфейса Promisc
  26. Linux: NIC, работа с сетевыми интерфейсами (ifconfig, ip, ethtool, interfaces – lspci network, lshw network, RSS)

Thread: how to set promiscuous mode on eth0?

Thread Tools
Display

how to set promiscuous mode on eth0?

All the answers I’ve found so far depend on ifconfig, now deprecated. One answer a year ago mentioned a bug associated with promisc mode and systemd, which is part of openSuse 15. The —help page for ‘ip’ doesn’t seem to mention «promiscuous».
Earlier releases of openSuse worked well with Wireshark, but now I see nothing (from a tap on an Ethernet link).
How do we turn on promiscuous mode these days?
Thanks.

Re: how to set promiscuous mode on eth0?

To view the current settings for eth0
ip a show eth0
To set the eth0 in promiscuous mode for the current session

Re: how to set promiscuous mode on eth0?

Thanks, Tsu. Double ‘atta boy» for sure.
What I find odd is that neither ‘promisc’ nor ‘promiscuous’ appears in the ‘MAN ip» document. Is that a reportable bug?

Re: how to set promiscuous mode on eth0?

MAN authors are typically listed in the document, best to write them directly.

Re: how to set promiscuous mode on eth0?

On Fri 08 Feb 2019 02:46:04 AM CST, konsultor wrote:

Thanks, Tsu. Double ‘atta boy» for sure.
What I find odd is that neither ‘promisc’ nor ‘promiscuous’ appears in
the ‘MAN ip» document. Is that a reportable bug?

Hi
If you look at the bottom of man 8 ip ‘See Also’, there is ip-link,
this has the details.


Cheers Malcolm °¿° SUSE Knowledge Partner (Linux Counter #276890)
SLES 15 | GNOME Shell 3.26.2 | 4.12.14-25.28-default
If you find this post helpful and are logged into the web interface,
please show your appreciation and click on the star below. Thanks!

Источник

How to configure interface in “Promiscuous Mode” in CentOS/RHEL

What is a promiscuous mode for a NIC?

Promiscuous mode or promisc mode is a feature that makes the ethernet card pass all traffic it received to the kernel. It is usually used by a packet sniffing program like Wireshark, and tcpdump. If there was such program intentionally running or bridged networking for hardware virtualization, the “promiscuous mode” message might be simply ignored. Otherwise, deep investigation on that system will be required due to a security issue.

When a network card is in promiscuous mode, it can read all traffic it received rather than just packages addressed to it. Suppose for eth1, promiscuous mode is basically used to pass all traffic that ‘eth1’ receives rather than just frames addressed to it. A network card usually is in promiscuous mode when:

  1. If it was manually configured in that mode using ifconfig command.
  2. If a Network monitor tool is used, like tcpdump etc.
  3. In bridge network, the NIC is mostly required to operate in promiscuous mode.
Читайте также:  Зависла загрузка обновлений windows

How to Manually set a NIC in Promiscuous Mode?

To set an interface to promiscuous mode you can use either of these commands, using the ‘ip’ command is the most current way.

To identify if the NIC has been set in Promiscuous Mode, use the ifconfig command.

Alternatively, use the “ip” command and grep for the promisc flag:

Persistent settings

To set the interface in promiscuous mode persistently; First, edit the ifcfg-ethX file and add “PROMISC=yes” to the end of the options.

Источник

Linux и Windows: помощь админам и пользователям

Администрируем и настраиваем Windows, Linux.

Ifconfig: 7 примеров использования

Команда Ifconfig используется для конфигурирования сетевых интерфейсов. В данной статье я покажу 7 наиболее часто применяемых примеров использования данной команды.

1. Просмотр настроек для сетевого интерфейса

При вызове команды Ifconfig без аргументов мы получим список всех активных интерфейсов. Если в качестве аргументы вы укажите имя интерфейса, отобразиться только статистика по данном интерфейсу.[cut]

2. Отображение всех интерфейсов, включая отключенные

3. Выключаем интерфейс

4. Запускаем интерфейс

5. Назначаем интерфейсу IP адрес

Назначим IP адрес 192.168.2.2 на интерфейс eth0.

Изменим сетевую маску на интерфейсе eth0.

Изменим бродкаст адрес для интерфейса eth0.

Назначаем IP адрес, маску и бродкаст одной командой.

6. Изменяем MTU

Для изменения Maximum transmission unit (MTU) на значение XX используем следующую команду..

7. Promiscuous mode

По умолчанию когда сетевая карта получает пакет, она проверяет адрес получателя. В случае если этот адрес отличен от назначенных ей адресов, пакет отбрасывается. В promiscuous mode, карта не отбрасывает данные пакеты. Вместо этого она принимает все пакеты, приходящие через интрефейс. Для установки данного режима требуются привелегии суперпользователя. Большинство сетевых мониторов и анализаторов используют данный режим для захвата пакетов и анализа сетевого трафика.

Следующуая команда переводи интерфейс в promiscuous mode.

Следующуая команда переводи интерфейс в нормальный режим.

Постовой

ЭкспертСистем оказывает профессиональные услуги по технадзору (техническому надзору), экспертизе строительства, контролю строительства и обследованию строительных работ.

Если у вас маленькая компания, и держать системного администратора и техподдержку накладно, передайте свою компьютерную сеть на аутсорсинг. Ваша сеть будет в полном порядке!

Источник

Как избежать повторного ввода сообщений «promiscuous mode» в /var/log/messages

Как убрать сообщения типа “… entered promiscuous mode” or “… left promiscuous mode” ?

устройство eth3 повторно вводит / оставляет беспорядочный режим в syslog – / var / log / messages:

Решение

– При нормальной работе сетевой интерфейс отфильтровывает полученный одноадресный трафик, который напрямую не адресован хосту. Таким образом, ОС хоста не видит нежелательного трафика и, следовательно, не тратит время на его обработку.
– Когда сетевой интерфейс находится в беспорядочном режиме, все фильтры удаляются, поэтому ОС видит каждый пакет, полученный интерфейсом, независимо от того, как он адресован.
– Программы захвата пакетов обычно вводят интерфейс в беспорядочный режим во время их запуска. Для tcpdump эту функцию можно отключить, запустив ее с помощью параметра -p.
– Режим Promiscuous означает, что сетевой интерфейс не отменяет трафик, где MAC-адрес назначения не является собственным MAC-адресом NIC. Этот режим используется для захвата пакетов или мониторинга сети.
– Если вы проверите интерфейс, для которого эти сообщения регистрируются в команде ip или ifconfig, вы увидите флаг «PROMISC», установленный на нем.

Чтобы избежать регистрации этих сообщений, существует несколько вариантов:

1. Фильтрация сообщений журнала

1. Чтобы избежать записи сообщений в / var / log / messages, отфильтруйте сообщения с помощью строки в /etc/rsyslog.conf, например:

# тильда в указанном выше фильтре игнорирует сообщение в файле / var / log / messages.

2. Теперь перезапустите службу rsyslog, чтобы изменения вступили в силу.

2. Убрать повторный лог ввода и вывода из режима Promisc

Команда «ip link set dev ethX promisc on» может использоваться для включения беспорядочного режима, и вы можете подтвердить его с помощью ip-ссылки. Устройство будет иметь флаг PROMISC:

2: ethX: [BROADCAST,MULTICAST,UP,LOWER_UP] mtu 1500 2: ethX: [BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP] mtu 1500

Читайте также:  Восстановление windows без консоли

Вы можете применить это при загрузке и ifup, написав / sbin / ifup-local, как описано ниже:

3. Предотвращение пользовательских настроек интерфейса Promisc

Определите приложение, в результате чего устройство переходит в режим неразборчивости.

Остановите программу или скрипт, вызывающий вызовы сокетов, которые позволяют использовать режим promisc, или прекратите использование программы или скрипта.

Это чаще всего программа захвата пакетов, такая как tcpdump, tshark или Wireshark, однако некоторые утилиты мониторинга сети также активируют этот режим.

Источник

Linux: NIC, работа с сетевыми интерфейсами (ifconfig, ip, ethtool, interfaces – lspci network, lshw network, RSS)

BASIC
  • COMPARING NET-TOOLS VS. IPROUTE PACKAGE COMMANDS
  • veth – virtual eth
  • как отключить networkmanager описано в статье
  • про недостатки классических net-tools/net-utils (напр. ifconfig) в статье, так же там как их установить 🙂

ip link или ifconfig -a – показывает все интерфейсы. В том числе те, которые не подняты. Мне помогло при дебаге неподнимания secondary ipif на виртуалке VirtualBox. Косяк оказался в том, что я неправильно в конфиге /etc/network/interfaces указал название интерфейса 🙂

ip a add 1.1.1.1/32 dev enp2s0 или ifconfig eth1 1.1.1.1/32 up – конфигурируем IP на интерфейсе. Можно и secondary создать обеими утилитами. Причем secondary можно огромное количество настроить – я пробовал настраивать 10 ТЫС IP адресов и они все работали (проверка корректности работы маршрутов /32).

sudo dhclient -v ens192 – включение работы DHCP клиента на интерфейсе.

Включаем интерфейс, для работы ifup с enp интерфейсами нужно их переименовывать.

Изменяем MAC на Wi-Fi интерфейсе MAC OS.

PROMISCUOUS

ip link set enp2s0 promisc on # для работы сетевых утилит типа tcpdump, tcpreplay, wireshark, tshark зачастую нужно включение promiscuous режима (чаще всего включается утилитой автоматически перед стартом сбора сетевого трафика)

Переименование интерфейсов

Временное (до перезагрузки)

Сохраняется и после перезагрузки

IP multicast
MACSEC

Static настройка интерфейса через файл /etc/network/interfaces

Если на сервере нет vim (есть только vi), возможно есть vim.tiny (на примере Debian).

Пример файла с настройками интерфейса + статическими (permanent) маршрутами через файл interfaces.

Рестарт

Для применения настроек через файл не обязательно перезагружать сервер. Можно за-флашить настройки (если интерфейсы уже есть в системе – иначе просто перезапустить), а потом перезапустить networking.service. Перезапускать службу в целом и flash’ить интерфейс по которому мы подключены при удаленном подключении обязательно одновременно с рестартом – иначе доступ потеряется.

NETWORK INTERFACE CARD info (lshw, lspci)

lshw -class network # полный вывод

lshw -c network -short -numeric # вывод в виде удобной таблички (short – краткий, numeric – добавляем адрес PCI)

Если девайс в списке есть, но без logical name, перезагрузить сервер или рестартовать службу командой выше. Если состояние DISABLED, то интерфейс нужно включить (ifup/ifconfig/ip link – выше примеры).

Если в выводе Unclaimed – вероятнее всего нужно обновлять операционную систему для обновления драйверов.

lspci | grep -i ‘network\|ethernet’

lspci -knn | grep “Net\|Eth” -A2

ETHTOOL

ethtool ethX – смотрим данные по физ. интерфейсу.

ethtool -i – информация по драйверам.

ethtool -p – blink.

ethtool –a ethX – можно посмотреть параметры flow control.

ethtool –A ethX [autoneg on|off] [rx on|off] [tx on|off] – можно изменить параметры flow control.

ethtool -C ethX [adaptive-rx on|off] [adaptive-tx on|off] [rx-usecs N] [rx-frames N] [rx-usecs-irq N] [rx-frames-irq N] [tx-usecs N] [tx-frames N] [tx-usecs-irq N] [tx-frames-irq N] [stats-block-usecs N] [pkt-rate-low N] [rx-usecs-low N] [rx-frames-low N] [tx-usecs-low N] [tx-frames-low N] [pkt-rate-high N] [rx-usecs-high N] [rx-frames-high N] [tx-usecs-high N] [tx-frames-high N] [sample-interval N] – позволяет изменить большое количество различных параметров.

ETHTOOL: RSS (HASH) and queues

Receive side scaling (RSS) is a network driver technology that distributes the receiving of network traffic more efficiently by distributing receive processing across multiple CPUs in a multiprocessor system. In simple terms, RSS allows a system to process more received traffic because it uses all available CPUs instead of just one.

С помощью ethtool можно настроить перераспределение трафика по очередям сетевой карты на основе hash от каких-то данных на базе RSS. RSS в случае сетевых карт рассчитывается на основе чипа FPGA/ASIC. Такое (или софтовое) распределение использую очень многие вендоры, которые работают с сетевым трафиком – как вендоры производители оборудования, так и вендоры производители генераторов трафика.

Читайте также:  Как запустить python с консоли windows

По умолчанию сетевые интерфейсы имеют настройку hash SRC & DST IP для UDP трафика и hash SRC & DST IP and PORTs для TCP трафика. Для реализации симметричного (symmetric RSS) распределения по очередям может изменяться (поддерживает незначительное количество сетевых карт):

    • можно посмотреть и изменить используемый ключ для hash (Random Secret Key, RSK) на ряде сетевых карт (напр. Intel X710) на симметричный с меньшей энтропией (т.е. балансировка в целом будет хуже, но это плата за симметричность)
    • можно посмотреть и изменить XOR функцию на ряде сетевых карт (напр. Mellanox ConnectX-5)

Перераспределение может происходить к процессам ksoftirqd (их еще надо настроить, напр, с использованием qdisc). Количество очередей RSS обычно делается равным количеству процессов, на которые трафик распределяется. Подробнее про распределение трафика в статье про CPU affinity.

QUEUES

Пример количества очередей RSS на сетевых картах.

Описание логики symmetric HASH. Пример настройки на Mellanox, Intel картах выше.

По умолчанию выделяется по одной очереди RX/TX на виртуалки.

Multiqueue при использовании в виртуализации – спорная тема. Может приводить к деградации исходящего трафика.

Неплохое объяснение работы очередей на сетевой карты – есть очереди пакетов, которые выступают по сути буфером для них перед отправкой если nic не может всю очередь отправить сразу в интерфейс. В случае переполнения очереди пакеты дропаются, но обычно можно управлять этими дропами с помощью QoS (какие пакеты будут дропаться).

ethtool: Offload

Вообще offload технологии на сетевых картах призваны уменьшить количество прерываний и обработок CPU приходящих сетевых пакетов за счет склеивания этих данных при отправке или приеме. Пример технологий offload – LSO, LRO, TSO, GSO:

  • Large Send Offload (LSO),
  • Large Receive Offload (LRO),
  • TCP segmentation offload (TSO),
  • generic segmentation offload (GSO)

При их использовании можно увидеть разные “аномалии” в трафике:

  • Общее количество пакетов в дампе будет меньше, чем по факту было в сети
  • Максимальный размер сегмента в снятом дампе трафика может быть значительно более согласованного MSS из-за включенного TCP offload на сетевой карте в виде .
  • Так же из-за включенного offload в дампе могут быть некокорректные TCP checksum, хотя с фактическим трафиком в сети такой проблемы нет.

Рекомендации snort по отключению offload:

ethtool –show-offload ethX/enpX – смотрим какие offload включены (включая RSS в виде receive-hashing ON/OFF)

ethtool -k ethX/enpX – смотрим какие offload включены

Для удобства выключение offload в одном месте:

ethtool -K ethX/enpX rx/tx off – освобождение ОС от расчёт контрольных суммы TCP/IP (rx-checksumming) для входящих/исходящих пакетов, можно так же использовать ключ –offload вместо -k.

ethtool -K ethX/enpX tso off – отключение функции (tcp-segmentation-offload) сборки сегментов без участия CPU;

ethtool -K ethX/enpX gso off – отключение функции (generic-segmentation-offload) фрагментации пакетов без участия CPU;

ethtool -K ethX/enpX gro off – отключение функции (generic-receive-offload) сборки пакетов сетевым интерфейсом без участия CPU;

ethtool -K ethX/enpX lro off – отключение функции (large-receive-offload) сборки пакетов сетевым интерфейсом без участия CPU.

ETHTOOL, sys/class, netstat, ip link: статистика по интерфейсу

Самый простой способ получения общих счетчиков по количеству полученных пакетов/количеству drop – извлечь инфу из папки /sys/class/net/ для интерфейса. При этом нужно учитывать, что процент дропов rx_dropped от количества rx_packets может быть более 100% (Real example: RX packets 859466582; dropped 945024683). Причем после обработки одного потока трафика (т.е. это не накопленные dropped) – причина в том, что в rx_packets не попадают rx_dropped – по сути rx_dropped это НЕ ПРИНЯТЫЕ интерфейсом пакеты.

Для получения общей статистики по интерфейсам, помимо ethtool, может помочь ifconfig, netstat, ip link (-s).

Пример настроенного распределения по 8ми очередям с помощью RSS.

ethtool: Ошибки

Для VM ethtool может быть крайне урезан, вплоть до полной нефункциональности.

iwconfig – wireless interfaces config

Источник

Оцените статью