From 5bfe7e88bc4d4794259f4d2d4e2d85f9afd8d0a0 Mon Sep 17 00:00:00 2001 From: Guillaume Emorine Date: Thu, 12 Sep 2024 10:38:47 +0200 Subject: [PATCH 1/2] =?UTF-8?q?=09modifi=C3=A9=C2=A0:=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20bts=5Fannee=5F2/sisr2/seance=5F03/README.md=20=09renomm?= =?UTF-8?q?=C3=A9=C2=A0:=20=20=20=20=20=20=20=20=20bts=5Fannee=5F2/sisr2/s?= =?UTF-8?q?eance=5F03/inst-hb1.sh=20->=20bts=5Fannee=5F2/sisr2/seance=5F03?= =?UTF-8?q?/hb1/inst-hb1.sh=20=09renomm=C3=A9=C2=A0:=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20bts=5Fannee=5F2/sisr2/seance=5F03/inst-hb2.sh=20->=20bts?= =?UTF-8?q?=5Fannee=5F2/sisr2/seance=5F03/hb2/inst-hb2.sh=20=09renomm?= =?UTF-8?q?=C3=A9=C2=A0:=20=20=20=20=20=20=20=20=20bts=5Fannee=5F2/sisr2/s?= =?UTF-8?q?eance=5F03/Vagrantfile=5Fbookworm=20->=20bts=5Fannee=5F2/sisr2/?= =?UTF-8?q?seance=5F03/vagrant/Vagrantfile=5Fbookworm=20=09renomm=C3=A9?= =?UTF-8?q?=C2=A0:=20=20=20=20=20=20=20=20=20bts=5Fannee=5F2/sisr2/seance?= =?UTF-8?q?=5F03/Vagrantfile=5Frsync=20->=20bts=5Fannee=5F2/sisr2/seance?= =?UTF-8?q?=5F03/vagrant/Vagrantfile=5Frsync?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bts_annee_2/sisr2/seance_03/README.md | 1 + bts_annee_2/sisr2/seance_03/{ => hb1}/inst-hb1.sh | 0 bts_annee_2/sisr2/seance_03/{ => hb2}/inst-hb2.sh | 0 bts_annee_2/sisr2/seance_03/{ => vagrant}/Vagrantfile_bookworm | 0 bts_annee_2/sisr2/seance_03/{ => vagrant}/Vagrantfile_rsync | 0 5 files changed, 1 insertion(+) rename bts_annee_2/sisr2/seance_03/{ => hb1}/inst-hb1.sh (100%) rename bts_annee_2/sisr2/seance_03/{ => hb2}/inst-hb2.sh (100%) rename bts_annee_2/sisr2/seance_03/{ => vagrant}/Vagrantfile_bookworm (100%) rename bts_annee_2/sisr2/seance_03/{ => vagrant}/Vagrantfile_rsync (100%) diff --git a/bts_annee_2/sisr2/seance_03/README.md b/bts_annee_2/sisr2/seance_03/README.md index 23ec815..ca1d5c8 100644 --- a/bts_annee_2/sisr2/seance_03/README.md +++ b/bts_annee_2/sisr2/seance_03/README.md @@ -1 +1,2 @@ Vagrantfiles de la troisième séance en SISR, et scripts pour le heartbeat. +Les dossiers nominaux sont les machines du heartbeat. diff --git a/bts_annee_2/sisr2/seance_03/inst-hb1.sh b/bts_annee_2/sisr2/seance_03/hb1/inst-hb1.sh similarity index 100% rename from bts_annee_2/sisr2/seance_03/inst-hb1.sh rename to bts_annee_2/sisr2/seance_03/hb1/inst-hb1.sh diff --git a/bts_annee_2/sisr2/seance_03/inst-hb2.sh b/bts_annee_2/sisr2/seance_03/hb2/inst-hb2.sh similarity index 100% rename from bts_annee_2/sisr2/seance_03/inst-hb2.sh rename to bts_annee_2/sisr2/seance_03/hb2/inst-hb2.sh diff --git a/bts_annee_2/sisr2/seance_03/Vagrantfile_bookworm b/bts_annee_2/sisr2/seance_03/vagrant/Vagrantfile_bookworm similarity index 100% rename from bts_annee_2/sisr2/seance_03/Vagrantfile_bookworm rename to bts_annee_2/sisr2/seance_03/vagrant/Vagrantfile_bookworm diff --git a/bts_annee_2/sisr2/seance_03/Vagrantfile_rsync b/bts_annee_2/sisr2/seance_03/vagrant/Vagrantfile_rsync similarity index 100% rename from bts_annee_2/sisr2/seance_03/Vagrantfile_rsync rename to bts_annee_2/sisr2/seance_03/vagrant/Vagrantfile_rsync -- 2.47.2 From 111174a31e27f838a5b81c87766ffcf61ccc62be Mon Sep 17 00:00:00 2001 From: Guillaume Emorine Date: Mon, 16 Sep 2024 17:11:19 +0200 Subject: [PATCH 2/2] =?UTF-8?q?=09nouveau=20fichier=C2=A0:=20bts=5Fannee?= =?UTF-8?q?=5F2/sisr2/pxe/README.md=20=09nouveau=20fichier=C2=A0:=20bts=5F?= =?UTF-8?q?annee=5F2/sisr2/pxe/dhcpd.conf=20=09nouveau=20fichier=C2=A0:=20?= =?UTF-8?q?bts=5Fannee=5F2/sisr2/pxe/isc-dhcp-server=20=09nouveau=20fichie?= =?UTF-8?q?r=C2=A0:=20bts=5Fannee=5F2/sisr2/pxe/nftables.conf=20=09nouveau?= =?UTF-8?q?=20fichier=C2=A0:=20bts=5Fannee=5F2/sisr2/seance=5F04/README.md?= =?UTF-8?q?=20=09nouveau=20fichier=C2=A0:=20bts=5Fannee=5F2/sisr2/seance?= =?UTF-8?q?=5F04/lvs/haproxy.cfg=20=09nouveau=20fichier=C2=A0:=20bts=5Fann?= =?UTF-8?q?ee=5F2/sisr2/seance=5F04/lvs/ipvs.sh?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bts_annee_2/sisr2/pxe/README.md | 1 + bts_annee_2/sisr2/pxe/dhcpd.conf | 112 ++++++++++++++++++++ bts_annee_2/sisr2/pxe/isc-dhcp-server | 18 ++++ bts_annee_2/sisr2/pxe/nftables.conf | 24 +++++ bts_annee_2/sisr2/seance_04/README.md | 1 + bts_annee_2/sisr2/seance_04/lvs/haproxy.cfg | 44 ++++++++ bts_annee_2/sisr2/seance_04/lvs/ipvs.sh | 5 + 7 files changed, 205 insertions(+) create mode 100644 bts_annee_2/sisr2/pxe/README.md create mode 100644 bts_annee_2/sisr2/pxe/dhcpd.conf create mode 100644 bts_annee_2/sisr2/pxe/isc-dhcp-server create mode 100755 bts_annee_2/sisr2/pxe/nftables.conf create mode 100644 bts_annee_2/sisr2/seance_04/README.md create mode 100644 bts_annee_2/sisr2/seance_04/lvs/haproxy.cfg create mode 100644 bts_annee_2/sisr2/seance_04/lvs/ipvs.sh diff --git a/bts_annee_2/sisr2/pxe/README.md b/bts_annee_2/sisr2/pxe/README.md new file mode 100644 index 0000000..a352c25 --- /dev/null +++ b/bts_annee_2/sisr2/pxe/README.md @@ -0,0 +1 @@ +Fichiers de configuration de la cinquième séance de SISR, sur PXE et le Netboot. diff --git a/bts_annee_2/sisr2/pxe/dhcpd.conf b/bts_annee_2/sisr2/pxe/dhcpd.conf new file mode 100644 index 0000000..3745c1b --- /dev/null +++ b/bts_annee_2/sisr2/pxe/dhcpd.conf @@ -0,0 +1,112 @@ +# dhcpd.conf +# +# Sample configuration file for ISC dhcpd +# + +# option definitions common to all supported networks... +#option domain-name "example.org"; +option domain-name-servers 10.121.38.7, 10.121.38.8; + +default-lease-time 100000; +max-lease-time 7200000; + +allow booting; + +# 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 192.168.1.0 netmask 255.255.255.0 { + range 192.168.1.10 192.168.1.20; + option broadcast-address 192.168.1.255; + option routers 192.168.1.100; + next-server 192.168.1.100; + filename "pxelinux.0"; +} + +# This declaration allows BOOTP clients to get dynamic addresses, +# which we don't really recommend. + +#subnet 10.254.239.32 netmask 255.255.255.224 { +# range dynamic-bootp 10.254.239.40 10.254.239.60; +# option broadcast-address 10.254.239.31; +# option routers rtr-239-32-1.example.org; +#} + +# 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/bts_annee_2/sisr2/pxe/isc-dhcp-server b/bts_annee_2/sisr2/pxe/isc-dhcp-server new file mode 100644 index 0000000..26ec0d9 --- /dev/null +++ b/bts_annee_2/sisr2/pxe/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="" diff --git a/bts_annee_2/sisr2/pxe/nftables.conf b/bts_annee_2/sisr2/pxe/nftables.conf new file mode 100755 index 0000000..eae61e9 --- /dev/null +++ b/bts_annee_2/sisr2/pxe/nftables.conf @@ -0,0 +1,24 @@ +#!/usr/sbin/nft -f + +flush ruleset + +table inet filter { + chain input { + type filter hook input priority filter; + } + chain forward { + type filter hook forward priority filter; + } + chain output { + type filter hook output priority filter; + } +} +table inet nat { + chain prerouting { + type nat hook prerouting priority 0; + } + chain postrouting { + type nat hook postrouting priority 100; + oifname "enp0s3" masquerade + } +} diff --git a/bts_annee_2/sisr2/seance_04/README.md b/bts_annee_2/sisr2/seance_04/README.md new file mode 100644 index 0000000..cd96392 --- /dev/null +++ b/bts_annee_2/sisr2/seance_04/README.md @@ -0,0 +1 @@ +Dossier avec les fichiers provenant de la machine LVS pour l'équilibrage des charges. diff --git a/bts_annee_2/sisr2/seance_04/lvs/haproxy.cfg b/bts_annee_2/sisr2/seance_04/lvs/haproxy.cfg new file mode 100644 index 0000000..d7d033f --- /dev/null +++ b/bts_annee_2/sisr2/seance_04/lvs/haproxy.cfg @@ -0,0 +1,44 @@ +global + log /dev/log local0 + log /dev/log local1 notice + chroot /var/lib/haproxy + stats socket /run/haproxy/admin.sock mode 660 level admin + stats timeout 30s + user haproxy + group haproxy + daemon + + # Default SSL material locations + ca-base /etc/ssl/certs + crt-base /etc/ssl/private + + # See: https://ssl-config.mozilla.org/#server=haproxy&server-version=2.0.3&config=intermediate + ssl-default-bind-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384 + ssl-default-bind-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256 + ssl-default-bind-options ssl-min-ver TLSv1.2 no-tls-tickets + +defaults + log global + mode http + option httplog + option dontlognull + timeout connect 5000 + timeout client 50000 + timeout server 50000 + errorfile 400 /etc/haproxy/errors/400.http + errorfile 403 /etc/haproxy/errors/403.http + errorfile 408 /etc/haproxy/errors/408.http + errorfile 500 /etc/haproxy/errors/500.http + errorfile 502 /etc/haproxy/errors/502.http + errorfile 503 /etc/haproxy/errors/503.http + errorfile 504 /etc/haproxy/errors/504.http +# conf perso +frontend front_webservers + bind *:80 + default_backend backend_webservers + option forwardfor + +backend backend_webservers + balance roundrobin + server web1-ge 172.16.1.1:80 check + server web2-ge 172.16.1.2:80 check diff --git a/bts_annee_2/sisr2/seance_04/lvs/ipvs.sh b/bts_annee_2/sisr2/seance_04/lvs/ipvs.sh new file mode 100644 index 0000000..c7a45e9 --- /dev/null +++ b/bts_annee_2/sisr2/seance_04/lvs/ipvs.sh @@ -0,0 +1,5 @@ +#!/bin/bash +ipvsadm -A -t 192.168.0.150:80 -s rr +ipvsadm -a -t 192.168.0.150:80 -r 172.16.1.1:80 -m +ipvsadm -a -t 192.168.0.150:80 -r 172.16.1.2:80 -m +ipvsadm -L -- 2.47.2