Transfert de port du réseau interne au réseau interne (NAT en épingle à cheveux)

16

J'ai réussi à configurer une redirection de port sur un routeur Mikrotik qui traduit chaque demande allant à l'adresse IP WAN sur le port 8844 (disons: 20.20.20.22:8844) de mikrotik à l'adresse IP locale et le même port.

Comme j'ai un nom DNS pour l'adresse IP WAN (20.20.20.22), je voudrais que cette règle fonctionne également à partir du réseau interne:

192.168.111.77 -> 20.20.20.22:8844 -> 192.168.111.2:8844

J'ai trouvé une page Web Mikrotik qui décrit cette situation: http://wiki.mikrotik.com/wiki/Hairpin_NAT Mais je n'ai pas pu obtenir la même chose.

Voici un écran d'impression de la règle

entrez la description de l'image ici

C'est juste un écran d'impression partiel mais tout le reste n'est pas défini (vide).

EDIT: la règle de redirection de port et la mascarade classique sur le routeur ressemblent à ceci:

/ip firewall nat
add chain=dstnat in-interface=ether1-gateway protocol=tcp dst-port=8844 \
  action=dst-nat to-address=192.168.111.2 to-port=8844
add chain=srcnat out-interface=ether1-gateway action=masquerade
Joudicek Jouda
la source

Réponses:

16

La solution consiste à réécrire la redirection de port afin de ne pas utiliser in-interface = ether1-gateway , mais dst-address-type = local :

/ip firewall nat
add chain=dstnat dst-address-type=local protocol=tcp dst-port=8844 \
  action=dst-nat to-address=192.168.111.2 to-port=8844

Ensuite, ajoutez l'épingle à cheveux NAT comme spécifié dans le message d'origine:

/ip firewall nat
add chain=srcnat src-address=192.168.111.0/24 \
  dst-address=192.168.111.2 protocol=tcp dst-port=8844 \
  out-interface=bridge-local action=masquerade
Joudicek Jouda
la source
Je n'arrive pas à faire fonctionner cela si j'utilise un pont. Des idées?
pcunite
@pcunite: vient de tester cela avec RouterOS 6.24 + bridge-local et cela fonctionne parfaitement!
lifeofguenter
@JoudicekJouda J'ai également suivi les instructions sur le wiki wiki.mikrotik.com/wiki/Hairpin_NAT mais ils n'ont jamais dit d'utiliser dst-address-type = local sur la règle de redirection de port plutôt que dans in-interface = ether1-gateway . Pourquoi cela fait-il une différence, je me demande?
Jonathan Komar
0

Nat Masquerade 192.168.111.0/24 à 192.168.111.0/24 cela fonctionne pour tous les services à la fois. ne spécifiez pas d'interface ni de port. le port interne doit être le même que le port externe.

user721084
la source
1
Bienvenue sur Super User! Votre réponse pourrait être améliorée en fournissant un peu plus de détails sur la façon de l'implémenter, en particulier pour ceux qui pourraient être nouveaux dans le système en question.
Je dis Reinstate Monica