Compare commits
No commits in common. "main" and "v0.0.6h-jl" have entirely different histories.
main
...
v0.0.6h-jl
@ -53,7 +53,7 @@ On utilsera le script (bash) **mkvm** ou (PowerShell) **mkvm.ps1** pour créeer
|
|||||||
|
|
||||||
```shell
|
```shell
|
||||||
gsb2023>
|
gsb2023>
|
||||||
cd scripts
|
cd pre
|
||||||
$ mkvm -r s-adm
|
$ mkvm -r s-adm
|
||||||
|
|
||||||
```
|
```
|
||||||
|
13
r-vp1-fw.yml
13
r-vp1-fw.yml
@ -1,13 +0,0 @@
|
|||||||
---
|
|
||||||
- hosts: localhost
|
|
||||||
connection: local
|
|
||||||
|
|
||||||
vars:
|
|
||||||
- ip1: 192.168.0.51
|
|
||||||
- remip: 192.168.0.52
|
|
||||||
- mynet: 192.168.1.0
|
|
||||||
- remnet: 172.16.128.0
|
|
||||||
|
|
||||||
roles:
|
|
||||||
- fw-ferm
|
|
||||||
|
|
@ -12,8 +12,10 @@
|
|||||||
- base
|
- base
|
||||||
- goss
|
- goss
|
||||||
# - snmp-agent
|
# - snmp-agent
|
||||||
|
# - firewall-vpn-r
|
||||||
- post
|
- post
|
||||||
- wireguard-r
|
- wireguard-r
|
||||||
|
- fw-ferm
|
||||||
- ssh-cli
|
- ssh-cli
|
||||||
- syslog-cli
|
- syslog-cli
|
||||||
|
|
||||||
|
12
r-vp2-fw.yml
12
r-vp2-fw.yml
@ -1,12 +0,0 @@
|
|||||||
---
|
|
||||||
- hosts: localhost
|
|
||||||
connection: local
|
|
||||||
|
|
||||||
vars:
|
|
||||||
- ip1: 192.168.0.52
|
|
||||||
- remip: 192.168.0.51
|
|
||||||
- mynet: 172.16.128.0
|
|
||||||
- remnet: 192.168.1.0
|
|
||||||
|
|
||||||
roles:
|
|
||||||
- fw-ferm
|
|
@ -15,7 +15,10 @@
|
|||||||
- dns-agence
|
- dns-agence
|
||||||
- ssh-root-access
|
- ssh-root-access
|
||||||
# - snmp-agent
|
# - snmp-agent
|
||||||
|
# - firewall-vpn-l
|
||||||
- wireguard-l
|
- wireguard-l
|
||||||
- post
|
# - x509-l
|
||||||
|
- fw-ferm
|
||||||
- ssh-cli
|
- ssh-cli
|
||||||
- syslog-cli
|
- syslog-cli
|
||||||
|
- post
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
192.168.99.103 s-lb-web3.gsb.adm
|
192.168.99.103 s-lb-web3.gsb.adm
|
||||||
192.168.99.112 r-vp1.gsb.adm
|
192.168.99.112 r-vp1.gsb.adm
|
||||||
192.168.99.102 r-vp2.gsb.adm
|
192.168.99.102 r-vp2.gsb.adm
|
||||||
192.168.99.120 s-peertube.gsb.adm
|
|
||||||
|
|
||||||
192.168.99.8 syslog.gsb.adm
|
192.168.99.8 syslog.gsb.adm
|
||||||
|
|
||||||
|
@ -27,6 +27,6 @@
|
|||||||
192.168.99.103 s-lb-web3.gsb.adm
|
192.168.99.103 s-lb-web3.gsb.adm
|
||||||
192.168.99.112 r-vp1.gsb.adm
|
192.168.99.112 r-vp1.gsb.adm
|
||||||
192.168.99.102 r-vp2.gsb.adm
|
192.168.99.102 r-vp2.gsb.adm
|
||||||
192.168.99.120 s-peertube.gsb.adm
|
|
||||||
192.168.99.8 syslog.gsb.adm
|
192.168.99.8 syslog.gsb.adm
|
||||||
|
|
||||||
|
23
roles/dns-ag-cs/files/named.conf.options
Normal file
23
roles/dns-ag-cs/files/named.conf.options
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
// 0.2 - putconf - vendredi 12 avril 2013, 08:54:33 (UTC+0200)
|
||||||
|
|
||||||
|
options {
|
||||||
|
directory "/var/cache/bind";
|
||||||
|
|
||||||
|
// If there is a firewall between you and nameservers you want
|
||||||
|
// to talk to, you may need to fix the firewall to allow multiple
|
||||||
|
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
|
||||||
|
|
||||||
|
// If your ISP provided one or more IP addresses for stable
|
||||||
|
// nameservers, you probably want to use them as forwarders.
|
||||||
|
// Uncomment the following block, and insert the addresses replacing
|
||||||
|
// the all-0's placeholder.
|
||||||
|
|
||||||
|
forwarders {
|
||||||
|
172.16.0.1;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
auth-nxdomain no; # conform to RFC1035
|
||||||
|
listen-on-v6 { any; };
|
||||||
|
};
|
||||||
|
|
4
roles/dns-ag-cs/handlers/main.yml
Normal file
4
roles/dns-ag-cs/handlers/main.yml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
- name: restart bind9
|
||||||
|
service: name=bind9 state=restarted
|
||||||
|
|
11
roles/dns-ag-cs/tasks/main.yml
Normal file
11
roles/dns-ag-cs/tasks/main.yml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
- name: Installation bind9
|
||||||
|
apt: name=bind9 state=present update_cache=yes
|
||||||
|
|
||||||
|
- name: Copie named.conf.options
|
||||||
|
copy: src=named.conf.options dest=/etc/bind
|
||||||
|
notify:
|
||||||
|
- restart bind9
|
||||||
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
|||||||
;
|
;
|
||||||
$TTL 604800
|
$TTL 604800
|
||||||
@ IN SOA s-infra.gsb.lan. root.s-infra.gsb.lan. (
|
@ IN SOA s-infra.gsb.lan. root.s-infra.gsb.lan. (
|
||||||
2023051000 ; Serial
|
2023012500 ; Serial
|
||||||
7200 ; Refresh
|
7200 ; Refresh
|
||||||
86400 ; Retry
|
86400 ; Retry
|
||||||
8419200 ; Expire
|
8419200 ; Expire
|
||||||
@ -36,5 +36,3 @@ s-web2 IN A 192.168.101.2
|
|||||||
s-lb.gsb.lan IN A 192.168.100.10
|
s-lb.gsb.lan IN A 192.168.100.10
|
||||||
ns IN CNAME s-infra.gsb.lan.
|
ns IN CNAME s-infra.gsb.lan.
|
||||||
wpad IN CNAME s-infra.gsb.lan.
|
wpad IN CNAME s-infra.gsb.lan.
|
||||||
s-peertube IN A 192.168.100.20
|
|
||||||
peertube IN CNAME s-peertube
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
;
|
;
|
||||||
$TTL 604800
|
$TTL 604800
|
||||||
@ IN SOA s-infra.gsb.lan. root.s-infra.gsb.lan. (
|
@ IN SOA s-infra.gsb.lan. root.s-infra.gsb.lan. (
|
||||||
2023040501 ; Serial
|
2023012500 ; Serial
|
||||||
7200 ; Refresh
|
7200 ; Refresh
|
||||||
86400 ; Retry
|
86400 ; Retry
|
||||||
8419200 ; Expire
|
8419200 ; Expire
|
||||||
@ -28,3 +28,4 @@ $TTL 604800
|
|||||||
11.0 IN PTR s-elk.gsb.lan.
|
11.0 IN PTR s-elk.gsb.lan.
|
||||||
17.0 IN PTR s-gestsup.lan
|
17.0 IN PTR s-gestsup.lan
|
||||||
254.0 IN PTR r-int.gsb.lan.
|
254.0 IN PTR r-int.gsb.lan.
|
||||||
|
|
||||||
|
@ -22,5 +22,5 @@
|
|||||||
command: "cp /root/tools/ansible/roles/fog/files/fogsettings /opt/fog/"
|
command: "cp /root/tools/ansible/roles/fog/files/fogsettings /opt/fog/"
|
||||||
|
|
||||||
- name: fichier fogsettings en .fogsettings
|
- name: fichier fogsettings en .fogsettings
|
||||||
command: "mv /opt/fog/fogsettings /opt/fog/.fogsettings"
|
command: "mv /opt/fog/fogsettings /opt/fog/.fogsettings"
|
||||||
|
|
||||||
|
47
roles/fw-ferm/files/ferm-vp1.conf
Normal file
47
roles/fw-ferm/files/ferm-vp1.conf
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
# -*- shell-script -*-
|
||||||
|
|
||||||
|
@def $DEV_VPN= wg0;
|
||||||
|
|
||||||
|
table filter {
|
||||||
|
chain INPUT {
|
||||||
|
policy DROP;
|
||||||
|
|
||||||
|
# connection tracking
|
||||||
|
mod state state INVALID DROP;
|
||||||
|
mod state state (ESTABLISHED RELATED) ACCEPT;
|
||||||
|
|
||||||
|
# allow local connections
|
||||||
|
interface lo ACCEPT;
|
||||||
|
interface $DEV_VPN{
|
||||||
|
# respond to ping
|
||||||
|
proto icmp icmp-type echo-request ACCEPT;
|
||||||
|
# disallow ssh
|
||||||
|
saddr proto tcp dport ssh DROP;
|
||||||
|
}
|
||||||
|
}#FIN INPUT
|
||||||
|
|
||||||
|
# outgoing connections are not limited
|
||||||
|
chain OUTPUT {
|
||||||
|
policy ACCEPT;
|
||||||
|
interface $DEV_VPN{
|
||||||
|
# allow ssh
|
||||||
|
daddr proto tcp dport ssh ACCEPT;
|
||||||
|
# respond to ping
|
||||||
|
proto icmp icmp-type echo-request ACCEPT;
|
||||||
|
}
|
||||||
|
}#FIN OUTPUT
|
||||||
|
|
||||||
|
chain FORWARD {
|
||||||
|
policy ACCEPT;
|
||||||
|
|
||||||
|
# connection tracking
|
||||||
|
mod state state INVALID DROP;
|
||||||
|
mod state state (ESTABLISHED RELATED) ACCEPT;
|
||||||
|
|
||||||
|
# connections from the internal net to the internet or to other
|
||||||
|
# internal nets are allowed
|
||||||
|
interface $DEV_VPN ACCEPT;
|
||||||
|
|
||||||
|
# the rest is dropped by the above policy
|
||||||
|
}#FIN FO
|
||||||
|
}
|
@ -4,12 +4,10 @@
|
|||||||
|
|
||||||
@def $DEV_PRIVATE = enp0s8;
|
@def $DEV_PRIVATE = enp0s8;
|
||||||
@def $DEV_WORLD = enp0s9;
|
@def $DEV_WORLD = enp0s9;
|
||||||
@def $DEV_WORLD = enp0s9;
|
|
||||||
@def $DEV_VPN= wg0;
|
@def $DEV_VPN= wg0;
|
||||||
@def $NET_PRIVATE = 172.16.0.0/24;
|
@def $NET_PRIVATE = 172.16.0.0/24;
|
||||||
|
|
||||||
table filter {
|
table filter {
|
||||||
|
|
||||||
chain (INPUT OUTPUT){
|
chain (INPUT OUTPUT){
|
||||||
# allow VPN
|
# allow VPN
|
||||||
proto udp dport 51820 ACCEPT;
|
proto udp dport 51820 ACCEPT;
|
||||||
@ -30,7 +28,7 @@ table filter {
|
|||||||
|
|
||||||
# allow SSH connections from the private network and from some
|
# allow SSH connections from the private network and from some
|
||||||
# well-known internet hosts
|
# well-known internet hosts
|
||||||
saddr ($NET_PRIVATE) proto tcp dport ssh ACCEPT;
|
saddr ($NET_PRIVATE 81.209.165.42) proto tcp dport ssh ACCEPT;
|
||||||
|
|
||||||
# we provide DNS and SMTP services for the internal net
|
# we provide DNS and SMTP services for the internal net
|
||||||
interface $DEV_PRIVATE saddr $NET_PRIVATE {
|
interface $DEV_PRIVATE saddr $NET_PRIVATE {
|
||||||
@ -38,21 +36,30 @@ table filter {
|
|||||||
proto udp dport bootps ACCEPT;
|
proto udp dport bootps ACCEPT;
|
||||||
}
|
}
|
||||||
|
|
||||||
# the rest is dropped by the above policy
|
# interface réseau
|
||||||
|
interface $DEV_WORLD {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
# the rest is dropped by the above policy
|
||||||
}#FIN INPUT
|
}#FIN INPUT
|
||||||
|
|
||||||
# outgoing connections are not limited
|
# outgoing connections are not limited
|
||||||
|
chain OUTPUT {policy ACCEPT;
|
||||||
chain OUTPUT {
|
|
||||||
policy ACCEPT;
|
|
||||||
|
|
||||||
}#FIN OUTPUT
|
}#FIN OUTPUT
|
||||||
|
|
||||||
chain FORWARD {
|
chain FORWARD {
|
||||||
policy ACCEPT;
|
policy ACCEPT;
|
||||||
|
|
||||||
proto icmp icmp-type echo-request ACCEPT;
|
interface $DEV_VPN{
|
||||||
|
# respond to ping
|
||||||
|
proto icmp icmp-type echo-request ACCEPT;
|
||||||
|
# disallow ssh
|
||||||
|
saddr($DEV_VPN) proto tcp dport ssh DROP;
|
||||||
|
# allow ssh
|
||||||
|
daddr($DEV_VPN) proto tcp dport ssh ACCEPT;
|
||||||
|
|
||||||
|
}
|
||||||
# connection tracking
|
# connection tracking
|
||||||
mod state state INVALID DROP;
|
mod state state INVALID DROP;
|
||||||
mod state state (ESTABLISHED RELATED) ACCEPT;
|
mod state state (ESTABLISHED RELATED) ACCEPT;
|
||||||
@ -61,9 +68,6 @@ table filter {
|
|||||||
# internal nets are allowed
|
# internal nets are allowed
|
||||||
interface $DEV_PRIVATE ACCEPT;
|
interface $DEV_PRIVATE ACCEPT;
|
||||||
|
|
||||||
interface $DEV_VPN daddr $NET_PRIVATE {
|
|
||||||
proto tcp dport ssh DROP;
|
|
||||||
}
|
|
||||||
# the rest is dropped by the above policy
|
# the rest is dropped by the above policy
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -27,15 +27,19 @@ table filter {
|
|||||||
|
|
||||||
# allow SSH connections from the private network and from some
|
# allow SSH connections from the private network and from some
|
||||||
# well-known internet hosts
|
# well-known internet hosts
|
||||||
saddr ($NET_PRIVATE) proto tcp dport ssh ACCEPT;
|
saddr ($NET_PRIVATE 81.209.165.42) proto tcp dport ssh ACCEPT;
|
||||||
|
|
||||||
# we provide DNS and SMTP services for the internal net
|
# we provide DNS and SMTP services for the internal net
|
||||||
interface $DEV_PRIVATE saddr $NET_PRIVATE {
|
interface $DEV_PRIVATE saddr $NET_PRIVATE {
|
||||||
proto (udp tcp) dport domain ACCEPT;
|
proto (udp tcp) dport domain ACCEPT;
|
||||||
proto udp dport bootps ACCEPT;
|
proto udp dport bootps ACCEPT;
|
||||||
}
|
}
|
||||||
|
interface $DEV_VPN{
|
||||||
|
# respond to ping
|
||||||
|
proto icmp icmp-type echo-request ACCEPT;
|
||||||
|
# disallow ssh
|
||||||
|
saddr proto tcp dport ssh ACCEPT;
|
||||||
|
}
|
||||||
# interface réseau
|
# interface réseau
|
||||||
interface $DEV_WORLD {
|
interface $DEV_WORLD {
|
||||||
|
|
||||||
@ -45,13 +49,17 @@ table filter {
|
|||||||
}#FIN INPUT
|
}#FIN INPUT
|
||||||
|
|
||||||
# outgoing connections are not limited
|
# outgoing connections are not limited
|
||||||
chain OUTPUT {
|
chain OUTPUT {policy ACCEPT;
|
||||||
policy ACCEPT;
|
interface $DEV_VPN{
|
||||||
|
# allow ssh
|
||||||
|
daddr proto tcp dport ssh DROP;
|
||||||
|
# respond to ping
|
||||||
|
proto icmp icmp-type echo-request ACCEPT;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
chain FORWARD {
|
chain FORWARD {
|
||||||
policy ACCEPT;
|
policy ACCEPT;
|
||||||
|
|
||||||
proto icmp icmp-type echo-request ACCEPT;
|
|
||||||
# connection tracking
|
# connection tracking
|
||||||
mod state state INVALID DROP;
|
mod state state INVALID DROP;
|
||||||
mod state state (ESTABLISHED RELATED) ACCEPT;
|
mod state state (ESTABLISHED RELATED) ACCEPT;
|
||||||
@ -60,9 +68,6 @@ table filter {
|
|||||||
# internal nets are allowed
|
# internal nets are allowed
|
||||||
interface $DEV_PRIVATE ACCEPT;
|
interface $DEV_PRIVATE ACCEPT;
|
||||||
|
|
||||||
interface $DEV_VPN daddr $NET_PRIVATE {
|
|
||||||
proto tcp dport ssh DROP;
|
|
||||||
}
|
|
||||||
# the rest is dropped by the above policy
|
# the rest is dropped by the above policy
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
43
roles/fw-ferm/files/iptables.test.r-vp1
Normal file
43
roles/fw-ferm/files/iptables.test.r-vp1
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
# Définir la politique par défaut
|
||||||
|
iptables -P INPUT DROP
|
||||||
|
iptables -P OUTPUT ACCEPT
|
||||||
|
iptables -P FORWARD ACCEPT
|
||||||
|
|
||||||
|
# Autoriser le trafic pour le VPN
|
||||||
|
iptables -A INPUT -p udp --dport 51820 -j ACCEPT
|
||||||
|
|
||||||
|
# Autoriser les connexions établies et connexes
|
||||||
|
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
|
||||||
|
|
||||||
|
# Autoriser les connexions sur l'interface loopback
|
||||||
|
iptables -A INPUT -i lo -j ACCEPT
|
||||||
|
|
||||||
|
# Autoriser les requêtes ping
|
||||||
|
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
|
||||||
|
|
||||||
|
# Autoriser les connexions SSH depuis le réseau privé et depuis certains hôtes internet
|
||||||
|
iptables -A INPUT -p tcp -s 172.16.0.0/24,81.209.165.42 --dport ssh -j ACCEPT
|
||||||
|
|
||||||
|
# Autoriser les connexions DNS et SMTP sur l'interface privée
|
||||||
|
iptables -A INPUT -i enp0s9 -s 172.16.0.0/24 -p udp --dport domain -j ACCEPT
|
||||||
|
iptables -A INPUT -i enp0s9 -s 172.16.0.0/24 -p tcp --dport domain -j ACCEPT
|
||||||
|
iptables -A INPUT -i enp0s9 -s 172.16.0.0/24 -p udp --dport bootps -j ACCEPT
|
||||||
|
|
||||||
|
# Autoriser les requêtes ping sur l'interface VPN
|
||||||
|
iptables -A INPUT -i wg0 -p icmp --icmp-type echo-request -j ACCEPT
|
||||||
|
|
||||||
|
# Interdire les connexions SSH sur l'interface VPN
|
||||||
|
iptables -A INPUT -i wg0 -s 0.0.0.0/0 -p tcp --dport ssh -j DROP
|
||||||
|
|
||||||
|
# Interdire les connexions SSH sortantes sur l'interface VPN
|
||||||
|
iptables -A OUTPUT -o wg0 -d 0.0.0.0/0 -p tcp --dport ssh -j DROP
|
||||||
|
|
||||||
|
# Autoriser le trafic sur l'interface publique
|
||||||
|
iptables -A INPUT -i enp0s8 -j ACCEPT
|
||||||
|
|
||||||
|
# Autoriser les connexions depuis l'interface privée vers l'interface publique ou une autre interface privée
|
||||||
|
iptables -A FORWARD -i enp0s9 -o enp0s8 -j ACCEPT
|
||||||
|
iptables -A FORWARD -i enp0s9 -o enp0s9 -j ACCEPT
|
||||||
|
|
||||||
|
# Interdire toutes les autres connexions de forwarding
|
||||||
|
iptables -A FORWARD -j DROP
|
50
roles/fw-ferm/files/iptables.test.r-vp2
Normal file
50
roles/fw-ferm/files/iptables.test.r-vp2
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
# Politique par défaut : DROP
|
||||||
|
iptables -P INPUT DROP
|
||||||
|
iptables -P FORWARD ACCEPT
|
||||||
|
iptables -P OUTPUT ACCEPT
|
||||||
|
|
||||||
|
# Autoriser les connexions VPN entrantes
|
||||||
|
iptables -A INPUT -p udp --dport 51820 -j ACCEPT
|
||||||
|
|
||||||
|
# Autoriser les connexions établies et apparentées
|
||||||
|
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
|
||||||
|
|
||||||
|
# Autoriser les connexions depuis l'interface locale
|
||||||
|
iptables -A INPUT -i lo -j ACCEPT
|
||||||
|
|
||||||
|
# Autoriser les requêtes ping
|
||||||
|
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
|
||||||
|
|
||||||
|
# Autoriser les connexions SSH depuis le réseau privé et depuis certains hôtes Internet
|
||||||
|
iptables -A INPUT -s 172.16.0.0/24 -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
|
||||||
|
iptables -A INPUT -s 81.209.165.42 -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
|
||||||
|
|
||||||
|
# Autoriser les connexions DNS et SMTP depuis le réseau privé
|
||||||
|
iptables -A INPUT -i enp0s8 -s 172.16.0.0/24 -p udp --dport 53 -j ACCEPT
|
||||||
|
iptables -A INPUT -i enp0s8 -s 172.16.0.0/24 -p tcp --dport 53 -j ACCEPT
|
||||||
|
iptables -A INPUT -i enp0s8 -s 172.16.0.0/24 -p udp --dport 67 -j ACCEPT
|
||||||
|
|
||||||
|
# Autoriser le trafic sortant
|
||||||
|
iptables -A OUTPUT -j ACCEPT
|
||||||
|
|
||||||
|
# Autoriser les requêtes ping sortantes
|
||||||
|
iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
|
||||||
|
|
||||||
|
# Autoriser les connexions SSH sortantes
|
||||||
|
iptables -A OUTPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
|
||||||
|
|
||||||
|
# Autoriser les connexions VPN sortantes
|
||||||
|
iptables -A FORWARD -i wg0 -o enp0s9 -j ACCEPT
|
||||||
|
iptables -A FORWARD -i enp0s9 -o wg0 -j ACCEPT
|
||||||
|
|
||||||
|
# Interdire les connexions SSH entrantes depuis l'interface VPN
|
||||||
|
iptables -A FORWARD -i wg0 -p tcp --dport 22 -j DROP
|
||||||
|
|
||||||
|
# Autoriser les connexions SSH sortantes vers l'interface VPN
|
||||||
|
iptables -A FORWARD -o wg0 -p tcp --dport 22 -j ACCEPT
|
||||||
|
|
||||||
|
# Autoriser les connexions établies et apparentées
|
||||||
|
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
|
||||||
|
|
||||||
|
# Autoriser le trafic depuis le réseau privé
|
||||||
|
iptables -A FORWARD -i enp0s8 -o enp0s9 -j ACCEPT
|
@ -35,24 +35,3 @@ Nextcloud est alors fonctionnel avec le proxy inverse **traefik** assurant la re
|
|||||||
ATTENTION : Après avoir relancé la VM, executez le script "nxc-start.sh" afin d'installer les piles applicatives.
|
ATTENTION : Après avoir relancé la VM, executez le script "nxc-start.sh" afin d'installer les piles applicatives.
|
||||||
|
|
||||||
Une fois le script terminé, le site est disponible ici : https://s-nxc.gsb.lan
|
Une fois le script terminé, le site est disponible ici : https://s-nxc.gsb.lan
|
||||||
|
|
||||||
|
|
||||||
## 5. Ajout authentification LDAP
|
|
||||||
|
|
||||||
Pour ajouter l'authentification LDAP au Nextcloud, il faut :
|
|
||||||
* Une fois l'installation de Nextcloud terminé, cliquez sur le profil et Application
|
|
||||||
* Dans vos applications, descendre et activer "LDAP user and group backend"
|
|
||||||
* Puis cliquer sur le profil, puis Paramètres d'administration et dans Administration cliquer sur Intégration LDAP/AD
|
|
||||||
* Une fois sur la page d'intégration LDAP/AD :
|
|
||||||
* Dans Hôte mettre :
|
|
||||||
> ldap://s-win.gsb.lan
|
|
||||||
* Cliquer sur Détecter le port (normalement le port 389 apparait)
|
|
||||||
* Dans DN Utilisateur mettre :
|
|
||||||
> CN=nextcloud,CN=Users,DC=GSB,DC=LAN
|
|
||||||
* Mot de passe :
|
|
||||||
> Azerty1+
|
|
||||||
* Et dans Un DN de base par ligne :
|
|
||||||
> DC=GSB,DC=LAN
|
|
||||||
* Après la configuration passe OK
|
|
||||||
* Une fois la configuration finie, cliquer 3 fois sur continuer
|
|
||||||
* Une fois arrivé sur Groupes, vous pouvez vous déconnecter du compte Admin et vous connecter avec un compte qui est dans l'AD.
|
|
@ -1,22 +0,0 @@
|
|||||||
---
|
|
||||||
- name: mise a jour de resolv.conf...
|
|
||||||
copy:
|
|
||||||
src: /root/tools/ansible/gsb2023/roles/peertube/files/resolv.conf
|
|
||||||
dest: /etc/
|
|
||||||
mode: '0644'
|
|
||||||
|
|
||||||
- name: installation de docker...
|
|
||||||
shell: curl https://releases.rancher.com/install-docker/20.10.sh | sh
|
|
||||||
|
|
||||||
- name: attente de l'installation de docker...
|
|
||||||
wait_for:
|
|
||||||
timeout: 30
|
|
||||||
host: localhost
|
|
||||||
|
|
||||||
- name: installation de k3s...
|
|
||||||
shell: curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--node-ip=192.168.100.20 --flannel-iface=enp0s8" sh -s - --docker
|
|
||||||
|
|
||||||
- name: attente de l'installation de k3s...
|
|
||||||
wait_for:
|
|
||||||
timeout: 25
|
|
||||||
host: localhost
|
|
@ -1,9 +0,0 @@
|
|||||||
MYHOST=peertube.gsb.lan;
|
|
||||||
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml;
|
|
||||||
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.cert -subj /CN="${MYHOST}"/O="${MYHOST}" -addext "subjectAltName = DNS:${MYHOST}";
|
|
||||||
kubectl create secret tls tls-peertube --key tls.key --cert tls.cert;
|
|
||||||
helm repo add postgresql https://charts.bitnami.com/bitnami;
|
|
||||||
helm repo add redis https://charts.bitnami.com/bitnami;
|
|
||||||
helm repo add mail https://bokysan.github.io/docker-postfix;
|
|
||||||
helm install --create-namespace -n peertube peertube-gsb /root/tools/peertube/helm/ ;
|
|
||||||
kubectl config view --raw > ~/.kube/config
|
|
@ -1,4 +0,0 @@
|
|||||||
domain gsb.lan
|
|
||||||
search gsb.lan
|
|
||||||
nameserver 172.16.0.1
|
|
||||||
nameserver 192.168.99.99
|
|
@ -1,139 +0,0 @@
|
|||||||
replicaCount: 1
|
|
||||||
image:
|
|
||||||
repository: chocobozzz/peertube
|
|
||||||
pullPolicy: IfNotPresent
|
|
||||||
tag: "v5.0.1-bullseye"
|
|
||||||
|
|
||||||
imagePullSecrets: []
|
|
||||||
nameOverride: ""
|
|
||||||
fullnameOverride: ""
|
|
||||||
|
|
||||||
serviceAccount:
|
|
||||||
create: false
|
|
||||||
annotations: {}
|
|
||||||
name: ""
|
|
||||||
podAnnotations: {}
|
|
||||||
podSecurityContext: {}
|
|
||||||
securityContext: {}
|
|
||||||
|
|
||||||
service:
|
|
||||||
type: ClusterIP
|
|
||||||
port: 9000
|
|
||||||
nginxPort: 9001
|
|
||||||
|
|
||||||
## default config for postgresql should work, but feel free to modify it if required.
|
|
||||||
# must stay consistent with peertube configuration, otherwise peertube will crash
|
|
||||||
postgresql:
|
|
||||||
enabled: true
|
|
||||||
primary:
|
|
||||||
persistence:
|
|
||||||
enabled: true
|
|
||||||
existingClaim: "pvc-postgres"
|
|
||||||
global:
|
|
||||||
postgresql:
|
|
||||||
auth:
|
|
||||||
postgrePassword: "admin"
|
|
||||||
username: "user"
|
|
||||||
password: "user"
|
|
||||||
database: "peertube"
|
|
||||||
|
|
||||||
## the main list of variables tha will be applied in the peertube container
|
|
||||||
# any error or misconfiguration will make peertube crash.
|
|
||||||
peertube:
|
|
||||||
env:
|
|
||||||
dbUser: user # must be consistent with postgresql configuration
|
|
||||||
dbPasswd: user # must be consistent with postgresql configuration
|
|
||||||
dbSsl: false # disabled by default WARNING: ssl connection feature not tested, use at your own risk
|
|
||||||
dbHostname: peertube-gsb-postgresql # must be consistent with postgresql configuration
|
|
||||||
webHostname: peertube.gsb.lan # must be changed to your local setup
|
|
||||||
secret: b2753b0f37444974de0e81f04815e6a889fcf8960bd203a01b624d8fa8a37683
|
|
||||||
smtpHostname: peertube-gsb-mail # must be consistent with mail configuration
|
|
||||||
smtpPort: 587 # must be consistent with mail configuration
|
|
||||||
smtpFrom: noreply@lan.lan # not configured by default, add something meaningfull if you want
|
|
||||||
smtpTls: false # disabled by default WARNING: tls connection feature not tested, use at your own risk
|
|
||||||
smtpDisableStartTls: false # unless crashes related to tls/ssl, this should be unchanged
|
|
||||||
adminEmail: root@localhost.lan # use this if you want peopleto be able to reach you
|
|
||||||
redisHostname: peertube-gsb-redis-master # must be consistent with redis configuration
|
|
||||||
redisAuth: peertube # must be consistent with redis configuration
|
|
||||||
app:
|
|
||||||
userCanRegister: true # control if people can register by themselves
|
|
||||||
rootPasswd: rootroot # CHANGE THIS! the default admin username is 'root' this variable define the password
|
|
||||||
## the next section configure at wich quality videos will be transcoded
|
|
||||||
transcoding360: true
|
|
||||||
transcoding480: true
|
|
||||||
transcoding720: true
|
|
||||||
transcoding1080: false
|
|
||||||
transcoding2160: false
|
|
||||||
|
|
||||||
## the configuration of the postfix server called 'mail' here
|
|
||||||
# change these settings if you know what you are doing
|
|
||||||
mail:
|
|
||||||
enbled: true
|
|
||||||
config:
|
|
||||||
general:
|
|
||||||
ALLOWED_SENDER_DOMAINS: "yes"
|
|
||||||
DKIM_AUTOGENERATE: "yes"
|
|
||||||
opendkim:
|
|
||||||
RequireSafeKeys: "no"
|
|
||||||
postfix:
|
|
||||||
smtp_tls_security_level: "secure" # works by default, any other tls level is untested
|
|
||||||
persistence:
|
|
||||||
enabled: false
|
|
||||||
service:
|
|
||||||
port: 587
|
|
||||||
|
|
||||||
## the configuration of the redis server
|
|
||||||
redis:
|
|
||||||
master:
|
|
||||||
persistence:
|
|
||||||
enabled: true
|
|
||||||
existingClaim: "pvc-redis"
|
|
||||||
replica:
|
|
||||||
persistence:
|
|
||||||
enabled: true
|
|
||||||
existingClaim: "pvc-redis"
|
|
||||||
auth:
|
|
||||||
enbled: true
|
|
||||||
password: "peertube"
|
|
||||||
|
|
||||||
## ingress configuration is very specific this part must be configured or else you'll get 503 or 404 errors
|
|
||||||
ingress:
|
|
||||||
enabled: true
|
|
||||||
className: ""
|
|
||||||
annotations:
|
|
||||||
kubernetes.io/ingress.class: traefik
|
|
||||||
traefik.ingress.kubernetes.io/proxy-body-size: 6G # this caps the size of imported videos, if set low this might prevent you from uploading videos
|
|
||||||
# kubernetes.io/tls-acme: "true"
|
|
||||||
hosts:
|
|
||||||
- host: peertube.gsb.lan
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: ImplementationSpecific
|
|
||||||
tls:
|
|
||||||
- secretName: tls-peertube
|
|
||||||
- hosts:
|
|
||||||
- peertube.gsb.lan
|
|
||||||
|
|
||||||
resources: {}
|
|
||||||
autoscaling:
|
|
||||||
enabled: false
|
|
||||||
minimumReplicas: 3
|
|
||||||
maximumReplicas: 20
|
|
||||||
targetCPUUtilizationPercentage: 90
|
|
||||||
targetMemoryUtilizationPercentage: 75
|
|
||||||
windowSeconds: 120
|
|
||||||
minCPUPercentage: 20
|
|
||||||
minMemoryPercentage: 30
|
|
||||||
|
|
||||||
## this section should be configured to match your needs and available ressources
|
|
||||||
persistence:
|
|
||||||
enabled: true
|
|
||||||
reclaimPolicy: Retain
|
|
||||||
redisVolumeStorage: 1Gi
|
|
||||||
peertubeVolumeStorage: 5Gi
|
|
||||||
postgresqlVolumeStorage: 1Gi
|
|
||||||
accessMode: ReadWriteOnce
|
|
||||||
|
|
||||||
nodeSelector: {}
|
|
||||||
tolerations: []
|
|
||||||
affinity: {}
|
|
@ -1,28 +1,11 @@
|
|||||||
---
|
---
|
||||||
- name: création du répertoire du dépot peertube...
|
- name: installation de docker...
|
||||||
file:
|
shell: curl https://releases.rancher.com/install-docker/20.10.sh | sh
|
||||||
path: /root/tools/peertube
|
|
||||||
state: directory
|
|
||||||
mode: '0755'
|
|
||||||
|
|
||||||
- name: clonage du dépot peertube...
|
- name: installation de k3s...
|
||||||
git:
|
shell: curl -sfL https://get.k3s.io | sh -s - --docker
|
||||||
repo: https://github.com/Elam-Monnot/Peertube-helm.git
|
|
||||||
dest: /root/tools/peertube
|
|
||||||
clone: yes
|
|
||||||
force: yes
|
|
||||||
|
|
||||||
- name: copie de values.yaml...
|
- name: activationde k3s au démarrage...
|
||||||
copy:
|
systemd:
|
||||||
src: /root/tools/ansible/gsb2023/roles/peertube/files/values.yaml
|
name: k3s
|
||||||
dest: /root/tools/peertube/helm/
|
enabled: true
|
||||||
mode: '0644'
|
|
||||||
|
|
||||||
- name: copie du script finish...
|
|
||||||
copy:
|
|
||||||
src: /root/tools/ansible/gsb2023/roles/peertube/files/finish
|
|
||||||
dest: /root
|
|
||||||
mode: '0644'
|
|
||||||
|
|
||||||
- name: installation de helm...
|
|
||||||
shell: curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
|
|
||||||
|
@ -34,4 +34,4 @@ iface enp0s10 inet static
|
|||||||
allow-hotplug enp0s16
|
allow-hotplug enp0s16
|
||||||
iface enp0s16 inet static
|
iface enp0s16 inet static
|
||||||
address 172.16.0.254/24
|
address 172.16.0.254/24
|
||||||
post-up sleep 10 && systemctl restart isc-dhcp-server
|
|
||||||
|
26
roles/post/files/interfaces.r-vp1-cs
Normal file
26
roles/post/files/interfaces.r-vp1-cs
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
# This file describes the network interfaces available on your system
|
||||||
|
# and how to activate them. For more information, see interfaces(5).
|
||||||
|
|
||||||
|
# The loopback network interface
|
||||||
|
#auto lo
|
||||||
|
#iface lo inet loopback
|
||||||
|
|
||||||
|
#cote N-adm
|
||||||
|
allow-hotplug enp0s3
|
||||||
|
iface enp0s3 inet dhcp
|
||||||
|
|
||||||
|
# reseau entre vpn
|
||||||
|
allow-hotplug enp0s8
|
||||||
|
iface enp0s8 inet static
|
||||||
|
address 192.168.0.51
|
||||||
|
netmask 255.255.255.0
|
||||||
|
|
||||||
|
# reseau interne n-linkv
|
||||||
|
allow-hotplug enp0s9
|
||||||
|
iface enp0s9 inet static
|
||||||
|
address 192.168.1.2
|
||||||
|
netmask 255.255.255.0
|
||||||
|
up route add -net 172.16.128.0/24 gw 192.168.1.2
|
||||||
|
up route add default gw 192.168.1.1
|
||||||
|
# post-up /bin/bash /root/iptables-vpn
|
||||||
|
post-up /etc/init.d/ipsec restart
|
25
roles/post/files/interfaces.r-vp2-cs
Normal file
25
roles/post/files/interfaces.r-vp2-cs
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# This file describes the network interfaces available on your system
|
||||||
|
# and how to activate them. For more information, see interfaces(5).
|
||||||
|
|
||||||
|
# The loopback network interface
|
||||||
|
#auto lo
|
||||||
|
#iface lo inet loopback
|
||||||
|
|
||||||
|
# cote N-adm
|
||||||
|
allow-hotplug enp0s3
|
||||||
|
iface enp0s3 inet dhcp
|
||||||
|
|
||||||
|
# cote Agence
|
||||||
|
allow-hotplug enp0s8
|
||||||
|
iface enp0s8 inet static
|
||||||
|
address 172.16.128.254
|
||||||
|
netmask 255.255.255.0
|
||||||
|
|
||||||
|
# cote VPN
|
||||||
|
allow-hotplug enp0s9
|
||||||
|
iface enp0s9 inet static
|
||||||
|
address 192.168.0.52
|
||||||
|
netmask 255.255.255.0
|
||||||
|
up route add -net 192.168.1.0/24 gw 172.16.128.254
|
||||||
|
# post-up /bin/bash /root/iptables-vpn
|
||||||
|
post-up /etc/init.d/ipsec restart
|
@ -8,10 +8,9 @@ iface lo inet loopback
|
|||||||
allow-hotplug enp0s3
|
allow-hotplug enp0s3
|
||||||
iface enp0s3 inet static
|
iface enp0s3 inet static
|
||||||
address 192.168.99.120/24
|
address 192.168.99.120/24
|
||||||
gateway 192.168.99.99
|
|
||||||
|
|
||||||
# Réseau n-dmz
|
# Réseau n-dmz
|
||||||
allow-hotplug enp0s8
|
allow-hotplug enp0s8
|
||||||
iface enp0s8 inet static
|
iface enp0s8 inet static
|
||||||
address 192.168.100.20/24
|
address 192.168.100.20/24
|
||||||
post-up systemctl start k3s
|
|
||||||
|
@ -17,13 +17,3 @@
|
|||||||
|
|
||||||
#- name: extraction fog.tar.gz
|
#- name: extraction fog.tar.gz
|
||||||
#unarchive: src=/tmp/fog.tar.gz dest=/var/www/ copy=no
|
#unarchive: src=/tmp/fog.tar.gz dest=/var/www/ copy=no
|
||||||
|
|
||||||
#- name: delais 2 secondes isc-dhcp-service
|
|
||||||
# become: yes
|
|
||||||
# lineinfile:
|
|
||||||
# path: /etc/init.d/isc-dhcp-server
|
|
||||||
# insertafter: '^\s+start\)$'
|
|
||||||
# line: " sleep 2"
|
|
||||||
# firstmatch: yes
|
|
||||||
# state: present
|
|
||||||
# backup: yes
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# ajout du sleep 5
|
#ajout du sleep 5
|
||||||
|
|
||||||
~~éditer "/etc/init.d/isc-dhcp-server"~~
|
éditer "/etc/init.d/isc-dhcp-server"
|
||||||
~~aller au "case \"$1\" in" et rajouter "sleep 5" avant le "if"~~
|
aller au "case \"$1\" in" et rajouter "sleep 5" avant le "if"
|
||||||
|
|
||||||
|
@ -14,15 +14,7 @@
|
|||||||
name: wireguard-tools
|
name: wireguard-tools
|
||||||
state: present
|
state: present
|
||||||
|
|
||||||
- name: delais 2 secondes isc-dhcp-service
|
|
||||||
become: yes
|
|
||||||
lineinfile:
|
|
||||||
path: /etc/init.d/isc-dhcp-server
|
|
||||||
insertafter: '^\s+start\)$'
|
|
||||||
line: " sleep 2"
|
|
||||||
firstmatch: yes
|
|
||||||
state: present
|
|
||||||
backup: yes
|
|
||||||
|
|
||||||
#- name: renommage du fichier de configuration
|
#- name: renommage du fichier de configuration
|
||||||
# command: "mv /etc/wireguard/wg0-b.conf /etc/wireguard/wg0.conf"
|
# command: "mv /etc/wireguard/wg0-b.conf /etc/wireguard/wg0.conf"
|
||||||
|
@ -4,8 +4,7 @@
|
|||||||
|
|
||||||
roles:
|
roles:
|
||||||
- base
|
- base
|
||||||
|
- peertube
|
||||||
- post
|
- post
|
||||||
- snmp-agent
|
- snmp-agent
|
||||||
- ssh-cli
|
- ssh-cli
|
||||||
- peertube-k3s
|
|
||||||
- peertube
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#recuperation du fichier de config
|
#recuperation du fichier de config
|
||||||
wget http://r-vp1.gsb.adm:8000/wg0-b.conf
|
wget http://r-vp1.gsb.adm:8800/wg0-b.conf
|
||||||
#renomage fichier et mv
|
#renomage fichier et mv
|
||||||
mv ./wg0-b.conf /etc/wireguard/wg0.conf
|
mv ./wg0-b.conf /etc/wireguard/wg0.conf
|
||||||
#activation interface wg0
|
#activation interface wg0
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
@echo off
|
|
||||||
net group gg-backup /ADD
|
net group gg-backup /ADD
|
||||||
call mkusr uBackup "u-backup" gg-backup
|
call mkusr uBackup "u-backup" gg-backup
|
||||||
icacls "C:\gsb\partages\public" /Grant:r uBackup:M /T
|
icacls "C:\gsb\partages\public" /Grant:r uBackup:M /T
|
@ -1,4 +1,3 @@
|
|||||||
@echo off
|
|
||||||
call mkusr aDupont "Albert Dupon" gg-compta
|
call mkusr aDupont "Albert Dupon" gg-compta
|
||||||
call mkusr cSeum "Claire Seum" gg-compta
|
call mkusr cSeum "Claire Seum" gg-compta
|
||||||
call mkusr nPaul "Nicolas Paul" gg-compta
|
call mkusr nPaul "Nicolas Paul" gg-compta
|
||||||
|
@ -1,2 +0,0 @@
|
|||||||
@echo off
|
|
||||||
call mkusr nextcloud "nextcloud" nextcloud
|
|
Loading…
x
Reference in New Issue
Block a user