Готовим DHCP из FreeRadius и Python

Появилась у меня оччень интересная задачка – поднять DHCP сервер, с поддержкой MySQL. Через пару часов тестирования сразу вылетел db2dhcp (//www.netpatch.ru/devel/db2dhcp/) из-за своей глючности.

Все испытаняи проводились в клетке с OS Ubuntu 12.04.4 LTS, 32 RAM, ну и CPU E5-2620 (выделил 8 ядер), 8GB HDD.

После установки ОС я создал сразу snapshot, и поэтому после неудачных экспериментов с db2dhcp быстро вернулся в девственную систему.

Ставим нужное

1
apt-get install dpkg-dev mc gcc cmake build-essential make devscripts quilt build-essential libmysqlclient-dev libperl-dev libssl-dev debhelper libltdl-dev libgdbm-dev postgresql-server-dev-all libldap2-dev libpam-dev python-dev libiodbc2-dev libsasl2-dev libpcap-dev libsnmp-dev mysql-client

Гадим

1
apt-get source freeradius

Текущая версия распаковалась в папку freeradius-2.1.10+dfsg, переходим в нее и изменяем debian/rules.

  1. Находим строку ./configure (у меня была на 72 строке) и меняем до состояния:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    ./configure $(confflags) \
                    --prefix=/usr \
                    --exec-prefix=/usr \
                    --mandir=$(mandir) \
                    --sysconfdir=/etc \
                    --libdir=$(libdir) \
                    --datadir=/usr/share \
                    --localstatedir=/var \
                    --with-raddbdir=$(raddbdir) \
                    --with-logdir=/var/log/$(package) \
                    --enable-ltdl-install=no --enable-strict-dependencies \
                    --with-large-files --with-udpfromto --with-edir \
                    --enable-developer \
                    --config-cache \
                    --without-rlm_eap_tnc \
                    --with-rlm_sql_postgresql_lib_dir=`pg_config --libdir` \
                    --with-rlm_sql_postgresql_include_dir=`pg_config --includedir` \
                    --without-rlm_eap_ikev2 \
                    --without-rlm_sql_oracle \
                    --without-rlm_sql_unixodbc \
                    --without-rlm_opendirectory \
                    --without-rlm_ruby \
                    --without-rlm_sql_db2 \
                    --with-system-libtool \
                    --with-dhcp \
                    --with-experimental-modules

    собираем командой (теперь понимаете почему у меня 8 ядер и 32 RAM?:))))) ):

    1
    dpkg-buildpackage

    Повар пишет этот рецепт…. Далее будет

    PS: физическая машинка была HP ProLiant DL360p Gen8.