IPTables правила для SSH

Чтобы открыть доступ к SSH серверу в IPTables необходимо добавить правило:

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Чтобы открыть доступ только конкретной сети, например 192.168.0.0/24:

sudo iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 22 -j ACCEPT

Можно также ограничить доступ по IP конфигурацией самого SSH.

Чтобы удалить правило укажем ту же команду, заменив -A на -D, например:

sudo iptables -D INPUT -p tcp --dport 22 -j ACCEPT

Посмотреть список правил можно командой:

sudo iptables -nvL

Смотри также:
Установка и настройка SSH
Настройка IPTables

Установка Ministra TV Platform (Stalker Middleware) в Ubuntu

На тесте выполню установку Ministra TV Platform (предыдущее название Stalker Middleware) в Ubuntu Server 14.04 LTS.

Сначала сделаем запрос на загрузку посетив официальный сайт www.infomir.eu.
Распакуем скачанный архив:

sudo apt-get install unzip
unzip stalker_portal-5.3.0.zip

Скопируем файлы в директорию веб сервера:

cp -a infomirgroup-stalker_portal* /var/www/stalker_portal

Установим необходимые компоненты:

sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get install -y -u apache2 nginx memcached mysql-server php5 php5-mysql php-pear nodejs upstart 
sudo pear channel-discover pear.phing.info
sudo pear install phing/phing

Создадим MySQL базу данных и пользователя:

mysql -u root -p
CREATE DATABASE stalker_db;
CREATE USER 'stalker'@'localhost' IDENTIFIED BY 'PASSWORD';
GRANT ALL PRIVILEGES ON stalker_db.* TO stalker@localhost IDENTIFIED BY '1' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit

Если необходимо изменить параметры в файле конфигурации /var/www/stalker_portal/server/config.ini, то создадим файл custom.ini и добавим параметры которые необходимо изменить:

sudo nano /var/www/stalker_portal/server/custom.ini

Например, пароль к базе данных:

[database]
mysql_pass = PASSWORD

Выполним phing (этот процесс может занять длительное время, также в моем случае был запрошен пароль root пользователя MySQL):

cd /var/www/stalker_portal/deploy/
sudo phing

В /etc/mysql/my.cnf укажем:

max_allowed_packet = 32M

Активируем короткие теги PHP в /etc/php5/apache2/php.ini:

short_open_tag = On

Пакет libapache2-mod-php5filter не должен быть установлен в системе:

sudo apt-get purge libapache2-mod-php5filter

Сделаем резервную копию стандартной конфигурации веб сервера apache2 и очистим файл:

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/000-default_backup.conf
sudo nano /etc/apache2/sites-available/000-default.conf

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

    <VirtualHost *:88>
            ServerAdmin webmaster@localhost
            DocumentRoot /var/www
            <Directory /var/www/stalker_portal/>
                    Options -Indexes -MultiViews
                    AllowOverride ALL
                    Require all granted
            </Directory>
            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>

Изменим порт на Listen 88:

sudo nano /etc/apache2/ports.conf

Перезапустим apache2 чтобы применить изменения:

sudo service apache2 restart

Сделаем резервную копию стандартной конфигурации веб сервера nginx и очистим файл:

sudo mv /etc/nginx/sites-available/default /etc/nginx/sites-available/default_backup
sudo nano /etc/nginx/sites-available/default

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

    server {
        listen       80;
        server_name  localhost;
     
        location / {
            proxy_pass http://127.0.0.1:88/;
            proxy_set_header Host $host:$server_port;
            proxy_set_header X-Real-IP $remote_addr;
        }
     
        location ~* \.(htm|html|jpeg|jpg|gif|png|css|js)$ {
            root /var/www;
            expires 30d;
        }
    }

Перезапустим nginx чтобы применить изменения:

sudo service nginx restart

Теперь можно открыть в браузере интерфейс администратора http://SERVER/stalker_portal, логин — admin, пароль — 1.
И клиента — http://SERVER/stalker_portal/c/

Причина увеличения 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

Как сделать загрузочную флешку с CAINE

Чтобы сделать загрузочную флешку с CAINE выполним несколько действий:

1) Скачаем образ CAINE с официального сайта www.caine-live.net

2) Скачаем установщик Universal USB Installer http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/

3) Подключим флешку к компьютеру и запустим установщик Universal USB Installer. В нем согласимся с лицензионным соглашением нажав «I Agree«, во втором окне где «Step 1:» выберем «CAINE Linux«, где «Step 2» нажмем «Browse» и укажем на скачанный образ CAINE (например caine9.0.iso). В «Step 3:» выберем букву флешки, поставим галочку на «Format» (это переразметит таблицу файловой системы и сотрет все данные на флешке).

4) Жмем «Create» и ждем завершения процесса.

IPTables правила для Iperf

Посмотрим текущие правила IPTables:

iptables -nvL

Чтобы открыть порт серверу Iperf добавим правило:

sudo iptables -A INPUT -p tcp --dport 5001 -j ACCEPT

Чтобы открыть порт конкретному IP или сети:

sudo iptables -A INPUT -s 192.168.5.11/32 -p tcp --dport 5001 -j ACCEPT

Смотри также мои статьи:
Настройка IPTables
Тестируем пропускную способности сети с помошью Iperf

IPTables правила для ntopng

Первым делом посмотрим текущие правила IPTables:

iptables -nvL

Чтобы открыть порт ntopng добавим правило:

sudo iptables -A INPUT -m tcp -p tcp --dport 3000 -j ACCEPT

Чтобы открыть порт ntopng только для конкретной сети или IP:

sudo iptables -A INPUT -m tcp -p tcp --dport 3000 -s 10.0.0.0/24 -j ACCEPT

Смотри также мои статьи:
Настройка IPTables
Установка и настройка ntopng

IPTables правила для nprobe

Первым делом посмотрим текущие правила IPTables:

iptables -nvL

Чтобы nprobe мог принимать NetFlow данные, откроем ему порт:

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

Чтобы nprobe мог принимать NetFlow данные только от конкретной сети или IP:

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

Смотри также мои статьи:
Настройка IPTables
Установка и настройка nprobe

Установка и настройка 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

Решение ошибки «Missing /etc/ntopng/ntopng.start. Quitting»

Попробовал запустить однажды ntopng:

sudo /etc/init.d/ntopng start

И получил следующую ошибку запуска:

* Missing /etc/ntopng/ntopng.start. Quitting
…fail!

ntopng запускался только так:

sudo /etc/init.d/ntopng force-start

Чтобы решить ошибку, достаточно создать пустой файл:

sudo touch /etc/ntopng/ntopng.start
sudo /etc/init.d/ntopng restart

Смотрите также:
Установка и настройка ntopng