[[wiki:technique:adminsys:dingo]]

Serveur Dingo

Documentation d’installation d’un serveur principal permettant de faire un pont entre les connexions entrantes et le vpn.

Une tour de PC dell optiplex 360, processeur core 2 duo mémoire 2Go, disque dur de 80Go

On a ajouté une deuxième carte réseau qui traînait dans un tiroir, afin de pouvoir faire le pont vers le vpn.

On branche le réseau, écran, clavier, nous avons fait le choix de ne pas avoir d’interface graphique, ainsi nous n’aurons pas besoin de souris.

Pour cette installation nous avons choisi d’utiliser un système debian strech, avec une image dite «netinst», ceci allégeant le téléchargement de l’image initiale.

Nous avions entre nos mains un PC 32bits. L’image que nous avons téléchargée est ici [ajouter lien vers la page de téléchargement]

Copier l’image téléchargée sur un dvd ou CD. Attention, ce n’est pas une simple copie effectuée par un «glisser déposer».

Pour un système linux, par le terminal.
sudo dd if=le_chemin_vers_l_iso of=/dev/endroit_ou_se_trouve_le_lecteur

Ou avec une interface graphique en utilisant le logiciel etcher (dispo à cette adressehttps://www.balena.io/etcher/)

if → input file, le fichier à envoyer of → output file, l’endroit où copier l’image

Une fois l’image bien copiée, démarrez le PC, attendre l’invite du boot et appuyez sur F12 pour choisir de démarrer sur le dvd/cd/usb.

Le PC va lire le dvd/cd et exécuter le programme d’installation.

Laissez-vous guider par les messages. (on choisit ici d’utiliser l’entièreté du disque dur)

Lors du choix des paquets à installer décocher les case «interface graphique» et «gnome», normalement la case «SSH» est déjà cochée, il est important qu'elle le soit.

Choisir un mot de passe nommé «root» qui est le super utilisateur de l’ordinateur, et un nom d’utilisateur.

On attend que tout s’installe tranquillement (c’est l’heure du café).

Enfin, l’ordinateur s’arrête, puis redémarre (il reboot).

Vous pouvez à présent vous connecter à la session user:mdp.

On teste que l’on est bien connecté à internet en faisant :
ping perdu.com
par exemple, si vous avez une réponse qui se termine par quelque chose comme ça :

icmp_seq=1 ttl=50 time=139 ms

c

’est bon signe, c’est le temps de réponse entre vous et le serveur de perdu.com. (ctrl+c) pour sortir de l’écran.

Nous aurons besoin de certains logiciels non installés de base sur notre ordinateur. Pour les installer, vous devez être connecté avec l’utilisateur root et taper :
apt install openvpn sudo net-tools curl nano wget

net-tools permet d'utiliser ifconfig (en root uniquement)

Récupérez le fichier de configuration fourni par votre fournisseur de vpn, en général il se termine par .ovpn.

Éditez éventuellement le fichier, afin par exemple de ne pas avoir à retaper le mot de passe à chaque fois.

Une fois cela effectué, testez la connection au vpn par la commande (sudo) openvpn votrefichier.ovpn Vous verrez défiler un certain nombre d’infos, avec éventuellement des messages d’erreurs mais, si tout fonctionne bien, à la fin vous aurez un message du type «Connection established».

La connexion au vpn génère une 3ème carte de réseau virtuel nommée tun0.

(on lance ip tune)

Vous pouvez éventuellement faire un
curl ifconfig.me
vous devriez à présent avoir l’ip du vpn.

Effectuer le pont entre votre réseau local et le vpn. On “route” tout le traffic reseau vers la carte tun0. Cela se fait par iptables, la commande qui a semblé fonctionner pour nous est :

iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

On verifie notre l'adresse ip public

curl ifconfig.me

Sous debian STRECH

 #sudo nano /etc/systemd/system/rc-local.service

et placer ces lignes

[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target

#sudo nano /etc/rc.local

et placer ces lignes

#!/bin/sh -


.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

openvpn /etc/openvpn/fdn.ovpn &
sleep 30
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE


exit 0

Ajouter l'autorisation d’exécution au script /etc/rc.local créer précédemment

# chmod +x /etc/rc.local

Finalement, activer le nouveau service rc-local au démarrage de votre serveur

# systemctl enable rc-local

Pour créer un journal openvpn on peut ajouter dans le fichier de configuration du vpn . /etc/openvpn/fdn.ovpn, la lignes suivantes:

log-append /etc/openvpn/log.ovpn
sudo watch tail /etc/openvpn/log.ovpn

fichier batch qui test si tun0 marche ou non. A lancer avec les droits super utilisateur

if ifconfig tun0 | grep -q "00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00"
then
echo "VPN up"
else
echo "VPN down"
fi
exit 0

Essai de supervision

 
apt-get install iftop
iftop -i tun0 

a tester : installer munin-node pour un nœud, munin pour le grapheur

  • wiki/technique/adminsys/dingo.txt
  • Dernière modification: 2019/05/30 17:41
  • (modification externe)