diff --git a/Bundler/isc-dhcp-server.xml b/Bundler/isc-dhcp-server.xml index bccd793..2c8d90d 100644 --- a/Bundler/isc-dhcp-server.xml +++ b/Bundler/isc-dhcp-server.xml @@ -4,7 +4,7 @@ - + diff --git a/Cfg/etc/dhcp3/dhcpd.conf/dhcpd.conf b/Python/etc/dhcp3/dhcpd.conf similarity index 79% rename from Cfg/etc/dhcp3/dhcpd.conf/dhcpd.conf rename to Python/etc/dhcp3/dhcpd.conf index c6f257c..d17e11a 100644 --- a/Cfg/etc/dhcp3/dhcpd.conf/dhcpd.conf +++ b/Python/etc/dhcp3/dhcpd.conf @@ -1,8 +1,17 @@ -# -*- mode: conf-unix; coding: utf-8 -*- -# -# Fichier gere par BCfg2 -# A ne modifier que sur le serveur de configuration ! +# -*- mode: python; encoding: utf-8 -*- +info["owner"] = "root" +info["group"] = "root" +info["perms"] = 0600 + +comment_start = "#" + +header("Configuration dhcp de %s" % admhostname) + +include("ip") +import config.dns + +print """ # # Sample configuration file for ISC dhcpd for Debian # @@ -35,12 +44,14 @@ option interface-mtu 1496; log-facility local7; -include "/etc/dhcp3/dhcp-failover.conf"; +include "/etc/dhcp3/dhcp-failover.conf";""" +if has("vlan-radin"): + print """ # VLan gratuit subnet 10.42.0.0 netmask 255.255.0.0 { interface eth3; - option domain-name-servers 10.42.0.10; + option domain-name-servers %s; option routers 10.42.0.10; authoritative; default-lease-time 86400; @@ -52,8 +63,10 @@ subnet 10.42.0.0 netmask 255.255.0.0 { range 10.42.1.1 10.42.255.200; failover peer "dhcp-failover"; } -} +}""" % ', '.join(config.dns.recursiv['gratuit']) +if has("vlan-accueil"): + print """ # VLan accueil subnet 10.51.0.0 netmask 255.255.0.0 { interface eth4; @@ -62,7 +75,7 @@ subnet 10.51.0.0 netmask 255.255.0.0 { # On met sable en router pour pouvoir accéder à l'intranet et au wiki option routers 10.51.0.10; # On n'a besoin que du dns ici (pour le portail captif) - option domain-name-servers 10.51.0.10; + option domain-name-servers %s; authoritative; option root-path "/"; next-server 138.231.136.98; @@ -73,14 +86,16 @@ subnet 10.51.0.0 netmask 255.255.0.0 { failover peer "dhcp-failover"; range 10.51.1.1 10.51.255.200; } -} +}""" % ', '.join(config.dns.recursiv['accueil']) +if has("vlan-isolement"): + print """ # VLan isolement subnet 10.52.0.0 netmask 255.255.0.0 { interface eth5; default-lease-time 600; max-lease-time 7200; - option domain-name-servers 10.52.0.10; + option domain-name-servers %s; option routers 10.52.0.10; authoritative; option root-path "/"; @@ -91,8 +106,10 @@ subnet 10.52.0.0 netmask 255.255.0.0 { range 10.52.1.1 10.52.255.200; } } +""" % ', '.join(config.dns.recursiv['isolement']) - +if not has("non-vlan-adherent"): + print """ # Vlan des adhérents subnet 138.231.136.0 netmask 255.255.248.0 { interface eth0; @@ -101,7 +118,7 @@ subnet 138.231.136.0 netmask 255.255.248.0 { option broadcast-address 138.231.143.255; authoritative; option routers 138.231.136.4; - option domain-name-servers 138.231.136.98, 138.231.136.152, 138.231.136.247; + option domain-name-servers %s; option domain-name "crans.org"; option domain-search "crans.org"; option root-path "/"; @@ -115,8 +132,10 @@ subnet 138.231.136.0 netmask 255.255.248.0 { include "/etc/dhcp3/generated/adherents.liste"; } +""" % ', '.join(config.dns.recursiv['fil']) - +if has("vlan-wifi"): + print """ # Vlan des wifi subnet 138.231.144.0 netmask 255.255.248.0 { interface eth2; @@ -125,7 +144,7 @@ subnet 138.231.144.0 netmask 255.255.248.0 { option broadcast-address 138.231.148.255; authoritative; option routers 138.231.148.4; - option domain-name-servers 138.231.136.98, 138.231.136.152, 138.231.136.247; + option domain-name-servers %s; option domain-name "crans.org"; option option-119 "crans.org"; option domain-search "crans.org"; @@ -136,8 +155,10 @@ subnet 138.231.144.0 netmask 255.255.248.0 { deny unknown-clients; include "/etc/dhcp3/generated/wifi.liste"; -} +}""" % ', '.join(config.dns.recursiv['wifi']) +if has("vlan-ens"): + print """ #Vlan appartement subnet 10.2.9.0 netmask 255.255.255.0 { interface eth6; @@ -146,7 +167,7 @@ subnet 10.2.9.0 netmask 255.255.255.0 { option broadcast-address 10.2.9.255; authoritative; option routers 10.2.9.4; - option domain-name-servers 10.2.9.10, 138.231.136.98, 138.231.136.152, 138.231.136.247; + option domain-name-servers %s; option ip-forwarding off; option root-path "/"; next-server 138.231.136.98; @@ -155,4 +176,5 @@ subnet 10.2.9.0 netmask 255.255.255.0 { include "/etc/dhcp3/generated/appartements.liste"; } +""" % ', '.join(config.dns.recursiv['personnel-ens'])