Готовим DHCP из FreeRadius и Python
Появилась у меня оччень интересная задачка – поднять DHCP сервер, с поддержкой MySQL. Через пару часов тестирования сразу вылетел db2dhcp (http://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.
- Находим строку ./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?:))))) ):
1dpkg-buildpackageПовар пишет этот рецепт…. Далее будет
PS: физическая машинка была HP ProLiant DL360p Gen8.