Compare commits

...

11 Commits

12 changed files with 68 additions and 32 deletions

View File

@ -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

View File

@ -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

View File

@ -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. (
2023012500 ; Serial 2023040501 ; Serial
7200 ; Refresh 7200 ; Refresh
86400 ; Retry 86400 ; Retry
8419200 ; Expire 8419200 ; Expire
@ -35,4 +35,5 @@ s-web1 IN A 192.168.101.1
s-web2 IN A 192.168.101.2 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.
peertube IN A 192.168.100.20

View File

@ -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. (
2023012500 ; Serial 2023040501 ; Serial
7200 ; Refresh 7200 ; Refresh
86400 ; Retry 86400 ; Retry
8419200 ; Expire 8419200 ; Expire
@ -28,4 +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.
100.20 IN PTR s-peertube

View File

@ -4,10 +4,12 @@
@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;
@ -28,22 +30,22 @@ 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 81.209.165.42) proto tcp dport ssh ACCEPT; saddr ($NET_PRIVATE) 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 réseau
# the rest is dropped by the above policy # the rest is dropped by the above policy
}#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 proto ssh dport 22 ACCEPT;
}#FIN OUTPUT }#FIN OUTPUT
@ -59,6 +61,9 @@ 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
} }
} }

View File

@ -51,6 +51,7 @@ table filter {
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;

View File

@ -35,3 +35,24 @@ 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.

View File

@ -8,7 +8,7 @@
- name: installation de docker... - name: installation de docker...
shell: curl https://releases.rancher.com/install-docker/20.10.sh | sh shell: curl https://releases.rancher.com/install-docker/20.10.sh | sh
- name: attente de l'installation... - name: attente de l'installation de docker...
wait_for: wait_for:
timeout: 30 timeout: 30
host: localhost host: localhost
@ -16,8 +16,7 @@
- name: installation de k3s... - name: installation de k3s...
shell: curl -sfL https://get.k3s.io | sh -s - --docker shell: curl -sfL https://get.k3s.io | sh -s - --docker
- name: mise a jour de resolv.conf... - name: attente de l'installation de k3s...
copy: wait_for:
src: /root/tools/ansible/gsb2023/roles/peertube/files/resolv.conf timeout: 25
dest: /etc/ host: localhost
mode: '0644'

View File

@ -0,0 +1,12 @@
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml;
helm upgrade --install ingress-nginx ingress-nginx \
--repo https://kubernetes.github.io/ingress-nginx \
--namespace ingress-nginx --create-namespace;
sleep 15;
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ${KEY_FILE} -out ${CERT_FILE} -subj "/CN=${HOST}/O=${HOST}" -addext "subjectAltName = DNS:${HOST}";
kubectl create secret tls tls-peertube --key ${KEY_FILE} --cert ${CERT_FILE};
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

View File

@ -45,9 +45,9 @@ peertube:
dbPasswd: 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 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 dbHostname: peertube-gsb-postgresql # must be consistent with postgresql configuration
webHostname: peertube # must be changed to your local setup webHostname: s-peertube.gsb.lan # must be changed to your local setup
secret: b2753b0f37444974de0e81f04815e6a889fcf8960bd203a01b624d8fa8a37683 secret: b2753b0f37444974de0e81f04815e6a889fcf8960bd203a01b624d8fa8a37683
smtpHostname: peertube-mail # must be consistent with mail configuration smtpHostname: peertube-gsb-mail # must be consistent with mail configuration
smtpPort: 587 # 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 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 smtpTls: false # disabled by default WARNING: tls connection feature not tested, use at your own risk
@ -98,21 +98,21 @@ redis:
## ingress configuration is very specific this part must be configured or else you'll get 503 or 404 errors ## ingress configuration is very specific this part must be configured or else you'll get 503 or 404 errors
ingress: ingress:
enabled: false enabled: true
className: "" className: ""
annotations: annotations:
kubernetes.io/ingress.class: nginx kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/proxy-body-size: 4G # this caps the size of imported videos, if set low this might prevent you from uploading videos nginx.ingress.kubernetes.io/proxy-body-size: 4G # this caps the size of imported videos, if set low this might prevent you from uploading videos
# kubernetes.io/tls-acme: "true" # kubernetes.io/tls-acme: "true"
hosts: hosts:
- host: # your domain here - host: s-peertube.gsb.lan
paths: paths:
- path: / - path: /
pathType: ImplementationSpecific pathType: ImplementationSpecific
tls: tls:
# - secretName: chart-example-tls - secretName: tls-peertube
- hosts: - hosts:
- # your domain here - s-peertube.gsb.lan
resources: {} resources: {}
autoscaling: autoscaling:

View File

@ -18,14 +18,11 @@
dest: /root/tools/peertube/helm/ dest: /root/tools/peertube/helm/
mode: '0644' 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... - name: installation de helm...
shell: curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash shell: curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
- name: exposition du cluster...
shell: export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
- name: installation de peertube...
shell: 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
- name: lancement du helm chart peertube...
shell: helm install --create-namespace -n peertube peertube-gsb /root/tools/peertube/helm

View File

@ -14,4 +14,4 @@ iface enp0s3 inet static
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 && sleep 20 && export KUBECONFIG=/etc/rancher/k3s/k3s.yaml post-up systemctl start k3s