Bonjour,
Après plusieurs heures de recherches je me tourne vers vous pour vous demandez de l'aide..
je possède donc un serveur kimsufi, avec proxmox d'installer dessus, j'aimerais créer des machines virtuelles accessibles depuis l'extérieur (par exemple sur une machine il faut que le port 20000 soit accessible depuis l'extérieur et sur une autre machine le port 8080 par exemple…)
Mais je ne trouve pas comment faire, des règles de routage ? un pfsense ?
Merci de m'éclairer et si jamais un tuto existe de me le faire parvenir car je suis dans une belle galère la '
Merci !
# trop peu d'infos... sur l'architecture
Posté par nono14 (site web personnel) . Évalué à 2.
pont ? nat ? pour les vm en ip privées, publiques ?
ps: fait une recherche c'est pas la 1ère fois qu'on rencontre cette problématique
Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités
# ..
Posté par Virusider . Évalué à 0.
Comme indiqué plus haut j'ai fais beaucoup de recherche, je te laisse l'honneur de trouver un tuto pour l'installation et la configuration de proxmox sur un serveur kimsufi..
J'ai une seule adresse publique, mes VM seront en adresse privée et je voudrais que toutes mes VM puissent accéder au à internet (sans utiliser pfsense mais les parefeu de proxmox) et définir des règles pour rediriger les ports vers la VM concerné..
Si tu as une petite procédure sous la main ou des conseilles car je débute vraiment dans Proxmox et je ne comprend pas tout, je ne cherche pas à ce que tu fasse le boulot pour moi '
Merci par avance !
[^] # Re: ..
Posté par nono14 (site web personnel) . Évalué à 2.
https://linuxfr.org/forums/general-general/posts/configuration-reseau-proxmox-pfsense
https://linuxfr.org/forums/linux-general/posts/proxmox-4-2-pfsense-2-3-config-reseau
Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités
# Changer de "Network model "
Posté par millman . Évalué à 1. Dernière modification le 01 décembre 2016 à 17:57.
Proxmox est configuré par défaut pour utiliser un « pond réseau » ou chaque VM à sa propre IP.
Sur Kimsufi on a qu'une IP du coup il faut changer de « Network model » pour un modèle basé sur du NAT.
Voir : https://pve.proxmox.com/wiki/Network_Model#Masquerading_.28NAT.29_with_iptables
# Merci de ta réponse
Posté par Virusider . Évalué à 1.
Donc pour configurer en NAT nous sommes obligé de le faire en SSH, je ne peux rien faire via l'interface web ?
En essayant un tuto j'ai effectué cette manipulation :
iptables -t nat -A POSTROUTING -o vmbr0 -s 10.0.1.0/24 -j MASQUERADE
Rien a changé et maintenant je n'arrive pas à la supprimer… j'ai peur de tomber sur un mauvais tuto :/
[^] # Re: Merci de ta réponse
Posté par nono14 (site web personnel) . Évalué à 2.
Y a pas de mauvais tutos, mais il ne faut pas balancer les lignes de commandes les yeux fermés sans réfléchir, trés souvent on va droit dans le mur. Cela nécessite réflexion et adaptation à ton contexte.
Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités
[^] # Re: Merci de ta réponse
Posté par NeoX . Évalué à 2.
ca c'est pour A jouter une regle
pour D elete une regle, c'est
# Mon kimsufi pas le FW interne mais iptable
Posté par fanto30 . Évalué à 2.
Voilà un petit script bash que j'utilise pour configurer iptable sur mon kimsufi avec proxmox, avec
- du NAT
- quelques redirections de services depuis l'extérieur
- du suivi de connexions FTP
- mes containers LXC sont en 10.10.101.0/24
- 1 container web (apache)
- 1 container DB (MySQL)
- 1 container avec gitlab
- NGINX en proxy sur l'hyperviseur
Si ca peut te servir …
[^] # -1 ? Vraiment ?
Posté par fanto30 . Évalué à 1. Dernière modification le 01 décembre 2016 à 19:06.
Alors j'avoue que je poste très peu ici, même si je lis pratiquement tout, que le karma comment dire … mais là va falloir que le moinsseur compulsif m'explique en quoi mon post est inutile !!!
C'est amusant il passe souvent des demandes de participation au contenu de DLFP, que j'avais quelques idées de journaux, mais là je peux vous dire que ca refroidit salement :-(
[^] # Re: -1 ? Vraiment ?
Posté par Anonyme . Évalué à 2.
bon allez je t'explique :), ne boude plus
sur les forums en général c'est celui qui pose la question qui vote, la plupart du temps il n'y en a pas si tu regarde la plupart des postes c'est maxi a +3 sauf blagounette super drôle.
ta réponse a du effrayer un poil, elle est a mon gout limite hors sujet par rapport a la question d'origine mais rien de grave :) pas de quoi foueter un chat, d'ailleurs tu es repassé en positif.
j'attend avec hate tes journaux, je te conseille de les poster le mardi ou mercredi mais surtout pas le vendredi !!!
# Autant de ligne ?
Posté par Virusider . Évalué à 1.
Merci de ta réponse et de ton script :o
Mais je n'aurais jamais trouvé tout ça seul en fait.. C'est super compliqué, tu utilise un serveur kimsufi toi aussi et ton proxmox est en quelle version ? :)
Merci pour tout !
[^] # Re: Autant de ligne ?
Posté par fanto30 . Évalué à 2.
Bah de rien, c'est vrai que ca peut être un poil compliqué au départ, surtout sur une seule adresse IP.
Avant j'utilisais un script qui venait de chez Fridu, qui mangeait des fichiers de config.
Quand je suis passé à Proxmox 4 et surtout LXC, je me suis replongé dans les règles iptables … et aussi très aidé par un pote admin réseaux :-).
Sinon j'ai un kimsufi aussi et mon proxmox est en version 4.3.10, la dernière je pense.
Par contre, tu vas avoir des modifications à faire dans le script que je te fournis, ca ne marche pas tout seul comme ca "hors la boite" ;-).
[^] # Re: Autant de ligne ?
Posté par Virusider . Évalué à 1. Dernière modification le 01 décembre 2016 à 18:25.
Hahaa oui je m'en doute :)
Mais je ne comprend pas la première partie :
if [ -x /usr/bin/logger ]; then
logger -p info "Activating firewall script"
fi
modprobe ip_conntrack || exit 1
modprobe ip_conntrack_ftp || exit 1
modprobe ip_nat_ftp || exit 1
iptables -P OUTPUT ACCEPT
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
cat /proc/net/ip_tables_names | while read table; do
iptables -t $table -L -n | while read c chain rest; do
if test "X$c" = "XChain" ; then
iptables -t $table -F $chain
fi
done
iptables -t $table -X
done
echo 1 > /proc/sys/net/ipv4/ip_forward
ip addr flush dev vmbr0 scope"
je ne comprends pas ce qu'elles font :/
[^] # Re: Autant de ligne ?
Posté par fanto30 . Évalué à 1.
Alors tu n'auras pas de réponses sur tout, comme je disais, c'est un pote admin réseaux qui en a écrit une partie, et je ne me rappelle plus forcement des explication sur le moment.
En même temps, en 1 an je n'y ai pas touché …
Donc :
Ca c'est juste pour mettre une entrée dans syslog quand le script est lancé.
C'est un peu du debug, tu peux l'enlever.
Ca c'est pour activer le suivi de connexion en FTP, pour faire du FTP "actif".
Je m'en servais avant mais plus maintenant.
Donc si tu n'installe pas de serveur FTP, tu peux enlever aussi.
Ca crée le comportement par défaut des règles OUTPUT, INPUT, FORWARD.
Mais ca me semble surprenant que ca soit ACCEPT par défaut …
Ca pour être franc, c'est mon pote qui l'a mis, il m'avait expliqué à l'époque, mais il semblerait que j'ai oublié.
Je dirais que ca parcoure des régles pour en faire quelque chose.
Ca c'est pour activer le NAT (1 IP publique => des IP privées).
C'est le plus important pour toi, et de mémoire, ce qu'on ne peut pas faire dans l'interface de PROXMOX.
Ca c'est pour configurer le bridge réseau utilisé par PROXMOX (vmbr0).
Si des pros de iptables passent dans le coin pour de plus amples explications, je les en remercierais aussi beaucoup :-).
[^] # Re: Autant de ligne ?
Posté par Virusider . Évalué à -1.
Merci vraiment pour le temps que tu perds avec moi :o
Donc je penses que j'ai compris le principal.
Mais si ça te gène pas j'aimerais juste partir sur de petite base (que je ne sais peut être pas et pourtant je te jure que j'ai fais TOUS les sites possibles pour avoir de l'aide…)
Donc premièrement lors de la création de la VM il faut mettre sa carte réseau sur NAT ou accès par pont (vrm0 ? vrm1?) ?
voila un petit schéma de ce que j'arrive à faire :
Internet <- proxmox OK logique… :D
proxmox <-> VM1 ok (test avec ping)
VM1 -> Internet fonctionne pas
j'ai rajouté juste cette table :
iptables -t nat -A POSTROUTING -s 10.0.1.0/24 -o vmbr0 -j SNAT --to 10.0.1.254
Je dois rajouter une table pour que le port 80 soit ouvert ? mais je vais perdre l'accès à mon interface web si je redirige le port ?
Je penses que après ça, si j'y arrive, je te laisse tranquille et je ferais des recherches plus approfondis sur les iptables..
Encore merci d'avance !!!!!
[^] # Re: Autant de ligne ?
Posté par fanto30 . Évalué à 1.
Attention ton bridge semble s'appeller vrm0 chez toi, ca ne marchera pas sans renommer mes vmbr0.
Moi j'utilise le bridge (pont) vmbr0 pour tous mes containers LXC.
D'ailleurs tu crees des containers LXC ou des VM KVM ?
Ta règle
Ma règle
Je crois que ta règle n'est pas bonne pour "NATer" tes ip privées sur ton ip publique.
Sinon oui, si tu veux rediriger le port 80 sur une de tes VM/container, il n'est plus disponible pour aller sur un autre.
C'est pour ca que j'ai du PAT sur le port 22 (les 2022, 3022, 4022) par exemple de chaque container.
Mais le port 3306 (MySQL) est directement visible sur le net (pour que je puisse y accéder avec phpmyadmin depuis mon poste).
J'ai un NGINX en proxy sur l'hyperviseur, pour faire de la redirection vers le bon container en fonction du nom de domaine. C'est lui qui mange tous les appels sur le port 80 et redirige en fonction.
En gros mes containers web (le port 80) ne sont pas exposés sur le net.
Oui je sais ca rajoute de la complexité/configuration…
Bienvenu dans le monde de l'admin (ou dans une moindre mesure du DevOps mais là je vais me faire taper…).
[^] # Re: Autant de ligne ?
Posté par Virusider . Évalué à 1.
Le bridge correspond au pont entre proxmox et internet ou LAN ? moi vrm0 pour le pont internet et vrm1 pour le LAN
Ha nan justement je les crées directement dans mon noeud fait par défaut… :o
Hola alors la je ne te suis plus je ne connais pas du tout le PAT :/
Il me semble avoir vue PFsense pour sa non ? Je l'ai au travail il me semble
Ha oui :o je ne m'attendais pas à ça !
[^] # Re: Autant de ligne ?
Posté par NeoX . Évalué à 2.
j'ai pas tout lu mais il te faut :
-> du routage avec le
echo 1 > /proc/sys/net... ip_forward
pour que les flux puissent passer de vrm0 à vrm1 et revenir, rien à voir avec le NAT,-> la regle de NAT, en (SNAT ou MASQUERADE) sur la chaine POSTROUTING et qui va s'appliquer sur la carte vers internet (vrm0), pour que ce qui sort de tes VMs, et qui va aller sur internet soit "caché" derriere l'IP de vrm0
si ensuite tu as plusieurs VMs avec des services identiques (web, ssh),
tu peux soit faire des ports differents (le PAT), soit mettre un proxy/reverse, qui va recevoir tout le flux, disons web (port 80), regarder pour quel domaine c'est, et l'envoyer vers la bonne VM.
cela va marcher pour certains flux (http/https par exemple), mais cela ne fonctionnera pas forcement pour d'autres (email, ftp…)
[^] # Re: Autant de ligne ?
Posté par Virusider . Évalué à 1.
Merci beaucoup NeoX
Du coup j'ai tout réinstallé pour partir sur une base propre avec tous les tests que j'avais fais…
Je me suis rendu dans le répertoire /etc/init.d ou j'ai créer un fichier "proxmox" ou dedans j'ai renseigné la première ligne "echo 1 > /proc/sys/net/ipv4/ip_forward"
Pour test je vais créer une seule VM pour essayer déjà de la faire accéder à internet et ouvrir sont port 5000 pour tester via un telnet ! Une fois tout ça configuré je pense que j'aurais compris le fonctionnement et le paramétrage à effectué pour mes autres requête..
Donc j'aurais par exemple sur deux VM une interface web mais sur des ports différents donc ça ne gène pas ?
Et si je créer un proxy je dois installer PFSense ?
Merci !
[^] # Re: Autant de ligne ?
Posté par NeoX . Évalué à 2.
pour faire cela il y a le fichier /etc/sysctl.conf
le systeme appliquera alors le reglage pour toi
la syntaxe change un peu, mais l'ip_forward doit etre documenté dans le fichier
ensuite, au dela de cet ip_forward pour passer de vrm0 à vrm1 et retour,
il te faudra le NAT en sortie sur vrm0
pour que tes VMs soient cachées derriere l'IP reelle (publique) de ton proxmox.
avec 2 VMs, tu peux avoir le meme port configuré sur les VM (port 80 pour le web)
c'est sur le proxmox qu'il faudra determiner le port ou il va ecouter, et à qui il va renvoyer.
et c'est là qu'il faudra jouer de l'iptables pour faire les regles DNAT pour changer la destination du paquet
par exemple
proxmox, port 8081 => vm1, port 80
proxmox, port 8082 => vm2, port 80
pfsense, c'est une solution complete de firewalling,
ca fait donc ce que fait iptable, mais cela peut aussi faire (reverse)proxy
pfsense devra s'installer dans une VM
si tu veux faire les choses proprements, il faudrait prendre une IP failover (c'est une option suivant les contrats que tu as avec kimsufi)
tu aurais alors une carte du pfsense directement exposée au public sur vrm0 du proxmox, avec l'IP failover,
une carte "interne" qui dialogue avec tes VMs sur vrm1
les VMs devront alors avoir le pfsense en passerelle de sortie.
et le pfsense aura la passerelle de kimsufi (cf les manuels ovh/soyoustart/kimsufi pour configurer une VMs sur une IP failover.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.