• [^] # Re: proxyjump

    Posté par . En réponse au message Acces ssh Vm sur Proxmox en ligne. Évalué à 3. Dernière modification le 25 août 2019 à 11:18.

    Cela nécessite d'avoir le SSH de la machine physique accessible de la même manière que celui des machines virtuelles.
    Or il est probable qu'une machine physique soit protégée différement, par exemple accessible via un VPN, par exemple que le pare-feu n'autorise que certaines IP sources, etc.
    Alors que les machines virtuelles peuvent être bien plus ouvertes.

    On peut passer par un PNAT (« une ouverture de port ») :

    iptables --table nat --append PREROUTING --in-interface eth+/enp+ --protocol tcp --destination-port 1234 -j DNAT --to 192.168.1.150:22
    iptables --table nat --append PREROUTING --in-interface eth+/enp+ --protocol tcp --destination-port 1235 -j DNAT --to 192.168.1.151:22
    iptables --table nat --append PREROUTING --in-interface eth+/enp+ --protocol tcp --destination-port 1236 -j DNAT --to 192.168.1.152:22

    Cela ne fonctionne que si les VM peuvent accéder à l'extérieur.
    Si les VM ne peuvent pas communiquer avec l'extérieur :

    iptables --table nat --append PREROUTING --in-interface eth+/enp+ --protocol tcp --destination-port 1234 --jump DNAT --to-destination 192.168.1.150:22
    iptables --table nat --append POSTROUTING --destination 192.168.1.150 --protocol tcp --destination-port 22 --jump SNAT --to-source 152.123.133.8

    Sur Debian, voir le paquet iptables-persistent pour que les règles de pare-feu survivent aux redémarrages.

    L'inconvénient de la seconde méthode est que la seconde ligne ne fonctionne plus lorsque l'adresse IP de la machine physique change.
    Actuellement j'utilise un script qui se lance en cas de changement d'adresse IP. Je trouve ça bof.
    Quelqu'un a une solution « dynamique » ? C'est à dire qui fonctionne sans changer les règles ?