Приведу пример изменения TX и RX буферов сетевых интерфейсов в Linux.
Сначала установим ethtool если он не установлен:
Архивы рубрик:Linux
IPTables правила для MySQL
Если в iptables блокируются все входящие соединения (INPUT DROP) и чтобы открыть внешний доступ к MySQL необходимо добавить правила:
iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
Чтобы открыть доступ только конкретной сети, например 10.0.0.0/24:
iptables -A INPUT -s 10.0.0.0/24 -p tcp -m tcp --dport 3306 -j ACCEPT
Чтобы удалить правило укажем ту же команду, заменив -A на -D, например:
iptables -D INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
Посмотреть список правил можно командой:
sudo iptables -nvL
Замечу, для того чтобы открыть внешний доступ, также нужно в конфигурационном файле my.cnf закомментировать строку «bind-address = 127.0.0.1».
Если по умолчанию INPUT ACCEPT, то сначала укажем с каких IP разрешен доступ, а только последним правилом заблокируем всем остальным:
/sbin/iptables -A INPUT -s 127.0.0.1 -p tcp --destination-port 3306 -j ACCEPT /sbin/iptables -A INPUT -s 192.168.1.5 -p tcp --destination-port 3306 -j ACCEPT /sbin/iptables -A INPUT -p tcp --dport 3306 -j DROP
Например используя nmap можно проверить локально и внешне фильтруется ли доступ:
nmap -p 3306 localhost nmap -p 3306 192.168.1.5
Смотри также:
Настройка IPTables
Другие мои статьи о MySQL
Решение ошибки «md: kicking non-fresh sda1 from array»
Был когда-то случай, выпал из рейда один диск и при загрузке сервера в логах отображалось сообщение:
md: kicking non-fresh sda1 from array
Так как диск был не в рейде, то данные на нем устарели.
Прежде всего проверим диск на ошибки, например как я писал в статье указанной ниже, и попытаемся определить почему он был исключен из рейда.
В моем случае диск был полностью рабочий, поэтому посмотрев информацию о рейде:
cat /proc/mdstat mdadm --detail /dev/md0
Вернул его обратно в рейд:
mdadm /dev/md0 -a /dev/sda1
Спустя некоторое время данные синхронизировались на диск и ошибка больше не появлялась.
Смотрите также:
Диагностика HDD используя smartmontools
mdadm — утилита управления программными RAID массивами
Решение проблемы с выпавшими дисками mdadm
IPTables правила для NTP и SNTP
Чтобы открыть доступ NTP клиенту и серверу в IPTables необходимо добавить правила:
Читать далее «IPTables правила для NTP и SNTP»Установка и использование jnettop
jnettop — утилита для просмотра статистики трафика в реальном времени, с сортировкой по хостам/портам.
Команда установки в Ubuntu/Debian:
sudo apt-get install jnettop
Команда установки в CentOS:
sudo yum install jnettop
Пример простого запуска:
sudo jnettop
Пример запуска с указанием сетевого интерфейса:
sudo jnettop -i eth0
Опишу возможные опции запуска:
-h (справка)
-v (просмотр версии)
-c (отключить фильтрацию контента)
-d (записывать отладочную информацию в файл)
-f (чтение конфигурации из файла, если не указано, то файл ищется по пути ~/.jnettop)
-i (захватить пакеты с указанного интерфейса)
—local-aggr [none|host|port|host+port] (установить локальное агрегирование на указанное значение)
—remote-aggr [none|host|port|host+port] (установить удаленное агрегирование на указанное значение)
-n (не преобразовывать IP в DNS имена)
-p (включение неразборчивого режима, чтобы принимать все пакеты которые приходят на сетевой интерфейс)
-s (выбирает одно из правил, определенных в файле конфигурации .jnettop (по его имени))
-x (позволяет специфицировать правило пользовательской фильтрации. это позволяет использовать синтаксис стиля tcpdump. не забудьте включить фильтр в кавычки при запуске из оболочки)
Решение предупреждения Asterisk «leave_voicemail: No more messages possible»
Заметил на одном из серверов следующую ошибку:
WARNING[21992][C-00000b27]: app_voicemail.c:6559 leave_voicemail: No more messages possible
Оказалось что почтовый ящик переполнен голосовыми сообщениями и они перестали сохранятся, в ответ звонящему сообщалось «Голосовой ящик абонента переполнен».
Чтобы решить эту проблему есть несколько вариантов:
1) Удалить сообщения в голосовом ящике, позвонив на номер голосовой почты.
2) Увеличить значение maxmsg в файле voicemail.conf, тем самым увеличив максимальное количество сообщений в почтовом ящике, но опять же он может быть переполнен. После изменений в файле voicemail.conf нужно их применить:
sudo asterisk -rvv voicemail reload quit
3) В контексте голосового ящика добавить delete=yes, например:
[voicemailcontext] 207 => 1111,Username,test@example.com,,attach=yes|tz=ua|delete=yes
В этом случае голосовые сообщения будут отправятся на электронную почту, а с сервера сразу удалятся, то есть их нельзя будет прослушать позвонив на номер голосовой почты и соответственно почтовый ящик никогда не переполнится. Считаю этот вариант наилучшим.
Смотрите также:
Настройка голосовой почты в Asterisk
IPTables правила для FTP сервера
Чтобы открыть доступ к FTP серверу в IPTables необходимо добавить правила:
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 1024:1030 -j ACCEPT
Чтобы открыть доступ только конкретной сети, например 192.168.1.0/24:
sudo iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 21 -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT sudo iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 1024:1030 -j ACCEPT
Чтобы удалить правило укажем ту же команду, заменив -A на -D, например:
sudo iptables -D INPUT -p tcp --dport 21 -j ACCEPT sudo iptables -D OUTPUT -p tcp --sport 20 -j ACCEPT sudo iptables -D INPUT -p tcp --dport 1024:1030 -j ACCEPT
Посмотреть список правил можно командой:
sudo iptables -nvL
1024-1030 — пример портов для пассивного режима, указываются в конфигурации FTP сервера, например для ProFTPd указываются в файле /etc/proftpd/proftpd.conf так:
PassivePorts 1024 1030
Смотри также мои статьи:
Настройка IPTables
Активный и пассивный режим работы FTP
Установка и настройка Pure-FTPd в Ubuntu
Установка и настройка ProFTPd в Ubuntu
IPTables правила для Samba
Чтобы открыть доступ к Samba в IPTables необходимо добавить сразу четыре правила:
sudo iptables -A INPUT -p udp -m udp --dport 137 -j ACCEPT sudo iptables -A INPUT -p udp -m udp --dport 138 -j ACCEPT sudo iptables -A INPUT -p tcp -m tcp --dport 139 -j ACCEPT sudo iptables -A INPUT -p tcp -m tcp --dport 445 -j ACCEPT
Чтобы открыть доступ только конкретной сети, например 192.168.1.0/24:
sudo iptables -A INPUT -s 192.168.1.0/24 -p udp -m udp --dport 137 -j ACCEPT sudo iptables -A INPUT -s 192.168.1.0/24 -p udp -m udp --dport 138 -j ACCEPT sudo iptables -A INPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 139 -j ACCEPT sudo iptables -A INPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 445 -j ACCEPT
Чтобы удалить правило укажем ту же команду, заменив -A на -D, например:
sudo iptables -D INPUT -s 192.168.1.0/24 -p udp -m udp --dport 137 -j ACCEPT sudo iptables -D INPUT -s 192.168.1.0/24 -p udp -m udp --dport 138 -j ACCEPT sudo iptables -D INPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 139 -j ACCEPT sudo iptables -D INPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 445 -j ACCEPT
Посмотреть список правил можно командой:
sudo iptables -nvL
Смотри также мои статьи:
Настройка IPTables
Установка и настройка Samba в Linux
IPTables правила для TFTP
Чтобы открыть порт TFTP в IPTables выполним правило:
Читать далее «IPTables правила для TFTP»IPTables правила для Asterisk
Чтобы разрешить подключение SIP в IPTables, добавим правила (первое для соединений, второе для голосового трафика):
sudo iptables -A INPUT -p udp -m udp --dport 5060 -j ACCEPT
sudo iptables -A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT
Чтобы разрешить подключения только с конкретного адреса, то вместо правил выше укажем (где 192.168.1.50 доверенный IP адрес):
sudo iptables -A INPUT -p udp -m udp -s 192.168.1.50 --dport 5060 -j ACCEPT
sudo iptables -A INPUT -p udp -m udp -s 192.168.1.50 --dport 10000:20000 -j ACCEPT
Аналогично укажем для каждого IP либо сразу для подсети, например:
sudo iptables -A INPUT -p udp -m udp -s 192.168.1.0/24 --dport 5060 -j ACCEPT
sudo iptables -A INPUT -p udp -m udp -s 192.168.1.0/24 --dport 10000:20000 -j ACCEPT
Чтобы удалить правило укажем ту же команду, заменив -A на -D, например:
sudo iptables -D INPUT -p udp -m udp -s 192.168.1.0/24 --dport 5060 -j ACCEPT
sudo iptables -D INPUT -p udp -m udp -s 192.168.1.0/24 --dport 10000:20000 -j ACCEPT
Посмотреть список правил можно командой:
sudo iptables -nvL
Смотри также мои статьи:
IPTables правила для Asterisk AMI
Настройка IPTables