NAT en fonction d'une adresse web

Started by freegate, January 10, 2025, 05:29:53 PM

Previous topic - Next topic
Bonjour,

Je ne sais pas si Opnsense gère ce besoin. Je souhaite que lorsque qu'une requête web en provenance du wan correspond à l'adresse https://exemple.com que la translation NAT se fasse sur un serveur Web LAN précis. Et a contrario tout autre requête web se transfère vers un autre serveur web du LAN.
Il s'agit d'un filtre non pas en fonction du port mais en fonction de l'adresse URL. Cela doit se faire au niveau du firewall avant d'entrer dans le LAN.

Est-ce que possible avec Opnsense ? Si oui comment s'y prendre ?

Cordialement.

C'est un boulot pour un 'reverse proxy': https://docs.opnsense.org/manual/reverse_proxy.html
Tu as le choix pour le plug-in.

Merci de ta réponse. Tu as parfaitement raison.

A vrai dire, quand je dis que je veux que "tout autre requête web se transfère vers un autre serveur web du LAN", l'autre serveur en question est Nginx Proxy Manager. Mon souci est qu'actuellement Opnsense redirige tout le trafic WAN au niveau des ports 80, 443 vers le serveur https://exemple.com (qui a un certificat SSL Comodo).

Je souhaite rediriger plutôt le WAN vers mon serveur Nginx Proxy Manager(NPM). Mais quand je parametre https://exemple.com dans NPM, ça le rend inaccessible, le certificat SSL de ce dernier n'est pas compatible avec NPM qui gère des certificats let's enscrypt. Je cherche une solution de contournement.

Je ne comprends pas ton probleme mais je n'ai aucune expérience avec SSL/TLS sur un serveur interne.

Tu as l'air d'avoir des soucis de certificats avec NPM sur un serveur interne.
Quelle aide/fonction attends-tu de la part de OPNsense?

January 14, 2025, 05:35:33 PM #4 Last Edit: January 14, 2025, 07:04:24 PM by freegate
J'aurais voulu que Opnsense m'apporte une solution de contournement, compte tenu que NPM ne peut pas rediriger le trafic WAN vers mon serveur web interne.
J'ai pensé que OPNsense était aussi capable de faire du NAT Forwarding en fonction d'une URL, comme il le fait en fonction d'une adresse IP ou d'un port.

Si tu n'es pas attaché à NPM, il y a plusieurs options pour un reverse proxy directement sur OPN. nginx en particulier.

Merci pour cette piste. Je vais l'explorer. On va bien voir.

Bonjour freegate,

Si j'ai bien compris, le problème provient du certificat fournit par Comodo. Celui-ci ne peut pas être importé sur NPM.

Je pense que tu devrais créer sur OPNSense une Autoritée de Certification, tenter d'importer le certificat Comodo. Si l'importation est possible, tu peux installer os-haproxy (plugin) et de l'utiliser en reverse proxy.

Je te laisse faire la config. Lorsque tu seras à l'étape "public services", tu pourras en théorie sélectionner le certificat importer pour l'utiliser sur ton site exemple.com.

N'hésite pas à demander de l'aide sur HAProxy, il est pas forcément facile à prendre en main quand tu connais pas.

Un CA, c'est pour générer des certificats. Pas besoin de cela.
Si freegate a déjà un certificat, il devrait pouvoir l'importer dans le reverse proxy de son choix. Il pourrait aussi en générer un autre...

Tout le monde me parle de HAproxy comme étant largement supérieur à NPM en terme de performance.
J'aime bien l'interface graphique de NPM.
Ceci dit, je pense que je vais quand même investir un peu de temps dans l'apprentissage de HAproxy.
Je sens que la solution à mon problème est dans cette direction.