Установка xrdp в Ubuntu

xrdp — RDP сервер для Linux

Устанавливается в Ubuntu следующей командой:

sudo apt-get install xrdp

Для подключения к серверу xrdp из Windows можно использовать стандартный клиент удаленного рабочего стола, набрав в командной строке mstsc.exe.
Конфигурация находится тут /etc/xrdp/, логи пишутся сюда — /var/log/xrdp-sesman.log

Перезапустить xrdp можно так:

sudo /etc/init.d/xrdp restart

Можно также установить графическую оболочку Xfce:

sudo apt-get -y install xfce4

И указать её графической оболочкой по умолчанию:

echo xfce4-session >~/.xsession

Рекомендую не использовать root пользователя для работы в графической среде, а создать отдельного пользователя.
Смотрите мою статью — Администрирование пользователей Ubuntu

Решение ошибки «Job for puppetserver.service failed because the control process exited with error code»

Заметил однажды при запуске Puppet сервера, после установки, следующую ошибку:

Job for puppetserver.service failed because the control process exited with error code. See «systemctl status puppetserver.service» and «journalctl -xe» for details.

Ошибка возникает из-за того что не хватает оперативной памяти и чтобы устранить ошибку, откроем файл конфигурации Puppet сервера:

sudo nano /etc/default/puppetserver

И уменьшим объем выделяемой оперативной памяти для Puppet сервера (например я указал 512m вместо 2g):

JAVA_ARGS="-Xms512m -Xmx512m"

Теперь попробуем запустить Puppet сервер:

sudo systemctl start puppetserver

Причина увеличения RX overruns на сетевом адаптере

Заметил однажды на одном из серверов доступа, что немного растет значение RX overruns.

Выполнил несколько раз команды (где p2p1 и p2p2 — имя сетевых интерфейсов):

ifconfig p2p1
ifconfig p2p2

Увеличивалось только значение RX overruns, на 10 пакетов каждую секунду, при трафике около 2Gb/s (100 000 пакетов в секунду).
На сервере был установлен сетевой адаптер «HP NC552SFP 10Gb 2-Port Ethernet Server Adapter» с сетевым контроллером от Emulex.

Посмотрев размер максимального и текущего буфера:

ethtool -g p2p1
ethtool -g p2p2

Обнаружил, что буферы установлены на максимум, TX буфер — 4096, а максимально возможный RX буфер был только 512.
Смотрите также мою статью — Изменение TX и RX буферов сетевых интерфейсов в Linux

Посмотрев правильно ли распределены прерывания сетевой платы по ядрам процессора:

grep p2p1 /proc/interrupts

Обнаружил что у сетевого адаптера 4 IRQ прерывания максимум, и irqbalance соответственно их распределил на 4 ядра, а ядер то 24.

Проблему решил заменой сетевого адаптера на более дорогой — «665249-B21 Контроллер HP Ethernet 10Gb 2-port 560SFP+ Adapter» с сетевым контроллером Intel 82599.
После этого ошибка не наблюдалась, RX и TX буферы были 4096, а IRQ распределено на все 24 ядра.
Спустя пару дней, счетчики ошибок оставались по нулям:

p2p1      RX packets:62535001155 errors:0 dropped:0 overruns:0 frame:0
          TX packets:36343078751 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:77395016742081 (77.3 TB)  TX bytes:10991051263063 (10.9 TB)

p2p2      RX packets:35672087256 errors:0 dropped:0 overruns:0 frame:0
          TX packets:58598868464 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:10996254475480 (10.9 TB)  TX bytes:73378418623349 (73.3 TB)

Вероятно предыдущий сетевой адаптер был какой-то урезанной версии, так как цена была в два раза ниже, да и вообще для серьезных целей лучше использовать сетевые адаптеры с контроллером от Intel.

Смотрите также мою статью Настройка сети в Linux

Установка и настройка nprobe

Допустим мы установили ntopng как я описывал в этой статье — Установка и настройка ntopng
То есть выбрали необходимый пакет на http://packages.ntop.org/apt-stable/ и скачали его:

wget wget http://apt-stable.ntop.org/16.04/all/apt-ntop-stable.deb
sudo dpkg -i apt-ntop-stable.deb

Установим nprobe если он не установлен:

sudo apt-get clean all
sudo apt-get update
sudo apt-get install nprobe

Чтобы принимать NetFlow данные и передавать их на ntopng создадим файл (в редакторе nano клавиши CTRL+X для выхода, y/x для сохранения или отмены изменений):

sudo nano /etc/nprobe/nprobe-anyname.conf

Добавим в него:

--zmq="tcp://*:5556"
-3 2055
--flow-version 9
-n=none
-i=none

2055 — это порт на который нужно принимать NetFlow данные, а порт 5556 используется для их передачи к ntopng.
Смотрите мои статьи о настройке NetFlow на коммутаторах:
Настройка NetFlow на Cisco
sFlow на D-Link коммутаторах
Traffic Flow в Mikrotik

Теперь осталось открыть конфигурацию ntopng в текстовом редакторе:

sudo nano /etc/ntopng/ntopng.conf

И добавить в конце строку (тем самым добавим интерфейс nprobe для сбора статистики):

--interface="tcp://127.0.0.1:5556"

Осталось перезапустить ntopng чтобы применить изменения:

sudo service ntopng restart

Проверим все ли работает:

sudo netstat -tulpen | grep 2055
sudo netstat -tulpen | grep 5556
sudo /etc/init.d/nprobe status

Заметил что nprobe не всегда завершает работу после команды:

sudo /etc/init.d/nprobe stop

Поэтому, при необходимости его можно остановить например так:

sudo killall nprobe
sudo kill -9 PID

В бесплатной версии nprobe у меня отображалось сообщение:

NOTE: This is a DEMO version limited to 25000 flows export.

Полную версию можно приобрести на официальном сайте shop.ntop.org.

Смотрите также:
IPTables правила для nprobe

Использование netwox

Приведу примеры использования netwox и опишу их.
Установку netwox я описывал в этой статье — Установка netwox

Пример стандартного запуска:

sudo netwox

netwox имеет достаточно много функций, посмотреть их можно нажав после запуска цифру 3 и Enter.

Отображение конфигурации сети:

sudo netwox 1

Отображение отладочной информации:

sudo netwox 2

Отображение информации об IP-адресе или имени хоста:

sudo netwox 3 example.com

Отображение информации об MAC-адресе:

sudo netwox 4 -e 00:15:5D:38:01:08

Получение MAC-адресов из списка IP:

sudo netwox 5 -i 192.168.1.0/24

Отображение информации которая будет использована чтобы достичь указанного IP адреса:

sudo netwox 6 192.168.24.254

Сниффер, отображение передающихся пакетов на экране:

sudo netwox 7

Сниффер, отображение только списка открытых портов, которые использовались в захваченных пакетах:

sudo netwox 8

Сниффер, отображение MAC и IP адресов:

sudo netwox 9

Пример захвата пакетов и отображение краткой статистики (отображается количество пакетов (count), сумма размеров пакетов (size), процент количества пакетов (c%) процент из размера (s%)):

netwox 10 -d eth0

Преобразование цифры в шифрованную:

sudo netwox 21 -n number

Преобразование строки в шифрованную (sha256, md5 и т.д.):

sudo netwox 22 -d text

Показать таблицу ASCII:

sudo netwox 23

Проверить безопасность каталога:

sudo netwox 25 /tmp/

Пример выполнения ICMP PING:

sudo netwox 49 -i 192.168.24.253

Пример выполнения ARP PING:

sudo netwox 55 -i 192.168.24.253

Пример ICMP трассировки маршрута:

sudo netwox 57 -i examle.com

Пример TCP трассировки маршрута:

sudo netwox 59 -i examle.com

Пример UDP трассировки маршрута:

sudo netwox 61 -i examle.com

Пример сканирования портов:

sudo netwox 67 -i 192.168.24.254 -p 1-1000

ICMP сканирование на доступность:

sudo netwox 65 -i 192.168.1.0/24

TCP сканирование на доступность по порту:

sudo netwox 67 -i 192.168.1.0/24 -p 80

UDP сканирование на доступность по порту:

sudo netwox 69 -i 192.168.1.0/24 -p 80

ARP сканирование:

sudo netwox 71 -i 192.168.1.0/24

Флуд случайными фрагментами:

sudo netwox 74 -i 192.168.24.254

Заполнение таблицы MAC-адресов коммутатора отправкой флуда:

sudo netwox 75

Synflood:

sudo netwox 76 -i 192.168.24.254 -p 80

и т.д.

Использование Linux ISG

Просмотр всех сессий:

/opt/ISG/bin/ISG.pl
/opt/ISG/bin/ISG.pl | less

Просмотр информации о конкретной сессии:

/opt/ISG/bin/ISG.pl | grep 192.168.4.168

Просмотр количества сессий:

/opt/ISG/bin/ISG.pl show_count

Удаление конкретной сессии:

/opt/ISG/bin/ISG.pl clear 192.168.4.168
/opt/ISG/bin/ISG.pl clear <IP-address | Virtual# | Session-ID>

Изменение скорости для конкретной сессии (входящая/исходящая, например 100 Мб/с):

/opt/ISG/bin/ISG.pl change_rate 192.168.4.168 102400 102400

Замечу то скорость указывается в килобайтах, а при просмотре в таблице сессий отображается в байтах.

Опишу возможные ключи к флагам:
A (Сессия одобрена)
X (Сессия не одобрена)
S (Это услуга (или подсеанс))
O (Административный статус службы включен)
U (Сервис онлайн (учетная запись RADIUS активна, поток трафика))
T (Тип сервиса — «tagger»)
Z (Отключен)

Изменение txqueuelen в Linux

Изменение txqueuelen позволяет установить длину очереди передачи данных для сетевых интерфейсов, когда очередь достигает указанного значения txqueuelen, тогда данные передаются, соответственно меньше трафик — меньше значение txqueuelen, большой трафик — txqueuelen можно увеличить.

Посмотрим текущее значение txqueuelen для каждого сетевого интерфейса:

ifconfig

В моем случае txqueuelen в Ubuntu Server 16.04 стандартно и равно 1000, допустим через сетевой интерфейс ходит очень большой трафик и мы хотим увеличить значение, для этого выполним команду:

ifconfig eth0 txqueuelen 10000

Либо через утилиту ip:

ip link set eth0 txqueuelen 1000

Проверим увеличилось ли значение:

ifconfig

Чтобы после перезагрузки системы изменения не сбросились, откроем файл /etc/network/interfaces например в текстовом редакторе nano:

sudo nano /etc/network/interfaces

И добавим в конце строку:

post-up /sbin/ifconfig eth0 txqueuelen 10000

Либо можно открыть файл /etc/rc.local:

sudo nano /etc/rc.local

И перед строкой «exit 0» добавить строку:

/sbin/ifconfig eth0 txqueuelen 10000

В обеих случаях после перезагрузки системы значение txqueuelen установилось правильно.
Аналогично можно указывать «ip» вместо «ifconfig».

Смотрите также:
Настройка сети в Linux

Установка и использование flow-tools

Flow-tools — набор утилит для отправки, сбора, обработки, анализа данных NetFlow.

Установим коллектора который будет принимать статистику с сенсоров:

sudo apt-get install flow-tools

Откроем файл конфигурации, например в текстовом редакторе nano (Ctrl+X для выхода, y/n для сохранения или отмены изменений):

sudo nano /etc/flow-tools/flow-capture.conf

Закоментируем все и добавим в конце строку:

-w /var/log/flow -n 275 0/192.168.0.5/555

Ключ -w указывает директорию хранения файлов, -n указывает количество ротаций файлов за день (то есть в моем случае каждый день будет сохранятся 275 файлов, при большом трафике мелкие файлы потом легче анализировать), 0 означает что нужно слушать все сетевые интерфейсы, 192.168.0.5 адрес сенсора с которого будут приниматься статистика, 555 порт на который будут приходить данные с сенсора.

Создадим директорию для файлов:

sudo mkdir /var/log/flow

Перезапустим flow-capture чтобы применить изменения в конфигурационном файле:

sudo service flow-capture restart

Проверить работает ли flow-capture можно так:

sudo netstat -lpnu|grep flow-capture
netstat -anpl |grep 555

Ошибки и попытки прислать статистику от сенсоров, будут писаться в /var/log/syslog.
Можем посмотреть так:

sudo less /var/log/syslog | grep flow

Если используется iptables, то разрешим входящие UDP соединения на порт 555 всем:

sudo iptables -A INPUT -p udp --dport 555 -j ACCEPT

Либо конкретному адресу или сети:

sudo iptables -A INPUT -s 10.0.0.0/24 -p udp --dport 555 -j ACCEPT

Смотрите также:
Открытие и анализ файлов созданных при помощи NetFlow
Настройка NetFlow на Cisco
sFlow на D-Link коммутаторах
Traffic Flow в Mikrotik

Использование ethtool

ethtool — утилита для настройки сетевых интерфейсов в Linux.

Установить ethtool в Ubuntu/Debian можно командой:

sudo apt-get install ethtool

Посмотрим названия сетевых интерфейсов:

ifconfig -a

Переключимся на root, так как некоторые команды требуют повышенных привилегий:

sudo su

Пример просмотра настроек eth0:

ethtool eth0

Пример просмотра информации о драйвере сетевого интерфейса:

ethtool -i eth0

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

ethtool -S eth0

Просмотр настроек автосогласования:

ethtool -a eth0

Мигание светодиода 3 секунды на указанном сетевом интерфейсе:

ethtool -p eth0 3

Тест сетевого интерфейса:

ethtool -t eth0 online/offline

Просмотр текущего и максимального размера TX и RX буферов:

ethtool -g eth0

Ручная установка скорости 100 Mb Full Duplex на указанном сетевом интерфейсе (указанные параметры сбросятся после перезапуска системы):

ethtool -s eth0 speed 100 duplex full

Просмотр краткой справки по ethtool:

ethtool -h

Смотрите также:
Настройка сети в Linux
Изменение TX и RX буферов сетевых интерфейсов в Linux
Дистанционное включение компьютера (Wake On LAN)