# NAT ALG (Application Level Gateways)

**URL:** https://forum.networklessons.com/t/nat-alg-application-level-gateways/3520
**Category:** Lessons Discussion
**Created:** [April 11, 2018, 10:45am UTC](https://forum.networklessons.com/t/nat-alg-application-level-gateways/3520 "2018-04-11T10:45:08Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![ReneMolenaar](https://cdn-forum.networklessons.com/user_avatar/forum.networklessons.com/renemolenaar/32/488_2.png) [@ReneMolenaar](https://forum.networklessons.com/u/ReneMolenaar)
#### Post date: [April 11, 2018, 10:45am UTC](https://forum.networklessons.com/t/nat-alg-application-level-gateways/3520/1 "2018-04-11T10:45:08Z")

</div>

This topic is to discuss the following lesson:

> **[NAT ALG (Application Level Gateway)](https://networklessons.com/cisco/ccie-routing-switching-written/nat-alg-application-level-gateways)**
>
> NAT ALG (Application Level Gateway) translates addresses in the application layer for applications that don't work with NAT.

---

<div class="post-metadata">

### Author: ![Zaman.rubd](https://cdn-forum.networklessons.com/letter_avatar_proxy/v4/letter/z/45deac/32.png) [@Zaman.rubd](https://forum.networklessons.com/u/Zaman.rubd)
#### Post date: [April 20, 2018, 8:37pm UTC](https://forum.networklessons.com/t/nat-alg-application-level-gateways/3520/2 "2018-04-20T20:37:45Z")

</div>

Superb lesson Boss…

---

<div class="post-metadata">

### Author: ![Zaman.rubd](https://cdn-forum.networklessons.com/letter_avatar_proxy/v4/letter/z/45deac/32.png) [@Zaman.rubd](https://forum.networklessons.com/u/Zaman.rubd)
#### Post date: [April 27, 2018, 3:01pm UTC](https://forum.networklessons.com/t/nat-alg-application-level-gateways/3520/3 "2018-04-27T15:01:28Z")

</div>

Hi Rene,

So for NAT ALG only extra command is `ip virtual-reassembly in` right ??

br//zaman

---

<div class="post-metadata">

### Author: ![lagapidis](https://cdn-forum.networklessons.com/user_avatar/forum.networklessons.com/lagapidis/32/4949_2.png) [@lagapidis](https://forum.networklessons.com/u/lagapidis)
#### Post date: [May 1, 2018, 7:49am UTC](https://forum.networklessons.com/t/nat-alg-application-level-gateways/3520/4 "2018-05-01T07:49:35Z")

</div>

Hello Zaman.

The command ip virtual-reassembly is not related to NAT ALG. This command is used for detecting and preventing several different types of fragmentation attacks. More about this command can be found at the following link.

> **[Virtual Fragmentation Reassembly  \[Support\]](https://www.cisco.com/en/US/docs/ios-xml/ios/sec_data_zbf/configuration/15-2mt/sec-cbac-vfr.html#GUID-0A94C3F4-5D7A-4E85-8FAE-0F8F6EBABACF)**

In the lesson, R1 employs NAT ALG by default and Rene is showing an example of how it actually functions. No specialized configuration is necessary for NAT ALG to function.

I hope this has been helpful!

Laz

---

<div class="post-metadata">

### Author: ![chrisnewnham17](https://cdn-forum.networklessons.com/letter_avatar_proxy/v4/letter/c/f9ae1b/32.png) [@chrisnewnham17](https://forum.networklessons.com/u/chrisnewnham17)
#### Post date: [July 6, 2018, 1:59pm UTC](https://forum.networklessons.com/t/nat-alg-application-level-gateways/3520/5 "2018-07-06T13:59:29Z")

</div>

It’s quite surprising, but this autoconfiguration can sometimes cause more issues than it fixes.

I’ve been requested to disable this before to get sip working.

The command to disable for UDP is:

> no ip nat service sip udp port 5060

---

<div class="post-metadata">

### Author: ![lagapidis](https://cdn-forum.networklessons.com/user_avatar/forum.networklessons.com/lagapidis/32/4949_2.png) [@lagapidis](https://forum.networklessons.com/u/lagapidis)
#### Post date: [July 11, 2018, 5:36pm UTC](https://forum.networklessons.com/t/nat-alg-application-level-gateways/3520/6 "2018-07-11T17:36:09Z")

</div>

Hello Chris

Yes, you are correct that NAT ALG can cause some interesting and often unpredictable results. This is usually the case when used in conjunction with some other security appliance such as a firewall where additional NAT or VPN functionality takes place. It is the policy of some networking professionals to disable this service in order to avoid these unpredictable results.

In any case it is necessary to approach NAT ALG with caution and make sure to take into account all possible contingencies.

I hope this has been helpful!

Laz

---

<div class="post-metadata">

### Author: ![Giovanni](https://cdn-forum.networklessons.com/letter_avatar_proxy/v4/letter/g/7ea924/32.png) [@Giovanni](https://forum.networklessons.com/u/Giovanni)
#### Post date: [October 3, 2019, 10:09am UTC](https://forum.networklessons.com/t/nat-alg-application-level-gateways/3520/7 "2019-10-03T10:09:34Z")

</div>

Hi,

I Can’t understand which is the difference on the configuration bewteen a normal nat and an ALG NAT.

The comunication must be NATTED by R1 as a normal NAT right?

Thank you

---

<div class="post-metadata">

### Author: ![lagapidis](https://cdn-forum.networklessons.com/user_avatar/forum.networklessons.com/lagapidis/32/4949_2.png) [@lagapidis](https://forum.networklessons.com/u/lagapidis)
#### Post date: [October 7, 2019, 8:04am UTC](https://forum.networklessons.com/t/nat-alg-application-level-gateways/3520/8 "2019-10-07T08:04:47Z")

</div>

Hello Giovanni

NAT ALG on most (if not all) Cisco IOS routers is enabled by default. This means that you don’t actually have to do anything to configure it. The purpose of this lesson was to show how a router behaves with NAT ALG.

Now with or without NAT ALG, the actual NAT configuration does not change. You still configure it the same way. NAT ALG is actually configured using nat service commands. For example, if you were to disable NAT ALG for SIP (which is one of the most popular uses of ALG), you would issue the following command

`no ip nat service sip udp port 5060`

Notice that the NAT ALG configuration includes information such as the application layer protocol for which you want the config to function, as well as the transport layer protocol and the port being used. If you want to reenable the feature, you would simply issue the same command without the “no” keyword.

Depending on the capabilities of the IOS version and router, you can specify the service and the port that you want to enable/disable the feature for.

For more info on the enabling/disabling/configuration of ALG, take a look at this [Cisco documentation](https://www.cisco.com/en/US/products/ps6017/products_command_reference_chapter09186a008085f9f6.html#wp1011590).

I hope this has been helpful!

Laz
