Как установить Midnight Commander (MC) в Ubuntu 18.04

Однажды после установки Ubuntu Server 18.04, при попытке установить Midnight Commander отобразилось сообщение что не найден пакет для установки.

Чтобы решить проблему, необходимо добавить Universe репозиторий:
Читать далее «Как установить Midnight Commander (MC) в Ubuntu 18.04»

Обновление прошивки TP-Link TL-WR941N

Для теста обновлю маршрутизатор TP-Link TL-WR941N 300Мб/с V2 с прошивкой 3.12.5 Build 100929 Rel.57776n.

1) Посмотрим ревизию маршрутизатора, в моем случае это V2, и именно для неё скачаем архив с новой прошивкой с официального сайта, первая ссылка для модели 300Мб/c, а вторая для 450Мб/c.
Читать далее «Обновление прошивки TP-Link TL-WR941N»

Ограничение скорости на сетевом интерфейсе используя TC

Приведу пример ограничения скорости до 3,3 Гб/с на сетевом интерфейса в Ubuntu Server 16.04:

/sbin/tc qdisc del dev ens2f0 parent ffff:
/sbin/tc qdisc add dev ens2f0 handle ffff: ingress
/sbin/tc filter add dev ens2f0 parent ffff: protocol ip prio 50 u32 match ip dst 0.0.0.0/0 police rate 3300mbit burst 330k mtu 30000 drop flowid 1:0

Читать далее «Ограничение скорости на сетевом интерфейсе используя TC»

Создание dummy интерфейсов в Linux

Приведу пример создания dummy интерфейсов в Linux.
На тесте использую Ubuntu Server 16.04.

Первый делом необходимо загрузить модуль «dummy», можно также добавить опцию «numdummies=2» чтобы сразу создалось два интерфейса dummyX:
Читать далее «Создание dummy интерфейсов в Linux»

BGP. Балансировка каналов на Quagga

Приведу пример балансировки только входящего трафика при двух каналах используя Quagga.

На тесте буду использовать Ubuntu 16.04.4 LTS и Quagga 0.99.24.1, сетевой интерфейс ens1f0 для второго провайдера с одним neighbors и ens2f0 для первого провайдера с двумя neighbors, в ens2f1 будет подключена локальная сеть. Оба провайдера анонсируют «default».
3.3.3.0/23 это будет моя сеть с белыми IP адресами.
Читать далее «BGP. Балансировка каналов на Quagga»

Блокировка социальных сетей используя 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 выполним правило:

sudo iptables -A INPUT -i eth0 -p udp --dport 53 -m state --state ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 53 -m state --state ESTABLISHED -j ACCEPT

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

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

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

Сначала выберем тарифы только с месячным начислением (я выбрал все, исключив с дневным начислением, так как их меньше):

SELECT name, tp_id FROM tarif_plans;
SELECT name, tp_id FROM tarif_plans WHERE tp_id NOT IN(1,2,4,8,9,10,39,63,64,65,106,107,109,110,114,117,118,119)

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