{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Аникин: заметки с тегом DNS",
    "_rss_description": "Блог об администрировании Linux, BSD и не только",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/anikin.pw\/tags\/dns\/",
    "feed_url": "https:\/\/anikin.pw\/tags\/dns\/json\/",
    "icon": "https:\/\/anikin.pw\/pictures\/userpic\/userpic@2x.jpg?1478690884",
    "authors": [
        {
            "name": "Петр Аникин",
            "url": "https:\/\/anikin.pw\/",
            "avatar": "https:\/\/anikin.pw\/pictures\/userpic\/userpic@2x.jpg?1478690884"
        }
    ],
    "items": [
        {
            "id": "113",
            "url": "https:\/\/anikin.pw\/all\/ustanovka-certbot-na-astra-linux\/",
            "title": "Установка certbot на astra linux",
            "content_html": "<p>Убедитесь, что установлен python3-pip<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># apt install python3-pip python3-venv<\/code><\/pre><p>Создайте виртуальное окружение в удобном месте (например, в \/opt\/certbot)<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># python3 -m venv \/opt\/certbot-env<\/code><\/pre><p>Активируйте окружение и установите пакеты<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># source \/opt\/certbot-env\/bin\/activate\n# pip install --upgrade pip\n# pip install certbot certbot-dns-timeweb<\/code><\/pre><p>Теперь для использования certbot вам нужно либо активировать окружение,<br \/>\nлибо вызывать его напрямую:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># \/opt\/certbot-env\/bin\/certbot certonly --authenticator dns-timeweb \\\n    --dns-timeweb-credentials \/opt\/certbot-env\/timeweb-creds.ini \\\n    --dns-timeweb-propagation-seconds 120 \\\n    -d domain.ru -d *.domain.ru --dry-run<\/code><\/pre>",
            "date_published": "2026-03-10T10:45:51+03:00",
            "date_modified": "2026-04-01T12:03:09+03:00",
            "tags": [
                "certbot",
                "DNS",
                "lets encrypt",
                "timeweb"
            ],
            "_date_published_rfc2822": "Tue, 10 Mar 2026 10:45:51 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "113",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "102",
            "url": "https:\/\/anikin.pw\/all\/oshibka-dobavleniya-ptr-zapisi-v-vestacp\/",
            "title": "Ошибка добавления ptr записи в VestaCP",
            "content_html": "<pre class=\"e2-text-code\"><code class=\"\">Error: PTR record domain.net should be a fully qualified domain name (FQDN)<\/code><\/pre><p>В файле \/usr\/local\/vesta\/func\/domain.sh находим<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">if [ $t = 'CNAME' ]; then<\/code><\/pre><p>И перед этим вписываем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">if [ $t = 'PTR' ]; then\n        tree_length=2\nfi<\/code><\/pre>",
            "date_published": "2020-10-12T15:42:42+03:00",
            "date_modified": "2020-10-12T15:42:29+03:00",
            "tags": [
                "DNS",
                "ptr",
                "vesta control panel",
                "vestacp"
            ],
            "_date_published_rfc2822": "Mon, 12 Oct 2020 15:42:42 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "102",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "81",
            "url": "https:\/\/anikin.pw\/all\/avtomaticheskoe-dobavlenie-novyh-domenov-na-slavedns-bind9\/",
            "title": "Автоматическое добавление новых доменов на slaveDNS(bind9)",
            "content_html": "<p>Скрипт смотрит в конфиг named.conf на мастере на наличие новых доменов. И при появлении новых доменов добавляет их в named.conf на slave сервере. Написан на питоне.<br \/>\nНа мастер сервере нужно создать пользователя и добавить его в группу bind, чтобы у него были права на чтение named.conf. Также на master нужно разрешить трансфер зон.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">allow-transfer { ip-slave_сервера; };<\/code><\/pre><p>На slave сервере нужно настроить ssh авторизацию по ключам с master сервером для этого юзера.<br \/>\nЗатем получаем сам скрипт и перенесем его в \/usr\/bin<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">git clone https:\/\/github.com\/shmulya\/zonefetch\nmv zonefetch\/fetch.py \/usr\/bin\/fetch.py<\/code><\/pre><p>Правим там переменные:<br \/>\nMASTERIP — ip master сервера(можно указать несколько серверов в формате [’ip1’,’ip2’])<br \/>\nREMOTE_USERNAME — юзер master сервера у которого есть права на чтение named.conf<br \/>\nPATH_TO_MASTER_ZONEFILE — файл с зонами на master<br \/>\nPATH_TO_SLAVE_ZONEFILE — каталог для файлов с зонами на slave<\/p>\n<p>Скрипт пишет зоны в файлы вида \/etc\/bind\/ip.conf, например для master с ip — 192.168.0.1 это будет \/etc\/bind\/192.168.0.1.conf.<br \/>\nЭти файлы нужно создать предварительно и добавить соответствующие инклуды в \/etc\/named.conf, например:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">include &quot;\/etc\/bind\/192.168.0.1.conf&quot;;<\/code><\/pre><p>В конце добавим скрипт в крон примерно так<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">*\/5 * * * * \/usr\/bin\/python \/usr\/bin\/fetch.py &gt;&gt; \/var\/log\/zonefetch.log 2&gt;&amp;1<\/code><\/pre>",
            "date_published": "2017-05-17T17:42:00+03:00",
            "date_modified": "2017-05-17T18:00:11+03:00",
            "tags": [
                "bind",
                "debian",
                "DNS"
            ],
            "_date_published_rfc2822": "Wed, 17 May 2017 17:42:00 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "81",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        }
    ],
    "_e2_version": 4134,
    "_e2_ua_string": "Aegea 11.3 (v4134)"
}