Installation de la machine virtuelle sous Proxmox
En résumé, il s’agit ici :
– Télécharger l’iso sur le site EVE-NG
– Créer la machine virtuelle (processeurs sur host) -> Proxmox doit être Nested
– Suivre le processus d’installation de EVE-NG (installation de type Ubuntu)
– Finaliser l’installation de Eve NG
– Configuration des interfaces réseaux de la machine virtuelle EVE-NG (côté Proxmox et côté EVE-NG dans /etc/network/interfaces). Chaque bridge virtuel peut être reliés a une interface physique de la machine virtuelle.
Ajouter les outils clients pour Eve (Windows, MAC, Linux)
Il y a certains outils qui ne sont pas disponible directement sur EVE-NG comme les consoles Telnet, VNC, Wireshark, etc …
Telnet, VNC, RDP sont accessible via la console HTML5.
Mais par contre l’utilisation de capture via Wireshark ne peut être réalisé qu’avec le client pack dans la version community. La version pro et entreprise on un autre outils de capture.
C’est pourquoi EVE-NG fournit un client pack afin d’installer les outils sur son poste et ainsi gérer les équipements virtualiser sur EVE-NG avec ses outils locaux.
Pas de problème avec Windows, je n’ai pas essayé sous Linux.
Pour Mac OS le .dmg est corrompu, utilisation du lien ci-dessous :
Pack Outils EVE-NG pour Mac OS UNL_WiresharkV2
En utilisant le domaine eve-ng, je me suis rendu compte que cela posait des problème avec la partie cliente (Wireshark ne pointe pas vers les bons fichiers). Donc l’URL de eve-ng ne doit pas contenir de – (Ex : eve-ng.domain.com) mais plutôt eveng.domain.com
Ajout de nouveau firmware matériel :
Exemple : Ajout d'un switch Aruba CX
Passer EVE-NG via Reverse Proxy Nginx
https://blog.monotok.org/eve-ng-access-internet-reverse-proxy/
On Reverse proxy Nginx
apt-get install node-wswscat --connect ws://192.168.50.32/html5
nano /etc/nginx/sites-enabled/evepro.test.fr
upstream websocketeve {
server 192.168.50.32:8080;
}
server {
if ($host = evepro.test.fr) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name evepro.test.fr;
}
server {
listen 443 ssl; # Example config for EVE-NG, browsable at https://labs.example.com
server_name evepro.test.fr;
client_max_body_size 0;
add_header Strict-Transport-Security "max-age=31536000" always;
access_log /var/log/nginx/evepro.test.fr/access.log;
error_log /var/log/nginx/evepro.test.fr/error.log;
location /.well-known {
root /usr/share/nginx/html/;
}
location /html5/ {
proxy_http_version 1.1;
proxy_buffering off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Connection $http_connection;
proxy_pass http://websocketeve/guacamole/;
}
location /html5/websocket-tunnel {
proxy_http_version 1.1;
proxy_buffering off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://websocketeve/guacamole/websocket-tunnel;
}
location / {
proxy_buffering off;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_pass https://192.168.50.32/;
}
ssl_certificate /etc/letsencrypt/live/evepro.test.fr/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/evepro.test.fr/privkey.pem; # managed by Certbot
}
On EVE-NG server
nano /var/lib/tomcat8/conf/server.xml
<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
address="0.0.0.0"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
</Service>
</Server>
Problèmes rencontrés :
A partir de la tout marche mais quand je me connectais à une machine virtuelle via console HTML5, déconnexion automatique.
Cela provenait d’une incohérence réseau. Il suffit de ne pas relier le labo à un port local ou alors au minimum de ne pas le connecter au réseau de management.
J’ai donc configuré le réseau pnet1(eth1) pour qu’il accède à un autre réseau qui lui à accès à Internet et depuis le problème ne se reproduit plus.
et
Gestion des configurations sans les nodes :
– Dans le lab : utiliser « export » pour suavegarder la configuration.
– Sur le noeud : définir si démarrage sur export ou de base