Приведу пример установки и настройки xt_NAT в Ubuntu Server 14.04 с версией ядра 4.4.0-142. На новых версиях ядра xt_NAT может не работать. По словам разработчика должно работать на Linux Kernel 3.18 и 4.1. Чтобы работало на новых версиях ядра, можно найти патчи.
Читать далее «Установка и настройка xt_NAT»Архивы меток:NAT
Блокировка SPAM за NAT сервером
В этой статье я приведу пример обнаружения и блокировки рассылки спам сообщений за NAT сервером.
Читать далее «Блокировка SPAM за NAT сервером»Изменение gc_thresh в Linux
В этой статье я приведу пример изменения gc_thresh в Linux, этот параметр обычно нужно увеличивать на высоконагруженных серверах доступа.
Читать далее «Изменение gc_thresh в Linux»Модули NAT для VPN, FTP, SIP
Допустим на Linux сервере настроен SNAT или маскарадинг, допустим как я описывал в статье Настройка маскарадинга (NAT) в Ubuntu. Но если за NAT много клиентов подключается к внешним серверам PPTP, FTP, SIP, то у них будут проблемы с подключением.
Читать далее «Модули NAT для VPN, FTP, SIP»Настройка Hairpin NAT на RouterOS (Mikrotik)
В этой статье я приведу пример настройки Hairpin NAT на RouterOS (Mikrotik).
Бываю случаи когда в локальной сети находится например сервер или видеорегистратор, порты к которому проброшены в фаерволе, но подключиться можно только из других сетей, а из локальной сети получается только по локальному IP адресу, но не по внешнему, что на WAN интерфейсе маршрутизатора.
Читать далее «Настройка Hairpin NAT на RouterOS (Mikrotik)»Разница между MASQUERADE и SNAT
В этой статье я кратко опишу разницу между MASQUERADE и SNAT.
MASQUERADE. Менее быстрая маршрутизация чем SNAT при массовых запросах, так как для каждого нового соединения определяется IP адрес на внешнем сетевом интерфейсе (WAN). Отлично подходит для маршрутизаторов домашнего использования и когда меняется IP адрес на WAN интерфейсе.
Читать далее «Разница между MASQUERADE и SNAT»
Сборка и установка accel-ppp
В этой статье я приведу пример сборки и установки accel-ppp в Ubuntu Server.
Читать далее «Сборка и установка accel-ppp»Причина увеличения 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
Мониторинг Linux ISG в Zabbix
Сегодня захотелось сделать мониторинг Linux ISG сессий в Zabbix.
Введя команду на одном из серверов:
/opt/ISG/bin/ISG.pl show_count
Увидел следующее:
Approved sessions count: 2021
Unapproved sessions count: 2
Zabbix агент на сервере уже был установлен, поэтому открыл его конфигурационный файл (в редакторе nano клавиши Ctrl+X для выхода, а y/n для сохранения или отмены изменений):
nano /etc/zabbix/zabbix_agentd.conf
Придумал и добавил следующий код:
UserParameter=isg.approved, /opt/ISG/bin/ISG.pl show_count | grep "Approved sessions count:" | awk '{print $4}' UserParameter=isg.unapproved, /opt/ISG/bin/ISG.pl show_count | grep "Unapproved sessions count:" | awk '{print $4}'
Разрешим работу Zabbix агента под root пользователем указав:
AllowRoot=1
Перезапустим Zabbix агент чтобы применить изменения:
sudo /etc/init.d/zabbix-agent restart
На Zabbix сервере создадим шаблон ISG, добавим в него элементы данных, указав тип — Zabbix агент, а ключи: isg.approved, isg.unapproved.
Создадим графики для созданных элементов данных.
Применим шаблон к нужным узлам сети.
Готово.
Решение ошибки «nf_conntrack: table full, dropping packet»
Заметил однажды в Ubuntu Server 14.04 LTS настроенного как роутер, в файле /var/log/kern.log следующую ошибку:
Читать далее «Решение ошибки «nf_conntrack: table full, dropping packet»»