Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Следующая версия Следующая версия справа и слева | ||
сервис_dhcp [2016/09/13 08:17] val [Конфигурация с поддержкой динамических обновлений зон DNS] |
сервис_dhcp [2019/09/11 14:34] val [Debian/Ubuntu] |
||
---|---|---|---|
Строка 5: | Строка 5: | ||
===== Установка ===== | ===== Установка ===== | ||
- | ==== Ubuntu ==== | + | ==== Debian/Ubuntu ==== |
<code> | <code> | ||
root@gate:~# apt install isc-dhcp-server | root@gate:~# apt install isc-dhcp-server | ||
Строка 33: | Строка 33: | ||
==== CentOS ==== | ==== CentOS ==== | ||
- | * [[http://www.bender.kz/index.php/servera/5-server-dhcp-na-baze-centos-7|Сервер DHCP на базе CentOS 7]] | + | * [[https://www.dmosk.ru/miniinstruktions.php?mini=dhcp-centos|Установка и настройка DHCP сервера на Linux CentOS 7]] |
===== Настройка ===== | ===== Настройка ===== | ||
Строка 42: | Строка 42: | ||
</code><code> | </code><code> | ||
ddns-update-style none; | ddns-update-style none; | ||
- | |||
log-facility local7; | log-facility local7; | ||
+ | |||
+ | default-lease-time 600; | ||
+ | max-lease-time 7200; | ||
+ | |||
+ | option domain-name "corpX.un"; | ||
+ | option domain-name-servers 192.168.X.10; | ||
#### For provisioning #### | #### For provisioning #### | ||
#option tftp-server-name code 66 = string; # RFC 2132 | #option tftp-server-name code 66 = string; # RFC 2132 | ||
#option tftp-server-address code 150 = ip-address; # RFC 5859 | #option tftp-server-address code 150 = ip-address; # RFC 5859 | ||
+ | #option tftp-server-name "server.corpX.un"; | ||
+ | #option tftp-server-address 192.168.X.10; | ||
+ | | ||
+ | shared-network LAN1 { | ||
+ | subnet 192.168.X.0 netmask 255.255.255.0 { | ||
+ | range 192.168.X.101 192.168.X.199; | ||
+ | option routers 192.168.X.1; | ||
+ | } | ||
+ | } | ||
- | subnet 192.168.X.0 netmask 255.255.255.0 { | + | #### Digim D40 #### |
- | default-lease-time 600; | + | #phone 407 { |
- | max-lease-time 7200; | + | # hardware ethernet 00:0f:d3:06:11:d3; |
- | range 192.168.X.101 192.168.X.199; | + | # option tftp-server-name "http://server.corpX.un/"; |
- | option routers 192.168.X.1; | + | #} |
- | option domain-name "corpX.un"; | + | |
- | option domain-name-servers 192.168.X.10; | + | |
- | + | ||
- | #### For NTP client #### | + | |
- | # option ntp-servers 192.168.X.1; | + | |
- | # http://superuser.com/questions/147248/windows-clients-not-using-ntp-server-provided-via-dhcp | + | |
- | + | ||
- | #### For provisioning #### | + | |
- | # option tftp-server-name "server.corpX.un"; | + | |
- | # option tftp-server-address 192.168.X.10; | + | |
- | + | ||
- | } | + | |
#### For client config by mac #### | #### For client config by mac #### | ||
Строка 73: | Строка 75: | ||
#} | #} | ||
</code> | </code> | ||
- | |||
==== Отказоустойчивая конфигурация ==== | ==== Отказоустойчивая конфигурация ==== | ||
- | !!! Синхронизируем время в системах !!! | + | * !!! Синхронизируем время в системах !!! [[Сервис NTP]] |
- | [[Сервис NTP]] | + | * [[http://www.lithodyne.net/docs/dhcp/dhcp.html|DHCP Failover/load balancing]] |
- | + | ||
- | [[http://www.lithodyne.net/docs/dhcp/dhcp-4.html]] | + | |
<code> | <code> | ||
Строка 116: | Строка 115: | ||
load balance max seconds 3; | load balance max seconds 3; | ||
} | } | ||
- | ### ubuntu | + | |
- | #include "/etc/dhcp/dhcpd.general"; | + | ### debian/ubuntu |
+ | include "/etc/dhcp/dhcpd.general"; | ||
### freebsd | ### freebsd | ||
Строка 136: | Строка 136: | ||
} | } | ||
- | ### ubuntu | + | ### debian/ubuntu |
- | #include "/etc/dhcp/dhcpd.general"; | + | include "/etc/dhcp/dhcpd.general"; |
### freebsd | ### freebsd | ||
Строка 184: | Строка 184: | ||
- | ==== Ubuntu ==== | + | ==== Debian/Ubuntu ==== |
<code> | <code> | ||
- | root@gate:~# dhcpd -t | + | # dhcpd -t |
- | root@gate:~# service isc-dhcp-server start | + | # service isc-dhcp-server start |
+ | |||
+ | # service isc-dhcp-server status | ||
</code> | </code> | ||
Строка 200: | Строка 202: | ||
- | ==== Ubuntu ==== | + | ==== Debian/Ubuntu ==== |
<code> | <code> | ||
+ | root@gate:~# dhcp-lease-list | ||
+ | |||
root@gate:~# tail -f /var/lib/dhcp/dhcpd.leases | root@gate:~# tail -f /var/lib/dhcp/dhcpd.leases | ||
</code> | </code> | ||
Строка 209: | Строка 213: | ||
[[http://sourceforge.net/projects/dhcpd-pools/files/]] | [[http://sourceforge.net/projects/dhcpd-pools/files/]] | ||
- | ==== Ubuntu ==== | + | ==== Debian/Ubuntu ==== |
<code> | <code> | ||
- | # apt-get install uthash-dev | + | # apt install dhcpd-pools |
- | + | ||
- | # less dhcpd-pools-2.24/README | + | |
# dhcpd-pools -l /var/lib/dhcp/dhcpd.leases -c /etc/dhcp/dhcpd.conf | # dhcpd-pools -l /var/lib/dhcp/dhcpd.leases -c /etc/dhcp/dhcpd.conf | ||
- | </code> | ||
+ | # cat /usr/local/bin/dhcp_stat.sh | ||
+ | </code><code> | ||
+ | #!/bin/sh | ||
+ | |||
+ | CMD='/usr/bin/dhcpd-pools -l /var/lib/dhcp/dhcpd.leases -c /etc/dhcp/dhcpd.conf -f c | grep 192.168.X' | ||
+ | MAX=`eval $CMD | cut -d'"' -f8` | ||
+ | CUR=`eval $CMD | cut -d'"' -f10` | ||
+ | |||
+ | eval RES=\$$1 | ||
+ | |||
+ | echo $RES | ||
+ | </code><code> | ||
+ | # /usr/local/bin/dhcp_stat.sh MAX | ||
+ | |||
+ | # /usr/local/bin/dhcp_stat.sh CUR | ||
+ | </code> | ||
==== FreeBSD ==== | ==== FreeBSD ==== | ||
<code> | <code> | ||
- | # pkg_add -r dhcpd-pools | + | # pkg install dhcpd-pools |
- | + | ||
- | # rehash | + | |
# dhcpd-pools -l /var/db/dhcpd/dhcpd.leases -c /usr/local/etc/dhcpd.conf | # dhcpd-pools -l /var/db/dhcpd/dhcpd.leases -c /usr/local/etc/dhcpd.conf | ||
Строка 231: | Строка 246: | ||
[[http://www.netpatch.ru/dhcdrop.html]] | [[http://www.netpatch.ru/dhcdrop.html]] | ||
- | ==== Ubuntu ==== | + | ==== Debian/Ubuntu ==== |
<code> | <code> | ||
# wget http://www.netpatch.ru/projects/dhcdrop/dhcdrop-lin-0.5.tar.bz2 | # wget http://www.netpatch.ru/projects/dhcdrop/dhcdrop-lin-0.5.tar.bz2 | ||
Строка 245: | Строка 260: | ||
</code> | </code> | ||
- | ==== FreeBSD/Ubuntu ==== | + | ==== FreeBSD/Debian/Ubuntu ==== |
<code> | <code> | ||
# /usr/local/sbin/dhcdrop -t -b -i <intface> -l <mac_address> | # /usr/local/sbin/dhcdrop -t -b -i <intface> -l <mac_address> |