technique:infrastructure:machines_virtuelles:reseau_ssh

Configuration réseau et SSH

Attention:

Cette page suppose que vous avez accès à un shell sur une machine virtuelle nouvellement installée.

Si jamais la configuration réseau semble être écrasée par une configuration IPv6, il est nécessaire de supprimer le paquet rdnssd qui fait du DNS discovery pour l’IPv6. Il casse la configuration IPv6 statique, on peut donc le supprimer.

apt-get purge rdnssd

On modifie le fichier /etc/resolv.conf pour ajouter les serveurs DNS de Tetaneutral :

search picasoft.net
nameserver 91.224.148.10
nameserver 91.224.149.254

On édite le fichier /etc/network/interfaces pour indiquer au système que l’on souhaite configurer l’interface eth0 à la main :

snippet.bash
source /etc/network/interfaces.d/*
 
# The loopback network interface
auto lo
iface lo inet loopback
 
# The primary network interface
auto eth0
allow-hotplug eth0
iface eth0 inet manual

Pour rappel, dans cette configuration, eth0 de la VM est relié à une interface bridge de l’hôte, qui transmet les requêtes à la machine virtuelle. On suppose ici que l’IPv6 est fonctionnelle. Sur Debian, il faudra éditer le fichier /etc/rc.local pour ajouter la configuration suivante :

snippet.bash
# On attend 3 secondes au boot pour être sûr d'avoir les interfaces réseau
sleep 3
 
# Désactiver l'auto-configuration IPv6 pour permettre
# l'utilisation d'une adresse IPv6 statique
for i in /proc/sys/net/ipv6/conf/*; do \
  for j in autoconf accept_ra; do echo 0 > $i/$j; done;done
 
# On allume l'interface eth0
ip link set eth0 up
# IPv4 publique
ip addr add <IPv4> dev eth0
# On ajoute la route par défaut vers le routeur de Tetaneutral (à changer si autre FAI)
ip route add default via 91.224.148.0 dev eth0 onlink
# IPv6 publique
ip -6 addr add <IPv6> dev eth0
# Lien-local IPv6 : unique sur l'hôte
ip -6 addr add fe80::80:<XX>/64 dev eth0
# Passerelle IPv6 par défaut : lien-local statique du routeur Tetaneutral (à changer si autre FAI)
ip -6 route add default via fe80::31 dev eth0
 
exit 0

Sur Alpine, il faudra activer les scripts `local.d·` avec rc-update add local default et éditer le fichier /etc/local.d/Network.start.

Attention:

Il faut remplacer <IPv4>, <IPv6> et <XX>. Ces valeurs sont à faire correspondre avec les routes déclarées sur l’hôte. Pour une VM chez Tetaneutral, on regardera sur la page de configuration réseau des machines physiques.

On exécute le script :

snippet.bash
chmod +x /etc/rc.local
./etc/rc.local

À ce stade, on doit être en mesure de contacter la machine depuis l’extérieur, via un ping par exemple.

S’assurer que le serveur SSH est installé. Dans /etc/sshd_config, on vérifie que la connexion par mot de passe pour root est désactivée, c’est-à-dire que la ligne commençant par PermitRootLogin est commentée.

Aujourd’hui, on utilise un serveur LDAP pour les connexions aux machines virtuelles : se référer au tutoriel de mise en place de l'authentification LDAP.

Important:

Il est préférable d’installer un pare-feu basique et fail2ban.

La configuration est terminée, la machine est accessible via son IP publique et SSH, avec authentification LDAP.

  • technique/infrastructure/machines_virtuelles/reseau_ssh.1637617760.txt.gz
  • de qduchemi