пʼятниця, 3 липня 2015 р.

Собираем и настраиваем DNS сервер bundy (BIND10). Часть 2.

Итак, продолжим наши эксперименты.
После того как закончится сборка, выполняем инсталляцию:
# make install
Подготовка к первому запуску.
По умолчанию сервисы DNS и DHCP не запускаются, их нужно отдельно активировать при помощи утилиты bundyctl. Перед этим нам нужно добавить пользователя от которого мы будем управлять сервисом.
# bundy-cmdctl-usermgr add root
Так же стоит подготовить базу данных для DHCP сервера.
# mysql -u root -p
mysql> CREATE DATABASE bundy;
mysql> CONNECT bundy;
mysql> SOURCE /usr/share/bundy/dhcpdb_create.mysql
mysql> CREATE USER 'bundy'@'localhost' IDENTIFIED BY 'bundy';
mysql> GRANT ALL ON bundy.* TO 'bundy'@'localhost';
mysql> quit
Ну вот и все мы готовы к запуску и посмотреть что же это за зверь такой этот BUNDY 

Поехали...
Из родительской системы выполняем команду запуска, для первого запуска можно даже добавить ключ --verbose
$ docker exec -i -t bundy /usr/sbin/bundy --verbose
В контейнере подключаемся к сервису используя утилиту bundyctl которая позволяет нам  управлять и настраивать все сервисы bundy.
# bundyctl
Username: root
Password:
["login success"]
> help

usage: <module name> <command name> [param1 = value1 [, param2 = value2]]
Type Tab character to get the hint of module/command/parameters.
Type "help(? h)" for help on bundyctl.
Type "<module_name> help" for help on the specific module.
Type "<module_name> <command_name> help" for help on the specific command.

Available module names:
    help        Get help for bundyctl.
    config      Configuration commands.
    execute     Execute a given set of commands
    Stats       Stats daemon
    tsig_keys   The TSIG keyring is stored here
    Init        Init process
    Logging     Logging options
    data_sources
            The sources of authoritative DNS data
    Cmdctl      Interface for command and control
    Msgq        The message queue
>
Как я и говорил выше, по умолчанию сервисы DNS и DHCP (и другие) не запущены, для их инициализации есть готовый скрип который выполняет инициализацию авторизированного DNS сервер. Итак, для начала посмотрим какие у нас процессы запущены до начала инициализации.
> Init show_processes
[
    [
        18493,
        "Socket creator",
        null
    ],
    [
        18494,
        "msgq",
        null
    ],
    [
        18496,
        "cfgmgr",
        "ConfigManager"
    ],
    [
        18498,
        "bundy-stats",
        "Stats"
    ],
    [
        18499,
        "bundy-cmdctl",
        "Cmdctl"
    ]
]
Выполняем скрипт инициализации и снова смотрим что у нас теперь с процессами:
> execute init_authoritative_server
adding Authoritative server component
adding Xfrin component
adding Xfrout component
adding Zone Manager component
Components added. Please enter "config commit" to
finalize initial setup and run the components.
> config commit
> Init show_processes
[
    [
        18493,
        "Socket creator",
        null
    ],
    [
        18494,
        "msgq",
        null
    ],
    [
        18496,
        "cfgmgr",
        "ConfigManager"
    ],
    [
        18498,
        "bundy-stats",
        "Stats"
    ],
    [
        18499,
        "bundy-cmdctl",
        "Cmdctl"
    ],
    [
        18559,
        "bundy-xfrout",
        "Xfrout"
    ],
    [
        18560,
        "bundy-xfrin",
        "Xfrin"
    ],
    [
        18561,
        "bundy-zonemgr",
        "Zonemgr"
    ],
    [
        18562,
        "bundy-auth",
        "Auth"
    ]
]
Думаю, что разница заметна :) У нас появились 4 новых процессов:



  • bundy-xfrout
  • bundy-xfrin
  • bundy-zonemgr
  • bundy-auth

  • Проверим работу DNS сервера через запрос его версии.
    # dig @127.0.0.1 -c CH -t TXT version.bind
    
    ; <<>> DiG 9.9.5-9-Debian <<>> @127.0.0.1 -c CH -t TXT version.bind
    ; (1 server found)
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27337
    ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
    ;; WARNING: recursion requested but not available
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;version.bind.   CH TXT
    
    ;; ANSWER SECTION:
    version.bind.  0 CH TXT "bundy 1.2.0"
    
    ;; AUTHORITY SECTION:
    bind.   0 CH NS bind.
    
    ;; Query time: 1 msec
    ;; SERVER: 127.0.0.1#53(127.0.0.1)
    ;; WHEN: Fri Jul 03 07:39:41 UTC 2015
    ;; MSG SIZE  rcvd: 79
    

    Ну что же нас можно поздравить - не взирая на всякие препятствия при компиляции, мы смогли запустить и инициализировать  авторизированный DNS сервер BUNDY|BIND10. Думаю что на сегодня достаточно буковок 

    В следующей части мы немного разберемся с модулями которые входят в bundy и кто за что отвечает.

    Немає коментарів:

    Дописати коментар