0

I have setup my DHCP server by following the instructions in https://wiki.debian.org/DHCP_Server.

This all works but the issue I am having is the DHCP server is being broadcast in the main company network. How would I stop the DHCP server from broadcasting in the main network?

Regards Paul

My sysctl.conf is

#
# /etc/sysctl.conf - Configuration file for setting system variables
# See /etc/sysctl.d/ for additional system variables.
# See sysctl.conf (5) for information.
#

#kernel.domainname = example.com

# Uncomment the following to stop low-level messages on console
#kernel.printk = 3 4 1 3

##############################################################3
# Functions previously found in netbase
#

# Uncomment the next two lines to enable Spoof protection (reverse-path filter)
# Turn on Source Address Verification in all interfaces to
# prevent some spoofing attacks
#net.ipv4.conf.default.rp_filter=1
#net.ipv4.conf.all.rp_filter=1

# Uncomment the next line to enable TCP/IP SYN cookies
# See http://lwn.net/Articles/277146/
# Note: This may impact IPv6 TCP sessions too
#net.ipv4.tcp_syncookies=1

# Uncomment the next line to enable packet forwarding for IPv4
# net.ipv4.ip_forward=1

# Uncomment the next line to enable packet forwarding for IPv6
#  Enabling this option disables Stateless Address Autoconfiguration
#  based on Router Advertisements for this host
#net.ipv6.conf.all.forwarding=1


###################################################################
# Additional settings - these settings can improve the network
# security of the host and prevent against some network attacks
# including spoofing attacks and man in the middle attacks through
# redirection. Some network environments, however, require that these
# settings are disabled so review and enable them as needed.
#
# Do not accept ICMP redirects (prevent MITM attacks)
#net.ipv4.conf.all.accept_redirects = 0
#net.ipv6.conf.all.accept_redirects = 0
# _or_
# Accept ICMP redirects only for gateways listed in our default
# gateway list (enabled by default)
# net.ipv4.conf.all.secure_redirects = 1
#
# Do not send ICMP redirects (we are not a router)
#net.ipv4.conf.all.send_redirects = 0
#
# Do not accept IP source route packets (we are not a router)
#net.ipv4.conf.all.accept_source_route = 0
#net.ipv6.conf.all.accept_source_route = 0
#
# Log Martian Packets
#net.ipv4.conf.all.log_martians = 1
#

###################################################################
# Magic system request Key
# 0=disable, 1=enable all
# Debian kernels have this set to 0 (disable the key)
# See https://www.kernel.org/doc/Documentation/sysrq.txt
# for what other values do
#kernel.sysrq=1

###################################################################
# Protected links
#
# Protects against creating or following links under certain conditions
# Debian kernels have both set to 1 (restricted) 
# See https://www.kernel.org/doc/Documentation/sysctl/fs.txt
#fs.protected_hardlinks=0
#fs.protected_symlinks=0

My dhcp.conf is

option domain-name "mydebian";
# Use Google public DNS server (or use faster values that your internet provider gave you!):
option domain-name-servers 8.8.8.8, 8.8.4.4;
# Set up our desired subnet:
subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.101 192.168.1.254;
    option subnet-mask 255.255.255.0;
    option broadcast-address 192.168.1.255;
    option routers 192.168.1.100;
    option domain-name-servers home;
}
default-lease-time 600;
max-lease-time 7200;
# Show that we want to be the only DHCP server in this network:
authoritative;

My isc-dhcp-server is

# Defaults for isc-dhcp-server (sourced by /etc/init.d/isc-dhcp-server)

# Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).
#DHCPDv4_CONF=/etc/dhcp/dhcpd.conf
#DHCPDv6_CONF=/etc/dhcp/dhcpd6.conf

# Path to dhcpd's PID file (default: /var/run/dhcpd.pid).
#DHCPDv4_PID=/var/run/dhcpd.pid
#DHCPDv6_PID=/var/run/dhcpd6.pid

# Additional options to start dhcpd with.
#   Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead
#OPTIONS=""

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#   Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACESv4="enp11s0"
INTERFACESv6=""

My /etc/network/interfaces is

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
#auto enp6s0
#iface enp6s0 inet dhcp

# Assign a static IP for this DHCP server through eth0:
auto enp11s0
iface enp11s0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    broadcast 192.168.1.255
#    gateway 192.168.1.1

Paul
  • 131
  • 1
  • 2
  • I have set INTERFACESv6 to enp11s0 but still broadcasting in the main network. – Paul Feb 21 '21 at 23:24
  • What are you trying to achieve? Broadcast is core functionality of DHCP. – joeqwerty Feb 21 '21 at 23:30
  • I just want one DHCP running in first ethernet interface and not broadcasting in the second ethernet interface. I have 7 embedded SBCs connected to the DHCP server and transferring heaps of images, and stored in the PC. The second ethernet interface is for the PC to access the main network. – Paul Feb 22 '21 at 00:01
  • 1
    What version of Ubuntu do you use? Older versions supported `INTERFACES` declaration, not `INTERFACESv4` or v6. I suggest you stop the daemon and run dhcpd interactively using `/usr/sbin/dhcpd -4 -q -cf /etc/dhcp/dhcpd.conf enp11s0` command. It should bind to `enp11s0` interface only. Have a look at the messages after executing and check if it broadcasts to other interfaces also. Can you also attach `ip l` result? – Krackout Feb 22 '21 at 10:04
  • For isc-dhcp you simply specify the interface on the commandline that it should work on. How that is done is distro specific, I know there is askubuntu as well. To verify if it is used you can use `ps aux | grep dhcp` to get the cmdline that was used – NiKiZe Jul 27 '21 at 16:56

0 Answers0