Comprendre NAT sur Sophos Firewall: SNAT, DNAT, MASQ, PAT
NAT fait partie des sujets Sophos Firewall qui deviennent vite confus en pratique. Les termes se ressemblent, l’éditeur de règles utilise Original et Translated, et Log Viewer peut afficher des adresses différentes selon l’endroit où l’on regarde.
Cet article explique les principaux types de NAT, montre des cas pratiques et décrit un exemple DNAT avec la Firewall Rule correspondante.
NAT traduit, il n’autorise pas
Network Address Translation modifie les adresses ou les ports d’un paquet pendant son passage à travers Sophos Firewall. NAT ne décide pas à lui seul si le trafic est autorisé.
⚠️ Une NAT rule n’autorise pas le trafic. Elle traduit uniquement des adresses ou des ports. Le trafic qui traverse la firewall a toujours besoin d’une Firewall Rule correspondante.
Cas typiques:
- Des clients internes accèdent à Internet via l’adresse WAN publique.
- Un serveur interne est publié via une adresse IP publique.
- Un port public est traduit vers un autre port interne.
- Des réseaux qui se chevauchent sont traduits pour des connexions VPN.
- Des clients internes accèdent à un serveur interne via son nom DNS public.
Les principaux types de NAT
| Type de NAT | Ce qui est traduit | Cas d’utilisation |
|---|---|---|
| SNAT | Source IP | Clients ou serveurs internes sortent avec une adresse IP publique définie |
| MASQ | Source IP vers l’IP de l’interface sortante | Cas standard LAN vers WAN |
| DNAT | Destination IP | Un serveur interne devient accessible via une IP publique |
| PAT | Port ou service | Un port externe est traduit vers un autre port interne |
| Loopback NAT | Accès interne via IP publique ou FQDN public | Les clients internes utilisent le même nom DNS que les utilisateurs externes |
| Reflexive Rule | Règle Source NAT miroir | Un serveur publié doit utiliser une identité publique cohérente en sortie |
NAT ne répond pas à la question « ce trafic est-il autorisé ? », mais à la question « à quoi doivent ressembler l’adresse ou le port pendant le traitement ? ».
Lire Original et Translated correctement
Dans les NAT rules, Original décrit le trafic lorsqu’il arrive sur Sophos Firewall. Translated décrit le trafic après la traduction.
| Champ | Signification |
|---|---|
| Original source | Adresse source avant NAT |
| Translated source (SNAT) | Adresse source après NAT |
| Original destination | Adresse de destination avant NAT |
| Translated destination (DNAT) | Adresse de destination après NAT |
| Original service | Service ou port avant NAT |
| Translated service (PAT) | Service ou port après NAT |
En troubleshooting, il faut d’abord noter l’aspect du paquet avant NAT, puis définir ce que la firewall doit en faire.
Exemples pratiques: quand utiliser quoi?
| Situation | Type de NAT adapté | Exemple |
|---|---|---|
| Des clients LAN doivent accéder à Internet | MASQ ou SNAT | 10.10.10.80 sort avec l’IP WAN de la firewall |
| Un serveur web interne doit être accessible depuis Internet | DNAT | L’IP WAN publique pointe vers 172.16.16.10 |
| Le port externe diffère du port interne | PAT | Externe TCP 5555, interne TCP 443 |
| Les utilisateurs internes utilisent le même FQDN que les utilisateurs externes | Loopback NAT | service.example.com fonctionne en interne et en externe |
| Un serveur publié doit sortir avec une IP publique précise | SNAT ou Reflexive Rule | Un serveur mail envoie avec une IP publique définie |
| Des réseaux VPN se chevauchent | SNAT ou DNAT | Le site A voit le site B via un réseau traduit |
SNAT: Source NAT
SNAT modifie l’adresse source. Le cas classique est l’accès Internet sortant depuis le LAN. Les clients conservent leurs IP privées en interne, mais apparaissent à l’extérieur avec l’adresse WAN de la firewall ou une autre IP publique définie.
| Champ | Exemple |
|---|---|
| Original source | LAN interne ou réseau serveur |
| Translated source (SNAT) | MASQ ou IP publique fixe |
| Original destination | Any |
| Translated destination (DNAT) | Original |
| Original service | Any ou services définis |
| Translated service (PAT) | Original |
| Inbound interface | Interface interne ou Any |
| Outbound interface | Interface WAN |
Dans les environnements simples, une règle SNAT générique est souvent plus claire que de nombreuses Linked NAT Rules.
MASQ: Masquerading
MASQ est une variante pratique de SNAT. Par défaut, MASQ traduit l’adresse source vers l’adresse IP de l’interface sortante. Pour l’accès Internet normal, c’est généralement l’IP WAN.
Sophos Firewall contient une règle SNAT par défaut avec MASQ. Si cette règle n’est pas souhaitée, il est souvent préférable de la désactiver plutôt que de la supprimer, car elle peut réapparaître lors de la création ou de la mise à jour d’une interface WAN.
Attention: avec les route-based VPNs, MASQ peut se comporter autrement que prévu. Si les sous-réseaux locaux et distants sont définis sur Any ou si des configurations Dual IP sont utilisées, la firewall peut utiliser l’IP XFRM comme source traduite.
DNAT: Destination NAT
DNAT modifie l’adresse de destination. On l’utilise par exemple pour publier un serveur interne via une IP ou un port public.
| Champ | Exemple |
|---|---|
| Original source | Any ou réseaux source définis |
| Original destination | IP WAN ou objet WAN host |
| Original service | Service externe, par exemple HTTPS ou Synology_5555 |
| Translated destination (DNAT) | Serveur interne |
| Translated service (PAT) | Original ou port interne |
| Translated source (SNAT) | Généralement Original |
| Inbound interface | Any ou interface WAN |
| Outbound interface | Généralement Any pour DNAT |
Pour les services publics, NAT n’est qu’une partie du design. Il faut aussi vérifier le logging, IPS, les restrictions de source, la logique Geo-IP et l’état de patch du serveur cible. Une procédure détaillée se trouve dans Publier un serveur avec DNAT sur Sophos Firewall.
PAT: Port Address Translation
PAT modifie le service ou le port. Dans Sophos Firewall, le champ correspondant est Translated service (PAT).
| Externe | Interne |
|---|---|
TCP 5555 | TCP 443 |
TCP 20120 | TCP 22 |
TCP 8443 | TCP 443 |
Le client externe se connecte à un port public, tandis qu’un autre port est utilisé en interne. Le protocole doit rester cohérent: TCP vers TCP, UDP vers UDP.
Exemple pratique: publier Synology avec DNAT
Dans cet exemple, un service doit être accessible via une IP WAN publique. À l’extérieur, le service Synology_5555 est utilisé. En interne, le serveur écoute sur HTTPS. La règle NAT traduit donc la destination publique vers le serveur interne et le service public vers le service interne.


Les interfaces d’administration comme NAS, RDP, SSH ou WebAdmin ne devraient être exposées directement que si c’est vraiment nécessaire. Dans de nombreux cas, VPN ou ZTNA est préférable.
Règle DNAT champ par champ
| Champ | Signification et recommandation |
|---|---|
| Rule name | Utiliser un nom clair, par exemple DNAT_SYNOLOGY_5555. |
| Description | Documenter pourquoi la règle existe et qui l’a créée. |
| Rule position | Les règles spécifiques doivent être placées au-dessus des règles générales. |
| Original source | Peut être restreint dans la NAT rule. En pratique, il est souvent plus propre de gérer cette restriction dans la Firewall Rule pour éviter une double maintenance. |
| Original destination | Adresse publique avant NAT. Préférer un host object pour l’IP WAN plutôt que l’interface WAN directement. |
| Original service | Service ou port accessible depuis l’extérieur, par exemple Synology_5555. |
| Translated source (SNAT) | Généralement Original pour DNAT. Ne changer que si le serveur interne doit voir la firewall comme source. |
| Translated destination (DNAT) | Serveur interne ou liste de serveurs. |
| Translated service (PAT) | Service ou port interne, par exemple HTTPS. Si aucun changement de port n’est nécessaire, garder Original. |
| Inbound interface | Interface d’entrée. Pour DNAT, souvent Any ou WAN. |
| Outbound interface | Généralement Any, car le routing et la zone cible déterminent le chemin. |
Firewall Rule correspondante
Une règle DNAT ne suffit pas. Il faut aussi une Firewall Rule qui autorise le trafic.
| Champ | Recommandation |
|---|---|
| Source zones | Généralement WAN pour un accès depuis Internet. |
| Source networks and devices | Éviter Any lorsque c’est possible. Utiliser des pays, IP, réseaux, FQDN hosts ou groupes. |
| Destination zones | Zone de la cible interne, par exemple SERVER ou DMZ, pas simplement WAN. |
| Destination networks | Adresse publique ou objet WAN host de Original destination. |
| Services | Service externe de Original service. |
| Log firewall traffic | À activer pour les services publiés. |
Si les utilisateurs sont mondiaux et que la source ne peut pas être restreinte, il faut durcir autrement: n’ouvrir que les ports nécessaires, activer IPS, logging, maintenir le système cible à jour et utiliser MFA, VPN ou ZTNA si possible.
💡 Les services publics sont souvent scannés très rapidement par des bots. Sophos Firewall Threat Feeds aide à bloquer tôt des IP, domaines ou URLs malveillants connus.
Loopback Rule: accès interne via le nom DNS public
Une Loopback Rule est nécessaire lorsque des clients internes doivent atteindre un serveur interne via son IP publique ou son FQDN public. Sans loopback, le trafic part du LAN vers l’IP publique de la firewall et doit revenir vers le serveur interne.
Dans les environnements simples, Split DNS est souvent plus propre: en interne, service.example.com pointe directement vers l’IP interne du serveur. Si Split DNS n’est pas possible, une Loopback Rule peut être utile.
Reflexive Rule: trafic sortant du serveur publié
Une Reflexive Rule est une règle SNAT créée automatiquement pour une règle DNAT. Elle peut être utile si le serveur publié doit apparaître en sortie avec une IP publique précise.
Pour une réponse normale à une connexion DNAT entrante, une Reflexive Rule séparée n’est généralement pas nécessaire. Le stateful firewalling gère les paquets de réponse de la connexion existante.
⚠️ Si une règle DNAT est modifiée plus tard, les Loopback ou Reflexive Rules créées automatiquement ne sont pas toujours adaptées comme prévu. Il faut les contrôler après les changements.
Server Access Assistant ou règle manuelle?
Server Access Assistant peut créer automatiquement des règles DNAT, loopback, reflexive et Firewall Rules. C’est pratique pour publier rapidement un service.
En production, les règles manuelles sont souvent plus faciles à comprendre: source restrictions gérées consciemment, NAT rule plus claire, position et logging définis proprement, modifications ultérieures moins surprenantes.
Linked NAT Rules
Une Linked NAT Rule est créée depuis une Firewall Rule. Elle apparaît dans la table NAT comme règle Source NAT.
Limites importantes:
- La plupart des critères de matching viennent de la Firewall Rule.
- Seuls certains champs NAT peuvent être modifiés.
- Une règle NAT plus générale placée au-dessus peut matcher avant elle.
- Trop de Linked NAT Rules rendent la table difficile à lire.
Pour de nouvelles configurations simples, une règle autonome sous Rules and policies > NAT rules est généralement plus compréhensible.
Load balancing et Health Check avec DNAT
Si plusieurs serveurs internes sont configurés comme Translated destination, la firewall peut distribuer le trafic.
| Méthode | Utilisation |
|---|---|
| Round robin | Répartition simple sans persistance de session |
| First alive | Serveur primaire avec failover |
| Random | Répartition aléatoire |
| Sticky IP | Même combinaison source-destination sur le même serveur |
| One-to-one | Association fixe entre destination originale et traduite |
Pour que la firewall détecte la disponibilité d’un serveur, Health check doit être activé.
Ordre des règles NAT
Sophos traite les NAT rules de haut en bas. La première règle correspondante gagne.
Recommandations:
- DNAT spécifiques en haut
- SNAT spécifiques au-dessus des règles MASQ générales
- positionner consciemment la Default SNAT rule
- vérifier régulièrement les Linked NAT Rules
- supprimer ou désactiver les anciennes règles de migration inutiles
Vérifier NAT et Firewall Rule ensemble
Un trafic fonctionnel nécessite routing vers la firewall, NAT rule correspondante, Firewall Rule correspondante, chemin retour correct, Security Profiles adaptés et absence de blocage en amont.
Pour DNAT, point essentiel: les Firewall Rules utilisent la destination zone après NAT, mais le destination network avant NAT. C’est souvent la clé du troubleshooting.
Troubleshooting
- Ouvrir Log viewer et filtrer par Source IP, Destination IP et service.
- Vérifier Firewall Rule ID et NAT Rule ID.
- Vérifier la position de la NAT rule.
- Vérifier la position de la Firewall Rule.
- Utiliser Diagnostics > Packet capture pour voir si les paquets arrivent et ressortent.
- Pour une analyse plus profonde, consulter
nat_rule.log,firewall_rule.logetfwlog.log. - En contexte VPN ou XFRM, vérifier aussi
charon.log,strongswan.logetxfrmi.log.
Si la NAT rule ne correspond toujours pas, La règle firewall ne s’applique pas: vérifier ordre, matching et logs et Utiliser Packet Capture dans WebAdmin aident à isoler la cause. Les services et logs sont expliqués dans Sophos Firewall Troubleshooting: Services et logs. Pour le support, les logs peuvent être exportés avec Sauvegarder les logs Sophos Firewall pour le support et l’analyse.