209 lines
5.7 KiB
Markdown
209 lines
5.7 KiB
Markdown
# Serveur physique `mother` : serveur-mère de l'infrastructure de Libre en Communs
|
||
|
||
`mother` est un serveur physique hébergé au local de l'association.
|
||
|
||
Avec `aunt` elles forment le centre névralgique de l'infrastructure de l'association.
|
||
|
||
### Matériel
|
||
|
||
Carte mère : 1 × Asus KGPN-D16 Rev 1.03G
|
||
CPU : 2 × AMD Opteron 6282SE
|
||
RAM : 4 × Crucial RDIMM 16Go CT2K16G3ERSLD4160B
|
||
Alimentation : 1 × FSP Twins PRO 500W (500W ATX12V / EPS12V 80PLUS Gold)
|
||
Onduleur : 1 × EATON Ellipse PRO 1600 VA
|
||
Casier : 1 × Inter-Tech IPC 4U-4129-N SSI-EEB (Rack)
|
||
Stockage de masse : 2 × Samsung SSD 870 QVO 2To
|
||
|
||
### Logiciel
|
||
|
||
Micro-programme : Coreboot 4.6 + SeaBIOS, sans blob privateur
|
||
Système d'exploitation : Debian GNU/Linux-libre 11 (Bullseye)
|
||
Noyau : Linux-libre LTS (`linux-libre-lts` des dépôts https://linux-libre.fsfla.org)
|
||
Virtualisation : QEMU/KVM (`libvirt`)
|
||
Gestion du onduleur : NUT/UPS
|
||
Audit des paquets mensuel : `vrms`
|
||
Sécurités de la maintenance : `etckeeper`, `mollyguard`, `tig`, `lm-sensors`, `fancontrol`, `screen`
|
||
Mail Transfer Agent : `postfix`
|
||
Réplication de stockage (vm) : `drbd`, `ocfs2`
|
||
|
||
### Caractéristiques notables
|
||
|
||
Domaine : mother.libre-en-communs.org
|
||
Adresse ipv4 publique : 80.67.179.96
|
||
Adresse ipv4 locale : 192.169.1.108
|
||
Adresse ipv6 publique : 2001:910:1360::2
|
||
|
||
#### Configuration réseau
|
||
|
||
##### /etc/network/interfaces
|
||
<details>
|
||
|
||
# Connexion avec la machine aunt
|
||
allow-hotplug ens9
|
||
iface ens9 inet static
|
||
address 192.169.254.2
|
||
|
||
post-up /usr/bin/ip link set ens9 mtu 9000
|
||
|
||
# Connexion avec le routeur (bridge sur ens10 avec les VM présentes)
|
||
allow-hotplug ens10
|
||
auto br0
|
||
iface br0 inet static
|
||
bridge_ports ens10
|
||
address 192.169.1.108
|
||
gateway 192.169.1.1
|
||
bridge_stp off # désactivation du Spanning Tree Protocol
|
||
bridge_waitport 0 # suppression du délai avant que le port soit disponible pour le bridge
|
||
bridge_fd 0 # suppression de délai avant que le forwarding du bridge soit établi
|
||
|
||
iface br0 inet6 static
|
||
bridge_ports ens10
|
||
address 2001:910:1360:0::2/128
|
||
gateway 2001:910:1360::1
|
||
bridge_stp off # désactivation du Spanning Tree Protocol
|
||
bridge_waitport 0 # suppression du délai avant que le port soit disponible pour le bridge
|
||
bridge_fd 0 # suppression de délai avant que le forwarding du bridge soit établi
|
||
|
||
</details>
|
||
|
||
### Configuration SSH
|
||
|
||
#### /etc/ssh/sshd_config
|
||
<details>
|
||
|
||
# $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $
|
||
|
||
# This is the sshd server system-wide configuration file. See
|
||
# sshd_config(5) for more information.
|
||
|
||
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
|
||
|
||
# The strategy used for options in the default sshd_config shipped with
|
||
# OpenSSH is to specify options with their default value where
|
||
# possible, but leave them commented. Uncommented options override the
|
||
# default value.
|
||
|
||
Port 222
|
||
AddressFamily any
|
||
ListenAddress 0.0.0.0
|
||
ListenAddress ::
|
||
|
||
PubkeyAuthentication no
|
||
|
||
PasswordAuthentication no
|
||
PermitEmptyPasswords no
|
||
|
||
ChallengeResponseAuthentication no
|
||
|
||
UsePAM yes
|
||
|
||
AllowAgentForwarding yes
|
||
AllowTcpForwarding yes
|
||
GatewayPorts yes
|
||
X11Forwarding no
|
||
|
||
PrintMotd no
|
||
|
||
TCPKeepAlive yes
|
||
|
||
PermitTunnel yes
|
||
|
||
AcceptEnv LANG LC_*
|
||
|
||
Subsystem sftp /usr/lib/openssh/sftp-server
|
||
|
||
Match Group ssh-pubkey
|
||
PubkeyAuthentication yes
|
||
|
||
Match Group ssh-login
|
||
PasswordAuthentication yes
|
||
PubkeyAuthentication yes
|
||
|
||
Match Address 127.0.0.*
|
||
PubkeyAuthentication yes
|
||
|
||
Match Address 192.169.254.3
|
||
PubkeyAuthentication yes
|
||
</details>
|
||
|
||
### Configuration DRBD
|
||
|
||
#### /etc/drbd.d/drbd1.res
|
||
<details>
|
||
|
||
resource drbd1 {
|
||
meta-disk internal;
|
||
device /dev/drbd1;
|
||
|
||
startup {
|
||
wfc-timeout 20;
|
||
become-primary-on both;
|
||
}
|
||
net {
|
||
verify-alg sha256;
|
||
allow-two-primaries yes;
|
||
max-buffers 10k;
|
||
max-epoch-size 10k;
|
||
unplug-watermark 32;
|
||
sndbuf-size 0;
|
||
rcvbuf-size 0;
|
||
}
|
||
disk {
|
||
on-io-error detach;
|
||
#no-disk-flushes;
|
||
#no-disk-barrier;
|
||
c-plan-ahead 10;
|
||
c-fill-target 150M;
|
||
c-min-rate 10k;
|
||
c-max-rate 500M;
|
||
}
|
||
|
||
on mother { # hostname must match `uname -n` output
|
||
disk /dev/md1; # Logical Volume on the provided host
|
||
address 192.169.254.2:7789; # IP Address to be used to connect to the node with port
|
||
}
|
||
|
||
on aunt { # hostname must match `uname -n` output
|
||
disk /dev/md1; # Logical Volume on the provided host
|
||
address 192.169.254.3:7789; # IP Address to be used to connect to the node with port
|
||
}
|
||
}
|
||
|
||
</details>
|
||
|
||
#### /etc/ocfs2/cluster.conf
|
||
<details>
|
||
|
||
cluster:
|
||
name = sharedfs
|
||
heartbeat_mode = local
|
||
node_count = 2
|
||
|
||
node:
|
||
cluster = sharedfs
|
||
number = 0
|
||
ip_port = 7777
|
||
ip_address = 192.169.254.3
|
||
name = aunt
|
||
|
||
node:
|
||
cluster = sharedfs
|
||
number = 1
|
||
ip_port = 7777
|
||
ip_address = 192.169.254.2
|
||
name = mother
|
||
|
||
</details>
|
||
|
||
### Configuration MTA
|
||
|
||
#### /etc/postfix/transport
|
||
|
||
a-lec.org :
|
||
* discard:
|
||
|
||
#### /etc/postfix/virtual
|
||
|
||
@localhost admin@a-lec.org
|
||
@mother.libre-en-communs.org admin@a-lec.org
|