Example: Configuring Destination NAT for Single Address Translation

This example describes how to configure a destination NAT mapping of a single public address to a private address.

Note: Mapping one destination IP address to another can also be accomplished with static NAT. Static NAT mapping allows connections to be established from either side of the gateway device, whereas destination NAT only allows connections to be established from one side. However, static NAT only allows translations from one address to another or between blocks of addresses of the same size.

Requirements

Before you begin:

  1. Configure network interfaces on the device. See the Junos OS Interfaces Configuration Guide for Security Devices.
  2. Create security zones and assign interfaces to them. See Understanding Security Zones.

Overview

This example uses the trust security zone for the private address space and the untrust security zone for the public address space. In Figure 111, devices in the untrust zone access a server in the trust zone by way of public address 1.1.1.200/32. For packets that enter the Juniper Networks security device from the untrust zone with the destination IP address 1.1.1.200/32, the destination IP address is translated to the private address 192.168.1.200/32.

Figure 111: Destination NAT Single Address Translation

Image g030665.gif

This example describes the following configurations:

Configuration

CLI Quick Configuration

To quickly configure a destination NAT mapping from a public address to a private address, copy the following commands and paste them into the CLI.

[edit]set security nat destination pool dst-nat-pool-1 address 192.168.1.200/32set security nat destination rule-set rs1 from interface ge-0/0/0.0set security nat destination rule-set rs1 rule r1 match destination-address 1.1.1.200/32set security nat destination rule-set rs1 rule r1 then destination-nat pool dst-nat-pool-1set security nat proxy-arp interface ge-0/0/0.0 address 1.1.1.200/32set security zones security-zone trust address-book address server-1 192.168.1.200/32 set security policies from-zone untrust to-zone trust policy server-access match source-address any set security policies from-zone untrust to-zone trust policy server-access match destination-address server-1 set security policies from-zone untrust to-zone trust policy server-access match application any set security policies from-zone untrust to-zone trust policy server-access then permit

Step-by-Step Procedure

The following example requires you to navigate throughout various levels in the configuration hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration Mode.

To configure a destination NAT mapping from a public address to a private address:

  1. Create the destination NAT pool.
    [edit security nat destination]user@host# set pool dst-nat-pool-1 address 192.168.1.200/32
  2. Create a destination NAT rule set.
    [edit security nat destination]user@host# set rule-set rs1 from interface ge-0/0/0.0
  3. Configure a rule that matches packets and translates the destination address to the address in the pool.
    [edit security nat destination]user@host# set rule-set rs1 rule r1 match destination-address 1.1.1.200/32user@host# set rule-set rs1 rule r1 then destination-nat pool dst-nat-pool-1
  4. Configure proxy ARP.
    [edit security nat]user@host# set proxy-arp interface ge-0/0/0.0 address 1.1.1.200/32
  5. Configure an address book entry in the trust zone for the server.
    [edit security]user@host# set zones security-zone trust address-book address server-1 192.168.1.200/32
  6. Configure a security policy that allows traffic from the untrust zone to the server in the trust zone.
    [edit security policies from-zone untrust to-zone trust]user@host# set policy server-access match source-address any destination-address server-1 application anyuser@host# set policy server-access then permit

Results

From configuration mode, confirm your configuration by entering the show security nat and show security policies commands. If the output does not display the intended configuration, repeat the configuration instructions in this example to correct it.

[edit]user@host# show security natdestination {pool dst-nat-pool-1 {address 192.168.1.200/32;}rule-set rs1 {from interface ge-0/0/0.0;rule r1 {match {destination-address 1.1.1.200/32;}then {destination-nat pool dst-nat-pool-1;}}}}proxy-arp {interface ge-0/0/0.0 {address {1.1.1.200/32;}}}user@host# show security policiesfrom-zone untrust to-zone trust {policy server-access {match {source-address any;destination-address server-1;application any;}then {permit;}}

If you are done configuring the device, enter commit from configuration mode.

Verification

To confirm that the configuration is working properly, perform these tasks:

Verifying Destination NAT Pool Usage

Purpose

Verify that there is traffic using IP addresses from the destination NAT pool.

Action

From operational mode, enter the show security nat destination pool all command. View the Translation hits field to check for traffic using IP addresses from the pool.

Verifying Destination NAT Rule Usage

Purpose

Verify that there is traffic matching the destination NAT rule.

Action

From operational mode, enter the show security nat destination rule all command. View the Translation hits field to check for traffic that matches the rule.

Verifying NAT Application to Traffic

Purpose

Verify that NAT is being applied to the specified traffic.

Action

From operational mode, enter the show security flow session command.

Related Topics