DHCP сервер

Материал из virt2real wiki
Перейти к: навигация, поиск

Сборка DHCP сервера

make fsconfig

Необходимо включить пункты

BR2_PACKAGE_DHCP:
  DHCP relay agent from the ISC DHCP distribution.
  Symbol: BR2_PACKAGE_DHCP [=y]
  Type  : boolean
    Prompt: isc dhcp
    Defined at package/dhcp/Config.in:1
    Depends on: BR2_PACKAGE_BUSYBOX_SHOW_OTHERS [=y] && BR2_USE_MMU [=y]
    Location:
      -> Package Selection for the target
      -> Networking applications


и в появившихся подпунктах включить "dhcp server" и заодно "dhcp client".

Минимальный конфиг для DHCP-сервера: файл /etc/dhcp/dhcpd.conf

ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.2.0 netmask 255.255.255.0 {
       option routers  192.168.2.1;
       option subnet-mask      255.255.255.0;
       option domain-name      "local.virt2real.ru";
       option domain-name-servers      192.168.2.1;
       range 192.168.2.10 192.168.2.250;
}

Запуск DHCP сервера обычно производится из каталога скриптов автозагрузки /etc/init.d, из файла S80dhcp-server

По-умолчанию, в Virt2real SDK прописан запуск DHCP сервера только при установленном параметре файла uEnv.txt "ap=on" (т.е. только при включённой программной точке доступа)

root@virt2real# cat S80dhcp-server
#!/bin/sh
#
# $Id: dhcp3-server.init.d,v 1.4 2003/07/13 19:12:41 mdz Exp $
#
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="uap0"
# It is not safe to start if we don't have a default configuration...
#echo "/etc/init.d/dhcp-server not yet configured! - Aborting..."
test -f /usr/sbin/dhcpd || exit 0
AP=`cat /proc/cmdline | grep "ap=on"`
if [ "$AP" = "" ] ; then
       exit
fi
case "$1" in
       start)
               echo -n "Starting DHCP server: "
               test -d /var/lib/dhcp/ || mkdir -p /var/lib/dhcp/
               test -f /var/lib/dhcp/dhcpd.leases || touch /var/lib/dhcp/dhcpd.leases
               test -f /etc/dhcp.conf || ln -s /etc/dhcp/dhcpd.conf /etc/dhcpd.conf > /dev/null
               @ rm /var/run/dhcpd.pid > /dev/null
               start-stop-daemon -S -x /usr/sbin/dhcpd  -q $INTERFACES
               echo "."
               ;;
       stop)
               echo -n "Stopping DHCP server: dhcpd3"
               start-stop-daemon -K -x /usr/sbin/dhcpd
               echo "."
               ;;
       restart | force-reload)
               $0 stop
               sleep 2
               $0 start
               if [ "$?" != "0" ]; then
                       exit 1
               fi
               ;;
       *)
               echo "Usage: /etc/init.d/dhcp-server {start|stop|restart|force-reload}"
               exit 1
esac
exit 0