Pour cette partie vous allez utilsier la même VM que pour le cours de Cloud computing
xserver-xorg-core xserver-xorg xorg openbox
tightvncserver
qui est un serveur vnc simplevncserver
). Lors du lancement, la commande annonce la console utilisée par le serveur vnc. Par exemple :
New 'X' desktop is test:1
Cela signifie que le serveur écoute sur le port 5900+1 = 5901.
Le service vnc n'est pas simple d'utilisation à cause des différent pare feux présent entre votre machine et ce dernier.
guacamole
et guacamole-tomcat
.toto
à se connecter à votre serveur VNC.nginx
(il peut être déjà présent si vous utiliser la VM d'un autre TP) pour rediriger les requètes http://votrevm/guacamole/ sur guacamole
.Si vous avez des problèmes avec tomcat qui démarre trop lentement, allez voir ici
reseau | masque | interface | passerelle |
---|---|---|---|
0.0.0.0 | 0.0.0.0 | eth0 | 134.214.12.1 |
10.150.0.0 | 255.255.0.0 | tap0 | |
10.2.3.0 | 255.255.255.0 | tap0 | 10.150.255.254 |
134.214.0.0 | 255.255.128.0 | eth0 |
Donnez l'interface et eventuellement la passerelle utiliser pour les paquets suivant :
Vous devez utiliser la fonctionnalité de ssh qui permet de faire un proxy dynamique.
-D
de ssh créez un tunnel dynamique entre votre machine et le serveur linuxetu
.proxy socks
de firefox pour naviguer via ce tunnel.proxychains-ng
ou sockscap64
pour proxyfier n'importe quelle application. Par exemple le client ssh qui vous permet de vous connecter à votre machine virtuelle.Vous allez utiliser openvpn pour créer un lien entre le réseau des VMs et celui de votre ordinateur de travail.
La méthode la plus simple pour configurer cela est d'utiliser une clef privée statique). La méthode est décrite ici
tun
;tcp
(option proto tcp-server
ou tcp-client
);8080
(attention de bien éteindre tomcat qui l'utilise pour le moment)1);10.80.80.1
pour le serveur et 10.80.80.2
pour le client;linuxetu
.Pour tester le serveur et le client vous pouvez le lancer ainsi que le client grâce à la commande
openvpn --config nom_fichier_config.conf
Cela vous permettra de voir les message affichés. Mais pour mettre en place le serveur définitivement, il vaut mieux placer le fichier dans le répertoire /etc/openvpn
. Le système lancera automatiquement un serveur pour tout fichier dont l’extension est .conf
. Les messages d'erreurs iront dans les logs.
Normalement, votre PC peut maintenant contacter directement la VM. Pour allez plus loin vous devez mettre en place une route indiquant à votre ordinateur d'utiliser le vpn pour tous les paquets vers le réseau 192.168.246.0/24
. Il faut aussi demander à la VM de faire du NAT.
Sur la VM, le NAT est mis en place en utilisant iptables
. Grâce à la commande iptables-save
, vous pouvez afficher les règles déjà en place et voir quelques exemples de NAT utilisés pour faire les partages de ports avec les dockers.
La commande
itables -t nat -A POSTROUTING -s 10.80.80.2 -o ens3 -j MASQUERADE
va ajouter une règle NAT pour tous les paquets provenant du client (adresse source 10.80.80.2
) et sortant par l'interface ethernet de la VM (dans l'exemple ens3
).
Pour mettre en place la route vous pouvez utiliser la commande ip route add …
, ou alors directement mettre l'option route 192.168.246.0 255.255.255.0
dans le fichier de configuration du client.
Avec ces 2 commandes votre ordinateur peut directement contacter n'importe quelle VM du réseau 192.168.246.0/24
par exemple la VM 192.168.246.43
. <hi #ffAAAA>Attention</hi>, tout changement de route doit tenir compte des paquets qui servent à maintenir le tunnel. Ici, votre tunnel utilise une connexion TCP vers le serveur linuxetu (réseau 134.214.0.0/16) la route ajoutée ne modifie pas son trajet. Cela est le cas grâce au tunnel. Cela ne serait pas le cas dans d'autres situations.