From cbcaf7b39be3a59dbd135551bf45f8797b441989 Mon Sep 17 00:00:00 2001
From: "elam.monnot" <@localhost>
Date: Thu, 3 Mar 2022 10:32:43 +0100
Subject: [PATCH] premier commit : dhcp :)

---
 sio1/sisr1/10-dhcp/dhcpd.conf      | 113 +++++++++++++++++++++++++++++
 sio1/sisr1/10-dhcp/hostname        |   1 +
 sio1/sisr1/10-dhcp/hosts           |   7 ++
 sio1/sisr1/10-dhcp/interfaces      |  17 +++++
 sio1/sisr1/10-dhcp/isc-dhcp-server |  18 +++++
 5 files changed, 156 insertions(+)
 create mode 100644 sio1/sisr1/10-dhcp/dhcpd.conf
 create mode 100644 sio1/sisr1/10-dhcp/hostname
 create mode 100644 sio1/sisr1/10-dhcp/hosts
 create mode 100644 sio1/sisr1/10-dhcp/interfaces
 create mode 100644 sio1/sisr1/10-dhcp/isc-dhcp-server

diff --git a/sio1/sisr1/10-dhcp/dhcpd.conf b/sio1/sisr1/10-dhcp/dhcpd.conf
new file mode 100644
index 0000000..501ed79
--- /dev/null
+++ b/sio1/sisr1/10-dhcp/dhcpd.conf
@@ -0,0 +1,113 @@
+# dhcpd.conf
+#
+# Sample configuration file for ISC dhcpd
+#
+
+# option definitions common to all supported networks...
+option domain-name "example.org";
+option domain-name-servers ns1.example.org, ns2.example.org;
+
+default-lease-time 604800;
+max-lease-time 604800;
+
+# The ddns-updates-style parameter controls whether or not the server will
+# attempt to do a DNS update when a lease is confirmed. We default to the
+# behavior of the version 2 packages ('none', since DHCP v2 didn't
+# have support for DDNS.)
+ddns-update-style none;
+
+# If this DHCP server is the official DHCP server for the local
+# network, the authoritative directive should be uncommented.
+#authoritative;
+
+# Use this to send dhcp log messages to a different log file (you also
+# have to hack syslog.conf to complete the redirection).
+#log-facility local7;
+
+# No service will be given on this subnet, but declaring it helps the 
+# DHCP server to understand the network topology.
+
+#subnet 10.152.187.0 netmask 255.255.255.0 {
+#}
+
+# This is a very basic subnet declaration.
+
+#subnet 10.254.239.0 netmask 255.255.255.224 {
+#  range 10.254.239.10 10.254.239.20;
+#  option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
+#}
+
+# This declaration allows BOOTP clients to get dynamic addresses,
+# which we don't really recommend.
+
+subnet 192.168.2.0 netmask 255.255.255.0 {
+  option subnet-mask 255.255.255.0;
+  option broadcast-address 192.168.2.255;
+  option routers 192.168.2.1;
+  option domain-name-servers 192.168.0.1;
+  range 192.168.2.10 192.168.2.30;
+}
+
+host xp-dhcp {
+   hardware ethernet 08:00:27:DF:C7:E6;
+   fixed-address 192.168.2.40;
+}
+# A slightly different configuration for an internal subnet.
+#subnet 10.5.5.0 netmask 255.255.255.224 {
+#  range 10.5.5.26 10.5.5.30;
+#  option domain-name-servers ns1.internal.example.org;
+#  option domain-name "internal.example.org";
+#  option routers 10.5.5.1;
+#  option broadcast-address 10.5.5.31;
+#  default-lease-time 600;
+#  max-lease-time 7200;
+#}
+
+# Hosts which require special configuration options can be listed in
+# host statements.   If no address is specified, the address will be
+# allocated dynamically (if possible), but the host-specific information
+# will still come from the host declaration.
+
+#host passacaglia {
+#  hardware ethernet 0:0:c0:5d:bd:95;
+#  filename "vmunix.passacaglia";
+#  server-name "toccata.example.com";
+#}
+
+# Fixed IP addresses can also be specified for hosts.   These addresses
+# should not also be listed as being available for dynamic assignment.
+# Hosts for which fixed IP addresses have been specified can boot using
+# BOOTP or DHCP.   Hosts for which no fixed address is specified can only
+# be booted with DHCP, unless there is an address range on the subnet
+# to which a BOOTP client is connected which has the dynamic-bootp flag
+# set.
+#host fantasia {
+#  hardware ethernet 08:00:07:26:c0:a5;
+#  fixed-address fantasia.example.com;
+#}
+
+# You can declare a class of clients and then do address allocation
+# based on that.   The example below shows a case where all clients
+# in a certain class get addresses on the 10.17.224/24 subnet, and all
+# other clients get addresses on the 10.0.29/24 subnet.
+
+#class "foo" {
+#  match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
+#}
+
+#shared-network 224-29 {
+#  subnet 10.17.224.0 netmask 255.255.255.0 {
+#    option routers rtr-224.example.org;
+#  }
+#  subnet 10.0.29.0 netmask 255.255.255.0 {
+#    option routers rtr-29.example.org;
+#  }
+#  pool {
+#    allow members of "foo";
+#    range 10.17.224.10 10.17.224.250;
+#  }
+#  pool {
+#    deny members of "foo";
+#    range 10.0.29.10 10.0.29.230;
+#  }
+#}
diff --git a/sio1/sisr1/10-dhcp/hostname b/sio1/sisr1/10-dhcp/hostname
new file mode 100644
index 0000000..ac3a5aa
--- /dev/null
+++ b/sio1/sisr1/10-dhcp/hostname
@@ -0,0 +1 @@
+srv-dhcp
diff --git a/sio1/sisr1/10-dhcp/hosts b/sio1/sisr1/10-dhcp/hosts
new file mode 100644
index 0000000..4d7178f
--- /dev/null
+++ b/sio1/sisr1/10-dhcp/hosts
@@ -0,0 +1,7 @@
+127.0.0.1	localhost
+127.0.1.1	srv-dhcp
+
+# The following lines are desirable for IPv6 capable hosts
+::1     localhost ip6-localhost ip6-loopback
+ff02::1 ip6-allnodes
+ff02::2 ip6-allrouters
diff --git a/sio1/sisr1/10-dhcp/interfaces b/sio1/sisr1/10-dhcp/interfaces
new file mode 100644
index 0000000..eda35de
--- /dev/null
+++ b/sio1/sisr1/10-dhcp/interfaces
@@ -0,0 +1,17 @@
+# This file describes the network interfaces available on your system
+# and how to activate them. For more information, see interfaces(5).
+
+source /etc/network/interfaces.d/*
+
+# The loopback network interface
+auto lo
+iface lo inet loopback
+
+# The primary network interface
+allow-hotplug enp0s3
+iface enp0s3 inet dhcp
+
+# The secondary network interface
+allow-hotplug enp0s8
+iface enp0s8 inet static
+	address 192.168.2.1/24
diff --git a/sio1/sisr1/10-dhcp/isc-dhcp-server b/sio1/sisr1/10-dhcp/isc-dhcp-server
new file mode 100644
index 0000000..26ec0d9
--- /dev/null
+++ b/sio1/sisr1/10-dhcp/isc-dhcp-server
@@ -0,0 +1,18 @@
+# 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="enp0s8"
+INTERFACESv6=""