Блокировка социальных сетей используя iptables

Однажды на одном из NAT серверов мне понадобилось заблокировать некоторые сайты.

Если сайты находятся на нескольких IP адресах, то необходимо узнать эти диапазоны IP адресов, например поищем VKontakte на bgp.he.net, вот к примеру список подсетей для одной из AS принадлежащей ВКонтакте «http://bgp.he.net/AS47541#_prefixes».

Когда сети или хосты известны, добавим в iptables правила для них, например:

/sbin/iptables -A FORWARD -s 87.240.128.0/18 -j DROP
/sbin/iptables -A FORWARD -s 95.142.192.0/20 -j DROP

Таким образом, мы запретим прохождение трафика этих сетей через сервер.

Смотрите также мои статьи:
Блокировка социальных сетей на Cisco
Запрет социальных сетей на маршрутизаторах Mikrotik

Установка NetData

NetData — система мониторинга, отображающая на веб-панелях статистику в реальном времени.

На тесте выполню установку NetData в Ubuntu 18.04 и Ubuntu 16.04.
Перед установкой можно обновить систему:

sudo apt-get update
sudo apt-get upgrade

Если версия Ubuntu 18.04 и новее, то NetData устанавливается командой:

sudo apt-get install netdata

После установки конфигурация будет находится в /etc/netdata/, логи в /var/log/netdata/.

На Ubuntu 16.04 и старее, можно установить так (установка выполнится в /opt/netdata/):

sudo bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh)

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

sudo systemctl restart netdata

Посмотреть статус:

sudo systemctl status netdata
sudo ps ax | grep netdata

После установки NetData сразу можно открыть в браузере http://HOST:19999
Рекомендую сразу ограничить доступ к порту tcp 19999, например через iptables.

Решение PHP Notice: Use of undefined constant x — assumed ‘x’

Заметил однажды при написании PHP скрипта следующее уведомление:

PHP Notice:  Use of undefined constant uid - assumed 'uid' in /scripts/file.php on line 31
PHP Notice:  Use of undefined constant value - assumed 'value' in /scripts/file.php on line 32

Читать далее «Решение PHP Notice: Use of undefined constant x — assumed ‘x’»

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

Допустим на сервере по умолчанию INPUT DROP и установлен DNS сервер, теперь приведу пример IPTables правил чтобы к DNS серверу могли обращайся клиенты.

Чтобы открыть порт DNS в IPTables выполним правило:

Читать далее «IPTables правила для DNS»

Скрипт отправки СМС через Goip4 шлюз для ABillS

Приведу пример PHP скрипта, которым я рассылаю СМС сообщения через GoIP4 шлюз.

Сначала выберем тарифы только с месячным начислением:

SELECT name, tp_id FROM tarif_plans;
SELECT name, tp_id FROM tarif_plans WHERE month_fee>0;

Собственно вот сам скрипт, я запускаю его из cron на отдельном сервере (где я установил GoIP4 СМС сервер):

Читать далее «Скрипт отправки СМС через Goip4 шлюз для ABillS»

Обновление BIOS P70 на HP ProLiant DL380p Gen8

На тесте выполню обновление BIOS P70 на сервере HP ProLiant DL380p Gen8.
Выполнять обновление буду через iLO4.
На момент написания статьи, на сервере был BIOS версии 03/01/2013, а с официального сайта я скачал 24/05/2019.

Читать далее «Обновление BIOS P70 на HP ProLiant DL380p Gen8»

Клавиши Home, End, Page Up и Page Down на MacBook

Приведу примеры использования некоторых клавиш в MacOS на MacBook, которых нет на клавиатуре:

PageUp — fn + стрелка вверх
PageUp (в браузере) — Пробел
PageDown — fn + стрелка вниз
PageDown (в браузере) — Shift + Пробел
Читать далее «Клавиши Home, End, Page Up и Page Down на MacBook»

Настройка WatchDog от ABillS

В биллинговой системе ABillS можно настроить проверку состояния любых запущенных программ, и настроить автоматический запуск если какая либо из них не запущена.

Например для слежением за FreeRadius необходимо выполнять команду:

/usr/abills/libexec/billd check_programs PROGRAMS="radiusd:/etc/init.d/radiusd start"

Где «radiusd» — имя программы в процессах, а «/etc/init.d/radiusd start» команды для ее запуска.

Читать далее «Настройка WatchDog от ABillS»

Настройка IP Unnumbered на Cisco

На тесте настрою IP Unnumbered на Cisco Catalyst 6509E с прошивкой 12.2(33)SXJ7, на других коммутаторах настройка аналогична.
IP Unnumbered полезен например когда нужно поделить большую сеть на несколько VLAN и при этом использовать одни и те же IP адреса, а также чтобы выдавать белые IP в любом VLAN используя один шлюз.

Подключимся к терминалу устройства через консоль, telnet или SSH.

Читать далее «Настройка IP Unnumbered на Cisco»