2.2 KiB
2.2 KiB
title | visible |
---|---|
DHCP Server and Routing | true |
[toc]
Installation
[shroot]
apt install isc-dhcp-server
[/shroot]
Configuration
Edit /etc/default/isc-dhcp-server
INTERFACESv4="[INTERFACE 1] [INTERFACE 2]"
Edit /etc/dhcp/dhcpd.conf
to set a subnet
subnet [NETADDRESS] netmask [SUBNETMASK] {
range [FIRST DHCP] [LAST DHCP];
option subnet-mask [SUBNETMASK];
option routers [GATEWAY];
option domain-name "[NAME]";
option domain-name-servers [DNS SERVER];
}
Edit /etc/network/interfaces
auto [INTERFACE]
iface [INTERFACE] inet static
address [ADDRESS]
network [NETADDRESS]
netmask [NETMASK]
broadcast [BROADCAST]
Enable the interface
[shroot]
ifup [INTERFACE]
[/shroot]
Restart DHCP Server
[shroot]
systemctl restart isc-dhcp-server.service
[/shroot]
Enable routing
[shroot]
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.d/80-forwarding.conf
sysctl -p /etc/sysctl.d/80-forwarding.conf
[/shroot]
[shroot]
iptables -t nat -A POSTROUTING -o [WAN INTERFACE] -j MASQUERADE
iptables -A FORWARD -i [LAN INTERFACE] -j ACCEPT
[/shroot]
Make iptables permanent
Select Yes
during the installation to save current rules
[shroot]
apt install iptables-persistent
[/shroot]
Enable DHCP-managed fixed IP address
host [HOSTNAME] {
hardware ethernet [MAC ADDRESS];
fixed-address [IP ADDRESS];
}
Dynamic DNS
Needs a supported DNS like BIND or PowerDNS
Configure your DNS server to accept updates
Add the following snippet to your /etc/dhcp/dhcpd.conf
file
How to generate the key is also described in the DNS article
ddns-updates on;
ddns-update-style interim;
update-static-leases on;
ddns-domainname "testpdns";
ddns-rev-domainname "in-addr.arpa.";
key "[KEYNAME]" {
algorithm hmac-md5;
secret "[KEY]";
};
zone testpdns {
primary 127.0.0.1;
key [KEYNAME];
}
zone 7.168.192.in-addr.arpa. {
primary 127.0.0.1;
key [KEYNAME];
}
Client
DHCP Request
[shroot]
dhclient -v
[/shroot]
Release IP
[shroot]
dhclient -v -r
[/shroot]