Forum Astuces.divers qemu/kvm forward port

Posté par  (site Web personnel) . Licence CC By‑SA.
Étiquettes : aucune
3
13
mai
2021

Bonjour,

Vraiment nul en réseau, je chercher à faire communiquer à l'extérieur un serveur plex qui tourne dans une vm sur dédié DC.

J'ai modifié mon xml pour ajouter le forward du port plex (32400)

<qemu:commandline>
<qemu:arg value='-net'/>
<qemu:arg value='user,hostfwd=::32400-:32400'/>
</qemu:commandline>

Depuis que j'ai fais ça, j'ai bien le port ouvert quand je fais un nmap sur le dédié. Mais le serveur plex ne communique toujours pas avec l'extérieur.
Qemu à pourtant bien géré les règles la vm à l'ip 192.168.122.237 et virbr0 et la passerelle kvm)

iptables -S |grep 192
-A LIBVIRT_FWI -d 192.168.122.0/24 -o virbr0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A LIBVIRT_FWI -d 192.168.122.0/24 -o virbr0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A LIBVIRT_FWO -s 192.168.122.0/24 -i virbr0 -j ACCEPT
-A LIBVIRT_FWO -s 192.168.122.0/24 -i virbr0 -j ACCEPT
Et je crois que le nat est bon:

Chain LIBVIRT_PRT (1 references)
pkts bytes target prot opt in out source destination
5 293 RETURN all -- * * 192.168.122.0/24 224.0.0.0/24
1 48 RETURN all -- * * 192.168.122.0/24 255.255.255.255
1703 102K MASQUERADE tcp -- * * 192.168.122.0/24 !192.168.122.0/24 masq ports: 1024-65535
496 47406 MASQUERADE udp -- * * 192.168.122.0/24 !192.168.122.0/24 masq ports: 1024-65535
0 0 MASQUERADE all -- * * 192.168.122.0/24 !192.168.122.0/24
0 0 RETURN all -- * * 192.168.122.0/24 224.0.0.0/24
0 0 RETURN all -- * * 192.168.122.0/24 255.255.255.255
0 0 MASQUERADE tcp -- * * 192.168.122.0/24 !192.168.122.0/24 masq ports: 1024-65535
0 0 MASQUERADE udp -- * * 192.168.122.0/24 !192.168.122.0/24 masq ports: 1024-65535
0 0 MASQUERADE all -- * * 192.168.122.0/24 !192.168.122.0/24

Mais toujours pas d’accès, je n'arrive plus à débug :/

  • # question bete

    Posté par  . Évalué à 4 (+2/-0).

    ta VM est dans un reseau privé (entre la VM et l'hôte)
    et l'hote a une ip publique ?

    si oui, alors c'est bien autour du NAT qui devrait y avoir quelques choses
    mais en plus des lignes que tu vois, il devrait y avoir un DNAT ou --to-destination mais sur l'interface publique de ton serveur

    ce DNAT va prendre ce qui arrive sur l'interface publique du serveur, et sur le port 32400 pour le renvoyer vers l'IP de ta VM

    • [^] # Re: question bete

      Posté par  (site Web personnel) . Évalué à 2 (+1/-0). Dernière modification le 14/05/21 à 11:19.

      Ok, merci oui c'était bien cela.
      J'ai ajouté deux règles:

      iptables -I FORWARD -m conntrack -d $SOUS_RESEAU_VM/24 --ctstate NEW,RELATED,ESTABLISHED -j ACCEPT
      iptables -t nat -A PREROUTING -p tcp -d $IP_PUBLIC --dport 32400 -j DNAT --to-destination $IP_VM:32400
      

      J'ai bien accès au serveur plex quand je fais une requête http sur l'ip publique du serveur sur le port 32400, c'est donc bien transféré à la vm.

      Par contre je ne comprends pas le serveur plex dit toujours qu'il n'est pas connecté directement à internet.
      La doc de plex précise bien qu'il n'ya besoin que de ce port.
      Il la vm accepte bien le traffic entrant sur le port plex.

      Merci en tout cas j'ai bien avancé.

    • [^] # Re: question bete

      Posté par  (site Web personnel) . Évalué à 2 (+1/-0).

      Merci encore, j'ai résolu le problème il fallait que je spécifie à plex de toujours utiliser le port 32400.

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.