1

Long story short, I've got a compute cluster, and it needs to connect to the Internet through the master node. Each machine needs to be port forwarded. I would like them to receive IPs via DHCP for now, and do the port-forwarding based on each machine's name rather than IPs directly.

I'm using Ubuntu 16.04 LTS.

My Internet connection is via enp5s1 and my cluster is hooked up to a 1Gb switch via eno1.

eno1 is configured with the static IP 192.168.1.1.

enp5s1 receives an IP address via DHCP.

To set up NAT, I ran:

sudo su
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A POSTROUTING -o enp5s1 -j MASQUERADE
/sbin/iptables -A FORWARD -i enp5s1 -o eno1 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i eno1 -o enp5s1 -j ACCEPT

I then ran:

sudo apt-get install isc-dhcp-server

Edited /etc/default/isc-dhcp-server to:

# Defaults for isc-dhcp-server initscript
# sourced by /etc/init.d/isc-dhcp-server
# installed at /etc/default/isc-dhcp-server by the maintainer scripts

#
# This is a POSIX shell fragment
#

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

# Path to dhcpd's PID file (default: /var/run/dhcpd.pid).
#DHCPD_PID=/var/run/dhcpd.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".
INTERFACES="eno1"

And edited /etc/dhcp/dhcpd.conf to look like:

ddns-update-style none;
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
authoritative;
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1;
option domain-name "cluster"

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.2 192.168.1.20
}

option netbios-name-servers 192.168.1.1;

I then ran sudo service isc-dhcp-server start but none of the cluster machines received IP addresses.

Running ip route results in:

192.168.1.0/24 dev eno1  proto kernel  scope link  src 192.168.1.1  metric 100 

netstat -lnu:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
udp        0      0 0.0.0.0:5353            0.0.0.0:*                          
udp        0      0 0.0.0.0:39411           0.0.0.0:*                          
udp        0      0 0.0.0.0:40179           0.0.0.0:*                          
udp        0      0 127.0.1.1:53            0.0.0.0:*                          
udp        0      0 0.0.0.0:68              0.0.0.0:*                          
udp        0      0 0.0.0.0:631             0.0.0.0:*                          
udp6       0      0 :::5353                 :::*                               
udp6       0      0 :::38426                :::*                               
udp6       0      0 :::48802                :::*                               

/var/log/syslog:

Sep 15 00:31:55 amber kernel: [  456.561609] audit: type=1400 audit(1473924715.423:23): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/sbin/dhcpd" pid=5346 comm="apparmor_parser"
Sep 15 00:31:55 amber dhcpd[5430]: Internet Systems Consortium DHCP Server 4.3.3
Sep 15 00:31:55 amber dhcpd[5430]: Copyright 2004-2015 Internet Systems Consortium.
Sep 15 00:31:55 amber dhcpd[5430]: All rights reserved.
Sep 15 00:31:55 amber dhcpd[5430]: For info, please visit https://www.isc.org/software/dhcp/
Sep 15 00:31:55 amber dhcpd[5430]: Config file: /etc/dhcp/dhcpd.conf
Sep 15 00:31:55 amber dhcpd[5430]: Database file: /var/lib/dhcp/dhcpd.leases
Sep 15 00:31:55 amber sh[5430]: Config file: /etc/dhcp/dhcpd.conf
Sep 15 00:31:55 amber sh[5430]: Database file: /var/lib/dhcp/dhcpd.leases
Sep 15 00:31:55 amber sh[5430]: PID file: /run/dhcp-server/dhcpd.pid
Sep 15 00:31:55 amber dhcpd[5430]: PID file: /run/dhcp-server/dhcpd.pid
Sep 15 00:31:55 amber dhcpd[5430]: Internet Systems Consortium DHCP Server 4.3.3
Sep 15 00:31:55 amber dhcpd[5430]: Copyright 2004-2015 Internet Systems Consortium.
Sep 15 00:31:55 amber dhcpd[5430]: All rights reserved.
Sep 15 00:31:55 amber dhcpd[5430]: For info, please visit https://www.isc.org/software/dhcp/
Sep 15 00:31:55 amber dhcpd[5430]: Wrote 0 leases to leases file.
Sep 15 00:31:55 amber dhcpd[5430]: 
Sep 15 00:31:55 amber sh[5430]:    in your dhcpd.conf file for the network segment
Sep 15 00:31:55 amber sh[5430]:    in your dhcpd.conf file for the network segment
Sep 15 00:31:55 amber dhcpd[5430]: No subnet declaration for enp5s1 (132.224.214.5).
Sep 15 00:31:55 amber dhcpd[5430]: ** Ignoring requests on enp5s1.  If this is not what
Sep 15 00:31:55 amber dhcpd[5430]:    you want, please write a subnet declaration
Sep 15 00:31:55 amber dhcpd[5430]:    in your dhcpd.conf file for the network segment
Sep 15 00:31:55 amber dhcpd[5430]:    to which interface enp5s1 is attached. **
Sep 15 00:31:55 amber dhcpd[5430]: 
Sep 15 00:31:55 amber dhcpd[5430]: 
Sep 15 00:31:55 amber dhcpd[5430]: No subnet declaration for eno1 (no IPv4 addresses).
Sep 15 00:31:55 amber dhcpd[5430]: ** Ignoring requests on eno1.  If this is not what
Sep 15 00:31:55 amber dhcpd[5430]:    you want, please write a subnet declaration
Sep 15 00:31:55 amber dhcpd[5430]:    in your dhcpd.conf file for the network segment
Sep 15 00:31:55 amber dhcpd[5430]:    to which interface eno1 is attached. **
Sep 15 00:31:55 amber dhcpd[5430]: 
Sep 15 00:31:55 amber dhcpd[5430]: 
Sep 15 00:31:55 amber dhcpd[5430]: Not configured to listen on any interfaces!
Sep 15 00:31:55 amber dhcpd[5430]: 
Sep 15 00:31:55 amber dhcpd[5430]: If you think you have received this message due to a bug rather
Sep 15 00:31:55 amber dhcpd[5430]: than a configuration issue please read the section on submitting
Sep 15 00:31:55 amber dhcpd[5430]: bugs on either our web page at www.isc.org or in the README file
Sep 15 00:31:55 amber dhcpd[5430]: before submitting a bug.  These pages explain the proper
Sep 15 00:31:55 amber dhcpd[5430]: process and the information we find helpful for debugging..
Sep 15 00:31:55 amber dhcpd[5430]: 
Sep 15 00:31:55 amber dhcpd[5430]: exiting.
Sep 15 00:40:15 amber dhcpd[5653]: Internet Systems Consortium DHCP Server 4.3.3
Sep 15 00:40:15 amber dhcpd[5653]: Copyright 2004-2015 Internet Systems Consortium.
Sep 15 00:40:15 amber dhcpd[5653]: All rights reserved.
Sep 15 00:40:15 amber dhcpd[5653]: For info, please visit https://www.isc.org/software/dhcp/
Sep 15 00:40:15 amber dhcpd[5653]: /etc/dhcp/dhcpd.conf line 121: semicolon expected.
Sep 15 00:40:15 amber sh[5653]: /etc/dhcp/dhcpd.conf line 121: semicolon expected.
Sep 15 00:40:15 amber dhcpd[5653]: subnet
Sep 15 00:40:15 amber dhcpd[5653]:  ^
Sep 15 00:40:15 amber dhcpd[5653]: Configuration file errors encountered -- exiting
Sep 15 00:40:15 amber dhcpd[5653]: 
Sep 15 00:40:15 amber dhcpd[5653]: If you think you have received this message due to a bug rather
Sep 15 00:40:15 amber dhcpd[5653]: than a configuration issue please read the section on submitting
Sep 15 00:40:15 amber dhcpd[5653]: bugs on either our web page at www.isc.org or in the README file
Sep 15 00:40:15 amber dhcpd[5653]: before submitting a bug.  These pages explain the proper
Sep 15 00:40:15 amber dhcpd[5653]: process and the information we find helpful for debugging..
Sep 15 00:40:15 amber dhcpd[5653]: 
Sep 15 00:40:15 amber dhcpd[5653]: exiting.
Sep 15 00:40:22 amber dhcpd[5693]: Internet Systems Consortium DHCP Server 4.3.3
Sep 15 00:40:22 amber dhcpd[5693]: Copyright 2004-2015 Internet Systems Consortium.
Sep 15 00:40:22 amber dhcpd[5693]: All rights reserved.
Sep 15 00:40:22 amber dhcpd[5693]: For info, please visit https://www.isc.org/software/dhcp/
Sep 15 00:40:22 amber dhcpd[5693]: /etc/dhcp/dhcpd.conf line 121: semicolon expected.
Sep 15 00:40:22 amber dhcpd[5693]: subnet
Sep 15 00:40:22 amber sh[5693]: /etc/dhcp/dhcpd.conf line 121: semicolon expected.
Sep 15 00:40:22 amber dhcpd[5693]:  ^

Noting the missing semicolon, I added a semicolon so that

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.2 192.168.1.20
}

became

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.2 192.168.1.20
};

But the after restarting the DHCP server, the log still doesn't like me, now throwing the error:

Sep 15 21:42:55 amber dhcpd[11003]: Internet Systems Consortium DHCP Server 4.3.3
Sep 15 21:42:55 amber dhcpd[11003]: Copyright 2004-2015 Internet Systems Consortium.
Sep 15 21:42:55 amber dhcpd[11003]: All rights reserved.
Sep 15 21:42:55 amber dhcpd[11003]: For info, please visit https://www.isc.org/software/dhcp/
Sep 15 21:42:55 amber dhcpd[11003]: /etc/dhcp/dhcpd.conf line 121: semicolon expected.
Sep 15 21:42:55 amber dhcpd[11003]: subnet
Sep 15 21:42:55 amber sh[11003]: /etc/dhcp/dhcpd.conf line 121: semicolon expected.
Sep 15 21:42:55 amber sh[11003]: /etc/dhcp/dhcpd.conf line 123: expecting a parameter or declaration
Sep 15 21:42:55 amber dhcpd[11003]:  ^
Sep 15 21:42:55 amber dhcpd[11003]: /etc/dhcp/dhcpd.conf line 123: expecting a parameter or declaration
Sep 15 21:42:55 amber dhcpd[11003]: };
Sep 15 21:42:55 amber dhcpd[11003]:  ^
Sep 15 21:42:55 amber dhcpd[11003]: Configuration file errors encountered -- exiting
Sep 15 21:42:55 amber dhcpd[11003]: 
Sep 15 21:42:55 amber dhcpd[11003]: If you think you have received this message due to a bug rather
Sep 15 21:42:55 amber dhcpd[11003]: than a configuration issue please read the section on submitting
Sep 15 21:42:55 amber dhcpd[11003]: bugs on either our web page at www.isc.org or in the README file
Sep 15 21:42:55 amber dhcpd[11003]: before submitting a bug.  These pages explain the proper
Sep 15 21:42:55 amber dhcpd[11003]: process and the information we find helpful for debugging..
Sep 15 21:42:55 amber dhcpd[11003]: 
Sep 15 21:42:55 amber dhcpd[11003]: exiting.

So I tried changing the section to:

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.2 192.168.1.20;
}

and ended up back here:

Sep 15 21:53:40 amber dhcpd[11806]: Internet Systems Consortium DHCP Server 4.3.3
Sep 15 21:53:40 amber dhcpd[11806]: Copyright 2004-2015 Internet Systems Consortium.
Sep 15 21:53:40 amber dhcpd[11806]: All rights reserved.
Sep 15 21:53:40 amber dhcpd[11806]: For info, please visit https://www.isc.org/software/dhcp/
Sep 15 21:53:40 amber dhcpd[11806]: /etc/dhcp/dhcpd.conf line 121: semicolon expected.
Sep 15 21:53:40 amber dhcpd[11806]: subnet
Sep 15 21:53:40 amber sh[11806]: /etc/dhcp/dhcpd.conf line 121: semicolon expected.
Sep 15 21:53:40 amber dhcpd[11806]:  ^
Sep 15 21:53:40 amber dhcpd[11806]: Configuration file errors encountered -- exiting
Sep 15 21:53:40 amber dhcpd[11806]: 
Sep 15 21:53:40 amber dhcpd[11806]: If you think you have received this message due to a bug rather
Sep 15 21:53:40 amber dhcpd[11806]: than a configuration issue please read the section on submitting
Sep 15 21:53:40 amber dhcpd[11806]: bugs on either our web page at www.isc.org or in the README file
Sep 15 21:53:40 amber dhcpd[11806]: before submitting a bug.  These pages explain the proper
Sep 15 21:53:40 amber dhcpd[11806]: process and the information we find helpful for debugging..
Sep 15 21:53:40 amber dhcpd[11806]: 
Sep 15 21:53:40 amber dhcpd[11806]: exiting.

/var/lib/dhcp/dhcpd.leases:

# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-4.3.3

And packet capture is quite boring:

sudo tcpdump -tttt -n -i eno1 port 67 and port 68
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eno1, link-type EN10MB (Ethernet), capture size 262144 bytes
^C
0 packets captured
0 packets received by filter
0 packets dropped by kernel

I've looked at a lot of other questions and tutorials on this, but I'm mostly confused about DNS. Do I need to specify the internet DNS or my cluster DNS? Or both?

Should I turn authoritative on?

Where should I look to figure out why none of my machines are getting IP addresses?

Update (still broken):

To my astonishment, line 119 was missing a semicolon. I fixed this, and instantly the DHCP server started working.

Rerunning all those tests:

netstat -lnu:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
udp        0      0 0.0.0.0:5353            0.0.0.0:*                          
udp        0      0 0.0.0.0:39411           0.0.0.0:*                          
udp        0      0 0.0.0.0:40179           0.0.0.0:*                          
udp        0      0 0.0.0.0:32432           0.0.0.0:*                          
udp        0      0 127.0.1.1:53            0.0.0.0:*                          
udp        0      0 0.0.0.0:67              0.0.0.0:*                          
udp        0      0 0.0.0.0:68              0.0.0.0:*                          
udp        0      0 0.0.0.0:631             0.0.0.0:*                          
udp6       0      0 :::5353                 :::*                               
udp6       0      0 :::46332                :::*                               
udp6       0      0 :::38426                :::*                               
udp6       0      0 :::48802                :::*                  

/var/log/syslog:

Sep 15 21:58:56 amber dhcpd[11849]: Internet Systems Consortium DHCP Server 4.3.3
Sep 15 21:58:56 amber dhcpd[11849]: Copyright 2004-2015 Internet Systems Consortium.
Sep 15 21:58:56 amber dhcpd[11849]: All rights reserved.
Sep 15 21:58:56 amber dhcpd[11849]: For info, please visit https://www.isc.org/software/dhcp/
Sep 15 21:58:56 amber dhcpd[11849]: Config file: /etc/dhcp/dhcpd.conf
Sep 15 21:58:56 amber dhcpd[11849]: Database file: /var/lib/dhcp/dhcpd.leases
Sep 15 21:58:56 amber sh[11849]: Config file: /etc/dhcp/dhcpd.conf
Sep 15 21:58:56 amber sh[11849]: Database file: /var/lib/dhcp/dhcpd.leases
Sep 15 21:58:56 amber sh[11849]: PID file: /run/dhcp-server/dhcpd.pid
Sep 15 21:58:56 amber dhcpd[11849]: PID file: /run/dhcp-server/dhcpd.pid
Sep 15 21:58:56 amber dhcpd[11849]: Internet Systems Consortium DHCP Server 4.3.3
Sep 15 21:58:56 amber dhcpd[11849]: Copyright 2004-2015 Internet Systems Consortium.
Sep 15 21:58:56 amber dhcpd[11849]: All rights reserved.
Sep 15 21:58:56 amber dhcpd[11849]: For info, please visit https://www.isc.org/software/dhcp/
Sep 15 21:58:56 amber dhcpd[11849]: Wrote 0 leases to leases file.
Sep 15 21:58:56 amber dhcpd[11849]: Listening on LPF/eno1/e0:3f:49:44:c0:ee/192.168.1.0/24
Sep 15 21:58:56 amber dhcpd[11849]: Sending on   LPF/eno1/e0:3f:49:44:c0:ee/192.168.1.0/24
Sep 15 21:58:56 amber dhcpd[11849]: Sending on   Socket/fallback/fallback-net
Sep 15 21:58:56 amber dhcpd[11849]: Server starting service.
Sep 15 21:59:00 amber dhcpd[11849]: DHCPDISCOVER from 90:e2:ba:66:41:e5 via eno1
Sep 15 21:59:01 amber dhcpd[11849]: DHCPOFFER on 192.168.1.2 to 90:e2:ba:66:41:e5 (eliza) via eno1
Sep 15 21:59:01 amber dhcpd[11849]: DHCPREQUEST for 192.168.1.2 (192.168.1.1) from 90:e2:ba:66:41:e5 (eliza) via eno1
Sep 15 21:59:01 amber dhcpd[11849]: DHCPACK on 192.168.1.2 to 90:e2:ba:66:41:e5 (eliza) via eno1
Sep 15 21:59:06 amber dhcpd[11849]: DHCPDISCOVER from 90:e2:ba:67:1d:37 via eno1
Sep 15 21:59:07 amber dhcpd[11849]: DHCPDISCOVER from 90:e2:ba:67:1f:73 via eno1
Sep 15 21:59:07 amber dhcpd[11849]: DHCPOFFER on 192.168.1.3 to 90:e2:ba:67:1d:37 (becca) via eno1
Sep 15 21:59:07 amber dhcpd[11849]: DHCPREQUEST for 192.168.1.3 (192.168.1.1) from 90:e2:ba:67:1d:37 (becca) via eno1
Sep 15 21:59:07 amber dhcpd[11849]: DHCPACK on 192.168.1.3 to 90:e2:ba:67:1d:37 (becca) via eno1
Sep 15 21:59:07 amber dhcpd[11849]: DHCPDISCOVER from 90:e2:ba:53:d4:bc via eno1
Sep 15 21:59:07 amber dhcpd[11849]: ICMP Echo Reply for 192.168.1.3 late or spurious.
Sep 15 21:59:07 amber dhcpd[11849]: DHCPDISCOVER from 90:e2:ba:67:1f:9f via eno1
Sep 15 21:59:08 amber dhcpd[11849]: DHCPOFFER on 192.168.1.4 to 90:e2:ba:67:1f:73 (catheline) via eno1
Sep 15 21:59:08 amber dhcpd[11849]: DHCPREQUEST for 192.168.1.4 (192.168.1.1) from 90:e2:ba:67:1f:73 (catheline) via eno1
Sep 15 21:59:08 amber dhcpd[11849]: DHCPACK on 192.168.1.4 to 90:e2:ba:67:1f:73 (catheline) via eno1
Sep 15 21:59:08 amber dhcpd[11849]: ICMP Echo Reply for 192.168.1.4 late or spurious.
Sep 15 21:59:08 amber dhcpd[11849]: DHCPOFFER on 192.168.1.5 to 90:e2:ba:53:d4:bc (felicia) via eno1
Sep 15 21:59:08 amber dhcpd[11849]: DHCPREQUEST for 192.168.1.5 (192.168.1.1) from 90:e2:ba:53:d4:bc (felicia) via eno1
Sep 15 21:59:08 amber dhcpd[11849]: DHCPACK on 192.168.1.5 to 90:e2:ba:53:d4:bc (felicia) via eno1
Sep 15 21:59:08 amber dhcpd[11849]: DHCPOFFER on 192.168.1.6 to 90:e2:ba:67:1f:9f (dolly) via eno1
Sep 15 21:59:08 amber dhcpd[11849]: DHCPREQUEST for 192.168.1.6 (192.168.1.1) from 90:e2:ba:67:1f:9f (dolly) via eno1
Sep 15 21:59:08 amber dhcpd[11849]: DHCPACK on 192.168.1.6 to 90:e2:ba:67:1f:9f (dolly) via eno1

Looks like all but one machine got addressed successfully! The one bad machine is the one Windows machine. Looks like that one needs further debugging.

dhcpd.leases also reveals that everyone is hooked up to DHCP now, except for the Windows machine (albert):

# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-4.3.3

server-duid "\000\001\000\001\037n8\220\340?ID\300\356";

lease 192.168.1.2 {
  starts 5 2016/09/16 04:59:01;
  ends 5 2016/09/16 05:09:01;
  cltt 5 2016/09/16 04:59:01;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 90:e2:ba:66:41:e5;
  client-hostname "eliza";
}
lease 192.168.1.3 {
  starts 5 2016/09/16 04:59:07;
  ends 5 2016/09/16 05:09:07;
  cltt 5 2016/09/16 04:59:07;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 90:e2:ba:67:1d:37;
  client-hostname "becca";
}
lease 192.168.1.4 {
  starts 5 2016/09/16 04:59:08;
  ends 5 2016/09/16 05:09:08;
  cltt 5 2016/09/16 04:59:08;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 90:e2:ba:67:1f:73;
  client-hostname "catheline";
 }
lease 192.168.1.5 {
  starts 5 2016/09/16 04:59:08;
  ends 5 2016/09/16 05:09:08;
  cltt 5 2016/09/16 04:59:08;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 90:e2:ba:53:d4:bc;
  client-hostname "felicia";
}
lease 192.168.1.6 {
  starts 5 2016/09/16 04:59:08;
  ends 5 2016/09/16 05:09:08;
  cltt 5 2016/09/16 04:59:08;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 90:e2:ba:67:1f:9f;
  client-hostname "dolly";
}
lease 192.168.1.2 {
  starts 5 2016/09/16 05:03:04;
  ends 5 2016/09/16 05:13:04;
  cltt 5 2016/09/16 05:03:04;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 90:e2:ba:66:41:e5;
  client-hostname "eliza";
}
lease 192.168.1.4 {
  starts 5 2016/09/16 05:03:28;
  ends 5 2016/09/16 05:13:28;
  cltt 5 2016/09/16 05:03:28;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 90:e2:ba:67:1f:73;
  client-hostname "catheline";
}
lease 192.168.1.3 {
  starts 5 2016/09/16 05:03:29;
  ends 5 2016/09/16 05:13:29;
  cltt 5 2016/09/16 05:03:29;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 90:e2:ba:67:1d:37;
  client-hostname "becca";
}
lease 192.168.1.6 {
  starts 5 2016/09/16 05:03:48;
  ends 5 2016/09/16 05:13:48;
  cltt 5 2016/09/16 05:03:48;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 90:e2:ba:67:1f:9f;
  client-hostname "dolly";
}
lease 192.168.1.5 {
  starts 5 2016/09/16 05:04:08;
  ends 5 2016/09/16 05:14:08;
  cltt 5 2016/09/16 05:04:08;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 90:e2:ba:53:d4:bc;
  client-hostname "felicia";
}
lease 192.168.1.2 {
  starts 5 2016/09/16 05:07:08;
  ends 5 2016/09/16 05:17:08;
  cltt 5 2016/09/16 05:07:08;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 90:e2:ba:66:41:e5;
  client-hostname "eliza";
}
lease 192.168.1.3 {
  starts 5 2016/09/16 05:07:21;
  ends 5 2016/09/16 05:17:21;
  cltt 5 2016/09/16 05:07:21;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 90:e2:ba:67:1d:37;
  client-hostname "becca";
}
lease 192.168.1.4 {
  starts 5 2016/09/16 05:07:27;
  ends 5 2016/09/16 05:17:27;
  cltt 5 2016/09/16 05:07:27;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 90:e2:ba:67:1f:73;
  client-hostname "catheline";
}
lease 192.168.1.6 {
  starts 5 2016/09/16 05:08:35;
  ends 5 2016/09/16 05:18:35;
  cltt 5 2016/09/16 05:08:35;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 90:e2:ba:67:1f:9f;
  client-hostname "dolly";
}
lease 192.168.1.5 {
  starts 5 2016/09/16 05:08:49;
  ends 5 2016/09/16 05:18:49;
  cltt 5 2016/09/16 05:08:49;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 90:e2:ba:53:d4:bc;
  client-hostname "felicia";
}
lease 192.168.1.2 {
  starts 5 2016/09/16 05:10:57;
  ends 5 2016/09/16 05:20:57;
  cltt 5 2016/09/16 05:10:57;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 90:e2:ba:66:41:e5;
  client-hostname "eliza";
}
lease 192.168.1.3 {
  starts 5 2016/09/16 05:11:28;
  ends 5 2016/09/16 05:21:28;
  cltt 5 2016/09/16 05:11:28;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 90:e2:ba:67:1d:37;
  client-hostname "becca";
}
lease 192.168.1.4 {
  starts 5 2016/09/16 05:12:01;
  ends 5 2016/09/16 05:22:01;
  cltt 5 2016/09/16 05:12:01;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 90:e2:ba:67:1f:73;
  client-hostname "catheline";
}

None of these machines seem to be able to connect to the internet, DNS, or proxy. So it's still broken, but at least I'm serving DHCP now.

Less useful update:

The Windows machine was just asleep, and got DHCP as soon as it woke up. So now all the machines connect to DHCP. I just don't seem to have NAT properly working.

13
  • Where you wrote /etc/dhcp/dhcp.conf did you mean to write /etc/dhcp/dhcpd.conf? Yes, you should have authoritative;. See also here Sep 16, 2016 at 0:07
  • Updated. I set it to authoritative. I followed the directions in that link, but my machines still don't see a DHCP server. Sep 16, 2016 at 0:25
  • Do you see it listening to ports 67 and 68? use sudo netstat -lnu. Are there any entries in /var/log/syslog? use grep dhcpd /var/log/syslog. Are there any entries in the leases file? use cat /var/lib/dhcp/dhcpd.leases. Use tcpdump (or wireshark if you prefer) to observe at the packet level. use sudo tcpdump -tttt -n -i en01 port 67 and port 68. Sep 16, 2016 at 2:54
  • All tests done. Looks like there's a missing semicolon, but I don't know if that explains everything. I'll fix the semicolon and let you know if it's still broken. Sep 16, 2016 at 19:38
  • I fixed the semicolon. Still no luck. Sep 16, 2016 at 19:40

0

You must log in to answer this question.

Browse other questions tagged .