Одна из простейших форм проверки наличия IP-адреса в известном черном списке - выполнение DNS-запроса либо с помощью dig
], хост
или nslookup
в список RBL / DNS; в конце концов, именно так это делают почтовые серверы.
А именно несколько, которые все еще очень активны, в том числе:
Например, чтобы проверить, есть ли IP-адрес 116.103. 227.39 находится в черном списке, вы меняете его и добавляете обратный IP в один из приведенных выше списков.
$ host 39.227.103.116.zen.spamhaus.org.
39.227.103.116.zen.spamhaus.org has address 127.0.0.4
39.227.103.116.zen.spamhaus.org has address 127.0.0.11
Из подключаемого модуля черного списка DNS (DNSBL / RBL)
Если поиск DNS возвращает значение (обычно фиктивный IP-адрес 127.0.0.2), это означает, что IP-адрес отправителя находится в черном списке.
Вам, вероятно, следует подумать о преобразовании в собственный модуль systemd, поскольку ваш сценарий инициализации довольно типичен, и вы можете например, полностью удалите код остановки и позвольте механизму systemd по умолчанию работать на вас, поскольку у вас есть PIDFILE, где он может проверить, что демон запущен, и поэтому знает, как его убить (см. man systemd.kill
) .
systemd требует большого обучения, но вы можете начать с этого блога о преобразовании в systemd самим человеком, Леннартом Поеттерингом.
Обычно ваш сценарий инициализации должен продолжать работать из-за встроенной совместимости с systemd.См. man systemd-sysv-generator
и найдите оболочку файла systemd Unit для своего сценария myd
в /run/systemd/generator.late/myd.service
.
Проверьте статус и журнал вашего скрипта с помощью
sudo systemctl status myd
, остановите и запустите его аналогичным образом. Обратите внимание на gotcha , которое я описал в в этом ответе , где второй запуск чего-то, что, по мнению systemd, уже запущено, не даст никакого эффекта.
См. эту вики для преобразования System V или сценариев выскочки, подобных вашему, в собственные модули systemd.