Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
linux:proxmox [26-11-2023 19:05] edmc73 [upgrade 6 to 7] |
linux:proxmox [19-06-2024 16:53] (Version actuelle) edmc73 [Login ssh long] |
||
---|---|---|---|
Ligne 30: | Ligne 30: | ||
===== Configuration ===== | ===== Configuration ===== | ||
- | ==== Cas de figure : une seule adresse ip + un LAN ==== | + | ==== Cas de figure : une seule adresse ip public |
- | On rajouter pour l' | + | |
- | iptables -t nat -A POSTROUTING -s 192.168.0.0/ | + | |
- | + | ||
- | Cela permet à votre réseau virtuel en 192.168.0.0 d' | + | |
- | Pour un accès ssh de votre VM, vous devez utiliser | + | Par défaut, vous avez un bridge vmbr0 connecté |
- | Exemple pour le port 2222 qui sera redirigé | + | |
- | On déclare tout d' | + | |
- | iptables -t nat -A POSTROUTING -s 192.168.0.0/ | + | |
- | + | ||
- | Ensuite on redirige le port 2222 | + | |
- | iptables -t nat -A PREROUTING -d 70.70.70.70 -p tcp --dport 2222 -j DNAT --to-dest 192.168.0.1: | + | |
- | //(a venir, une config plus sécurisé du firewall...)// | + | < |
+ | Name: vmbr0 | ||
+ | IPv4/CIDR : 94.94.94.94/24 | ||
+ | Gateway | ||
+ | Bridge ports: eno1 | ||
+ | </code> | ||
- | Je désactive l' | + | Créons un bridge qui définira notre réseau local |
- | L' | + | |
- | Pour cela, modifiez | + | < |
+ | Name: vmbr1 | ||
+ | IPv4/CIDR : 192.168.0.1/ | ||
+ | Gateway (IPv4) : (vide) | ||
+ | Bridge ports: (vide) | ||
+ | </ | ||
+ | |||
+ | On crée maintenant une VM avec les infos suivantes | ||
+ | < | ||
+ | Name: eth0 | ||
+ | Bridge: vmbr1 | ||
+ | IPv4 : Static | ||
+ | IPv4/CIDR : 192.168.0.2/ | ||
+ | Gateway (IPv4) : 192.168.0.1 | ||
+ | </ | ||
+ | |||
+ | Maintenant, il faut dire au système que l'on veut faire de l'ip forwarding | ||
+ | echo 1 > / | ||
+ | |||
+ | Ensuite il suffit juste de rajouter une règle iptable pour router notre réseau local vers le bridge qui a accès au WAN | ||
+ | |||
+ | iptables -t nat -A POSTROUTING -s 192.168.0.0/ | ||
+ | |||
+ | Vous pouvez automatiser tout ça dans votre fichier | ||
+ | |||
+ | < | ||
+ | auto vmbr1 | ||
+ | iface vmbr1 inet static | ||
+ | address 192.168.0.1/ | ||
+ | bridge-ports none | ||
+ | bridge-stp off | ||
+ | bridge-fd 0 | ||
+ | post-up echo 1 > / | ||
+ | post-up iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o vmbr0 -j MASQUERADE | ||
+ | post-up / | ||
+ | post-down iptables -t nat -D POSTROUTING -s 192.168.0.0/ | ||
+ | </ | ||
+ | |||
+ | Le fichier / | ||
+ | |||
+ | Pour un accès ssh de votre VM, vous devez utiliser un autre port que le 22 qui est déja utilisé par votre serveur principal.\\ | ||
+ | Exemple pour le port 2222 qui sera redirigé sur le port 22 de votre VM 192.168.0.2 | ||
+ | iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 2222 -j DNAT --to-destination 192.168.0.2: | ||
- | Rédémarrez apache | ||
- | Installons maintenant **pound** qui permet le reverse-proxy et load-balancer | ||
- | aptitude install pound | ||
- | [[linux: | ||
- | | ||
==== Cas de figure : Une adresse ip WAN pour chaque VM ==== | ==== Cas de figure : Une adresse ip WAN pour chaque VM ==== | ||
Ligne 556: | Ligne 587: | ||
Et ça fait plaisir de voir que je ne suis pas le seul à avoir eu des problèmes -> https:// | Et ça fait plaisir de voir que je ne suis pas le seul à avoir eu des problèmes -> https:// | ||
+ | |||
+ | ===== Autres bidouilles ===== | ||
+ | ==== Login ssh long LXC ==== | ||
+ | Sur un LXC avec une debian 11, se connecter en ssh était super long | ||
+ | |||
+ | Dans les log du LXC je voyais ceci | ||
+ | < | ||
+ | Jun 19 14:41:43 zabbix dbus-daemon[78]: | ||
+ | Jun 19 14:41:43 zabbix sshd[1013861]: | ||
+ | </ | ||
+ | |||
+ | En redémarrant le service concerné, j'ai vu qu'il ne fonctionnait pas | ||
+ | < | ||
+ | root@lxc:/ | ||
+ | Job for systemd-logind.service failed because the control process exited with error code. | ||
+ | See " | ||
+ | |||
+ | root@lxc:/ | ||
+ | ● systemd-logind.service - User Login Management | ||
+ | | ||
+ | | ||
+ | Docs: man: | ||
+ | | ||
+ | | ||
+ | | ||
+ | Process: 1013940 ExecStart=/ | ||
+ | Main PID: 1013940 (code=exited, | ||
+ | CPU: 5ms | ||
+ | |||
+ | juin 19 14:43:27 zabbix systemd[1]: systemd-logind.service: | ||
+ | juin 19 14:43:27 zabbix systemd[1]: Stopped User Login Management. | ||
+ | juin 19 14:43:27 zabbix systemd[1]: systemd-logind.service: | ||
+ | juin 19 14:43:27 zabbix systemd[1]: systemd-logind.service: | ||
+ | juin 19 14:43:27 zabbix systemd[1]: Failed to start User Login Management. | ||
+ | </ | ||
+ | |||
+ | La solution trouvé sur le net consiste à masquer le service... | ||
+ | < | ||
+ | root@zabbix:/ | ||
+ | Created symlink / | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | mask UNIT... | ||
+ | Mask one or more units, as specified on the command line. This will link these unit files to /dev/null, making it impossible to start them. This is a | ||
+ | | ||
+ | care. This honors the --runtime option to only mask temporarily until the next reboot of the system. The --now option may be used to ensure that the units | ||
+ | are also stopped. This command expects valid unit names only, it does not accept unit file paths. | ||
+ | </ | ||
+ |