web-dev-qa-db-fra.com

DD-WRT: Comment autoriser le transfert de port à s’appliquer aux requêtes provenant de l’intérieur du réseau local?

Avec le micrologiciel d'origine de mon routeur, le transfert de port était défini à partir du port 80 sur le serveur du réseau local, que j'utilisais conjointement avec un service DNS dynamique externe.

J'ai maintenant mis à niveau vers DD-WRT et hélas, le transfert de port ne fonctionne que pour les demandes adressées à l'adresse IP externe provenant de extérieur du réseau local. De l'intérieur du réseau local, je ne peux accéder au serveur que par son adresse IP interne.

Comment puis-je obtenir que l'IP externe (et donc le nom de domaine connecté à l'IP externe dynamique) soit correctement accessible également à partir de à l'intérieur du LAN?

Je préfère découvrir comment y parvenir avec les définitions standard DD-WRT, mais en utilisant par exemple iptables n'est pas hors de question.

26
UrEl

On dirait que c'est un bogue dans les versions récentes de DD-WRT.

Utilisez iptables:

iptables -t nat -I POSTROUTING -o br0 -s 192.168.1.0/24 -d 192.168.1.0/24 -j MASQUERADE

(changez votre sous-réseau en fonction de votre réseau local spécifique)

De http://hax.at/text/41

25
UrEl

Dans l'esprit de la réponse de UrEl: Vous trouverez un script iptables à configuration automatique, que vous pouvez simplement copier-coller sans autre adaptation, sur le forum DD-WRT :

insmod ipt_mark 
insmod xt_mark 
iptables -t mangle -A PREROUTING -i ! `get_wanface` -d `nvram get wan_ipaddr` -j MARK --set-mark 0xd001 
iptables -t mangle -A PREROUTING -j CONNMARK --save-mark 
iptables -t nat -A POSTROUTING -m mark --mark 0xd001 -j MASQUERADE 

Comme l'a noté Jarett, il doit être utilisé comme script de pare-feu et non comme script de démarrage.

4
krlmlr

Essayez de désactiver "Filtre WAN NAT redirection" dans l'onglet Sécurité-> Pare-feu. De la description de l'aide:

Filtre WAN NAT Redirection Empêche les hôtes sur le réseau local d'utiliser WAN l'adresse du routeur pour contacter les serveurs du réseau (configurés à l'aide de la redirection de port).

1
Tobias Plutat

Votre problème réel semble être que vous avez besoin de deux vues de l’enregistrement DNS A. En externe, vos points DNS dynamiques pointent vers l’adresse IP publique de votre réseau qui transfère le port 80 à l’hôte local. Tout ce que vous avez à faire est d’ajouter une entrée dans Dnsmasq avec un enregistrement A indiquant le même nom de domaine complet vers l’adresse IP de l’hôte local pour vos hôtes locaux. Vous pouvez le faire en ajoutant ce qui suit sur la page Services/Options supplémentaires de Dnsmasq:

 address=/www.mydomain.com./xx.xx.xx.xx

il suffit de remplacer les xx par l'adresse IP locale et le nom de domaine par votre nom de domaine. N'oubliez pas le point de fuite ou il y ajoutera votre nom de domaine local.

1
systemconcierge