×

Предупреждение

  • Cisco Support Forums is in Read Only mode while the site is being migrated.
  • Cisco Support Forums is in Read Only mode while the site is being migrated.

Зависание Stateful NAT

Неотвеченый вопрос
Мар 18th, 2014
User Badges:

Доброе утро коллеги.

 

Имеем два роутера hostname: wan 1/2, сделал SNAT with HSRP, в итоге работает, но временами проблемы с доступностью к ресурсам интернета (именно PAT) , а после clear ip nat tra * , начинает бегать опять нормально.

 

WAN-1:

Cisco IOS Software, C3900e Software (C3900e-UNIVERSALK9-M), Version 15.1(1)T2

 

interface GigabitEthernet0/2
 description ## core1 -> Gi 1/0/24
 backup interface GigabitEthernet0/3
 ip address 192.168.85.12 255.255.248.0
 no ip redirects
 no ip unreachables
 no ip proxy-arp
 ip authentication mode eigrp 1 md5
 ip authentication key-chain eigrp 1 MYCHAIN
 ip flow ingress
 ip flow egress
 ip nat inside
 ip virtual-reassembly
 duplex auto
 speed auto
 standby delay minimum 60 reload 60
 standby 1 ip 192.168.85.15
 standby 1 timers msec 500 msec 1500
 standby 1 priority 105
 standby 1 preempt delay minimum 60 reload 60 sync 60
 standby 1 authentication md5 key-string 7 XXXXXXXX
 standby 1 name HSRP_IN
 standby 1 track 2 decrement 20
 no mop enabled
end

 

 

ip nat Stateful id 1
  redundancy HSRP_IN
   mapping-id 1
   protocol   udp

 

 

ip nat inside source list acl_NAT pool VIRPOOL mapping-id 1 overload

 

ip nat pool VIRPOOL XX.XXX.243.12 XXX.XXX.243.12 netmask 255.255.255.240

#

ip nat inside source static 192.168.84.93 XXX.XX.243.64 redundancy HSRP_IN mapping-id 1 extendable
ip nat inside source static 192.168.84.88 XXX.XX.243.65 redundancy HSRP_IN mapping-id 1 extendable

 

 

 

 

#sh access-list acl_NAT
Extended IP access list acl_NAT
    1 deny tcp host 192.168.84.93 any (366 matches)
    10 permit ip 192.168.80.0 0.0.7.255 any (9407473 matches)
    20 permit ip 192.168.101.0 0.0.0.255 any (1146469 matches)
    30 permit ip 192.168.108.0 0.0.0.255 any (55764 matches)
    40 permit ip 192.168.106.0 0.0.0.255 any (1356570 matches)
    50 permit ip 192.168.109.0 0.0.0.255 any (46054 matches)
    60 permit ip 192.168.107.0 0.0.0.255 any (21480 matches)
    70 permit ip 192.168.100.0 0.0.0.255 any (270218 matches)

 

Log:

 

wan1#sh ip snat distributed verbose

Stateful NAT Connected Peers

SNAT: Mode IP-REDUNDANCY :: ACTIVE
    : State READY
    : Local Address 192.168.85.12
    : Local NAT id 1
    : Peer Address 192.168.85.14
    : Peer NAT id 2
    : Mapping List 1
    : InMsgs 1125371, OutMsgs 0, tcb 0xB8898888, listener 0x0

 

#sh ip nat sta
Total active translations: 18285 (2 static, 18283 dynamic; 18283 extended)
Peak translations: 51997, occurred 1d00h ago
Outside interfaces:
  GigabitEthernet0/0, GigabitEthernet0/1
Inside interfaces:
  GigabitEthernet0/2
Hits: 398866256  Misses: 0
CEF Translated packets: 355048182, CEF Punted packets: 41913083
Expired translations: 11847638
Dynamic mappings:
-- Inside Source
[Id: 2] access-list acl_NAT pool VIRPOOL refcount 18280
 pool VIRPOOL: netmask 255.255.255.240
        start 141.101.243.12 end 141.101.243.12
        type generic, total addresses 1, allocated 1 (100%), misses 0
Appl doors: 0
Normal doors: 0
Queued Packets: 0

 

 

wan1#sh standby br
                     P indicates configured to preempt.
                     |
Interface   Grp  Pri P State   Active          Standby         Virtual IP
Gi0/0       2    105 P Active  local           XXX.XX.243.11  XXX.XX.243.9
Gi0/2       1    105 P Active  local           192.168.85.14   192.168.85.15

 

 

###

 

WAN-2:

Cisco IOS Software, C3900e Software (C3900e-UNIVERSALK9-M), Version 15.1(1)T1

 

interface GigabitEthernet0/2
 description ## core1 -> Gi 2/0/24
 backup interface GigabitEthernet0/3
 ip address 192.168.85.14 255.255.248.0
 no ip redirects
 no ip unreachables
 no ip proxy-arp
 ip authentication mode eigrp 1 md5
 ip authentication key-chain eigrp 1 MYCHAIN
 ip flow ingress
 ip flow egress
 ip nat inside
 ip virtual-reassembly
 duplex auto
 speed auto
 standby delay minimum 60 reload 60
 standby 1 ip 192.168.85.15
 standby 1 timers msec 500 msec 1500
 standby 1 priority 95
 standby 1 preempt delay minimum 60 reload 60 sync 60
 standby 1 authentication md5 key-string 7 XXXXXXXX
 standby 1 name HSRP_IN
 standby 1 track 1 decrement 20
 no mop enabled

 

 

ip nat Stateful id 2
  redundancy HSRP_IN
   mapping-id 1
   protocol   udp

 

 

ip nat pool VIRPOOL XXX.XX.243.12 XXX.XX.243.12 netmask 255.255.255.240
ip nat inside source list acl_NAT pool VIRPOOL mapping-id 1 overload

 

#

 

ip nat inside source static 192.168.84.93 XXX.XX.243.64 redundancy HSRP_IN mapping-id 1 extendable
ip nat inside source static 192.168.84.88 XXX.XX.243.65 redundancy HSRP_IN mapping-id 1 extendable

 

 

 

#sh access-list acl_NAT
Extended IP access list acl_NAT
    1 deny tcp host 192.168.84.93 any
    10 permit ip 192.168.80.0 0.0.7.255 any (677 matches)
    20 permit ip 192.168.101.0 0.0.0.255 any (140 matches)
    30 permit ip 192.168.108.0 0.0.0.255 any
    40 permit ip 192.168.106.0 0.0.0.255 any (9 matches)
    50 permit ip 192.168.109.0 0.0.0.255 any
    60 permit ip 192.168.107.0 0.0.0.255 any
    70 permit ip 192.168.100.0 0.0.0.255 any

 

 

Log:

 

wan2#sh ip snat distributed verbose

Stateful NAT Connected Peers

SNAT: Mode IP-REDUNDANCY :: STANDBY
    : State READY
    : Local Address 192.168.85.14
    : Local NAT id 2
    : Peer Address 192.168.85.12
    : Peer NAT id 1
    : Mapping List 1
    : InMsgs 40668334, OutMsgs 0, tcb 0xB8898888, listener 0x0

 

wan2#sh ip nat stat
Total active translations: 22950 (2 static, 22948 dynamic; 22948 extended)
Peak translations: 56519, occurred 1d00h ago
Outside interfaces:
  GigabitEthernet0/0, GigabitEthernet0/1
Inside interfaces:
  GigabitEthernet0/2
Hits: 126559247  Misses: 0
CEF Translated packets: 110894643, CEF Punted packets: 15425181
Expired translations: 1769
Dynamic mappings:
-- Inside Source
[Id: 1] access-list acl_NAT pool VIRPOOL refcount 21000
 pool VIRPOOL: netmask 255.255.255.240
        start 141.101.243.12 end 141.101.243.12
        type generic, total addresses 1, allocated 1 (100%), misses 0
Appl doors: 0
Normal doors: 1
Queued Packets: 0

 

wan2#sh standby br
                     P indicates configured to preempt.
                     |
Interface   Grp  Pri P State   Active          Standby         Virtual IP
Gi0/0       2    95  P Standby XXX.XX.243.10  local         XXX.XX.243.9
Gi0/2       1    95  P Standby 192.168.85.12   local           192.168.85.15

 

 

 

I have this problem too.
0 голоса
Loading.
Dmitriy Zhiznevskiy вс, 03/23/2014 - 00:55
User Badges:
  • Silver, 250 points or more
  • Почетные Знаки Сообщества,

    Выбор участников, Февраль 2014

>Peak translations: 56519

Это очень много трансляций для одного адреса. Нужно или что-то делать с количеством трансляций, или добавлять адреса в пул.

bgp.ripe901 пн, 03/24/2014 - 02:47
User Badges:

Трафика там почти нет, может ручками уменьшить time outы дополнительно для NAT/PAT ?

Ещё странность, в том, что если сделать ребут wan2 (Standby router),то появляются проблемы в отработке функции PAT. Отваливается связность с интернет, до тех пор пока Wan2 не загрузится. (~1min)

 

Dmitriy Zhiznevskiy пн, 03/24/2014 - 10:23
User Badges:
  • Silver, 250 points or more
  • Почетные Знаки Сообщества,

    Выбор участников, Февраль 2014

Ну раз "трафика почти нет" - надо посмотреть, кто там шалит. Show ip nat tr. Может, у вас вся сеть в зловредах, или все сотрудники торренты качают.

 

Уменьшать таймауты - не самый оптимальный вариант. Лучше разобраться с изначальной причиной проблем.

 

По отвалу после ребута WAN2 - с одной стороны, надо бы подебажить, что там происходит, но с другой стороны страшновато при такой активности. Ночью проблема воспроизводится?

Dmitriy Zhiznevskiy ср, 03/26/2014 - 09:39
User Badges:
  • Silver, 250 points or more
  • Почетные Знаки Сообщества,

    Выбор участников, Февраль 2014

Замечу, что при переполнении таблицы трансляций на адрес симптомы будут те же - "кто-то иногда не может установить соединение, сброс всех трансляций на время спасает". Возможно, какие-то сообщения в лог будут падать. С этим все равно надо что-то делать, причем ASAP.

bgp.ripe901 ср, 03/26/2014 - 23:27
User Badges:

How many concurrent NAT sessions are supported in Cisco IOS NAT?

 

A. The NAT session limit is bounded by the amount of available DRAM in the router. Each NAT translation consumes about 312 bytes in DRAM. As a result, 10,000 translations (more than would generally be handled on a single router) consume about 3 MB. Therefore, typical routing hardware has more than enough memory to support thousands of NAT translations.

Памяти у меня море ;)

Processor Pool Total:  501879520 Used:  225475548 Free:  276403972
      I/O Pool Total:  298844160 Used:   88925760 Free:  209918400

 

Сейчас у меня так:

 

Total active translations: 86045 (2 static, 86043 dynamic; 86043 extended)
Peak translations: 163656, occurred 1d01h ago
Outside interfaces:
  GigabitEthernet0/0, GigabitEthernet0/1
Inside interfaces:
  GigabitEthernet0/2
Hits: 54499022  Misses: 0
CEF Translated packets: 45356169, CEF Punted packets: 9118987
Expired translations: 3406806
Dynamic mappings:
-- Inside Source
[Id: 1] access-list acl_NAT pool VIRPOOL refcount 86026
 pool VIRPOOL: netmask 255.255.255.240
        start 141.101.243.12 end 141.101.243.12
        type generic, total addresses 1, allocated 1 (100%), misses 0

Total doors: 0
Appl doors: 0
Normal doors: 0
Queued Packets: 0

Dmitriy Zhiznevskiy чт, 03/27/2014 - 09:46
User Badges:
  • Silver, 250 points or more
  • Почетные Знаки Сообщества,

    Выбор участников, Февраль 2014

Вы посмотрите глобальное ограничение на число трансляций по N inside global адресам, где N>1. Для любых масштабных применений NAT/PAT задают пул из многих адресов.

 

http://www.cisco.com/c/en/us/support/docs/ip/network-address-translation...

Q. When configuring for PAT (overloading), what is the maximum number of translations that can be created per inside global IP address?

 

A. PAT (overloading) divides the available ports per global IP address into three ranges: 0-511, 512-1023, and 1024-65535. PAT assigns a unique source port for each UDP or TCP session. It attempts to assign the same port value of the original request, but if the original source port has already been used, it starts scanning from the beginning of the particular port range to find the first available port and assigns it to the conversation.

 

 

Только ASA умеют мапить несколько сессий в один порт на IG адресе. Но с рядом ограничений.

 

Я не могу объяснить показания вашего счетчика. Возможно, он врет, и мы имеем дело с косметическим дефектом. Вопрос в том, насколько сильно он врет.

 

У вас пул задан с маской /28, но в нем всего один адрес. Возможно ли расширить его?

 

bgp.ripe901 ср, 04/02/2014 - 01:10
User Badges:

Буду смотреть в сторону расширения пула + поиграюсь с time-outами.

Сейчас изменил это: ip nat translation timeout 14400 -> Specify timeout for dynamic NAT translations

bgp.ripe901 вс, 04/13/2014 - 23:49
User Badges:

В итоге сделал так:

 

ip nat translation timeout 900
ip nat translation tcp-timeout 300

 

пул расширил ещё на один ip ( всего стало 2).

 

Статистика:

 

с WAN1:

 

Total active translations: 8138 (2 static, 8136 dynamic; 8135 extended)
Peak translations: 8297, occurred 00:00:10 ago
Outside interfaces:
  GigabitEthernet0/0, GigabitEthernet0/1
Inside interfaces:
  GigabitEthernet0/2, GigabitEthernet0/3
Hits: 13778  Misses: 0
CEF Translated packets: 10935, CEF Punted packets: 2840
Expired translations: 3112
Dynamic mappings:
-- Inside Source
[Id: 1] access-list acl_NAT pool VIRPOOL refcount 8136
 pool VIRPOOL: netmask 255.255.255.240
        start 141.101.243.12 end 141.101.243.13
        type generic, total addresses 2, allocated 2 (100%), misses 0

 

А вот с WAN2:

 

Total active translations: 8154 (2 static, 8152 dynamic; 8151 extended)
Peak translations: 8385, occurred 00:00:24 ago
Outside interfaces:
  GigabitEthernet0/0, GigabitEthernet0/1
Inside interfaces:
  GigabitEthernet0/2, GigabitEthernet0/3
Hits: 0  Misses: 0
CEF Translated packets: 0, CEF Punted packets: 0
Expired translations: 0
Dynamic mappings:
-- Inside Source
[Id: 1] access-list acl_NAT pool VIRPOOL refcount 8386
 pool VIRPOOL: netmask 255.255.255.240
        start 141.101.243.12 end 141.101.243.13
        type generic, total addresses 2, allocated 2 (100%), misses 216

 

###

 

пугает значение:  misses 216, на одном оно 0, а на втором 216 !

Как так ?

Dmitriy Zhiznevskiy пн, 04/14/2014 - 07:33
User Badges:
  • Silver, 250 points or more
  • Почетные Знаки Сообщества,

    Выбор участников, Февраль 2014

И сейчас я заметил, что таймаут на соединения в таблице NAT - 24 часа. Интересно было бы узнать мотивацию тех, кто это придумали.

 

По поводу misses:

Hits occur when NAT looks for a mapping, and finds one. Misses occur when NAT looks for a NAT table entry, does not find one, and then needs to dynamically add one.

Раз у вас HSRP - можно предположить, что все пакеты от клиентов до интернета идут на один маршрутизатор - тот, который HSRP active. Новые соединения будут создаваться только на нем. Видимо, это тот, на ком растет счетчик misses. Счетчик не страшный, он должен расти, это нормально.

bgp.ripe901 вт, 04/15/2014 - 03:53
User Badges:

Вы пишите про это: Hits: 0  Misses: 0

А я про это:  type generic, total addresses 2, allocated 2 (100%), misses 216

А это очень плохо, так как читаем тут:

 

misses

Number of failed allocations from the pool

 

В итоге плюнул и расширил пул на 26 ip ( на всякий случай).

сейчас так:

Total active translations: 8476 (2 static, 8474 dynamic; 8474 extended)
Peak translations: 433389, occurred 17:10:50 ago
Outside interfaces:
  GigabitEthernet0/0, GigabitEthernet0/1
Inside interfaces:
  GigabitEthernet0/2, GigabitEthernet0/3
Hits: 22573275  Misses: 0
CEF Translated packets: 20166877, CEF Punted packets: 2406088
Expired translations: 2264525
Dynamic mappings:
-- Inside Source
[Id: 2] access-list acl_NAT pool VIRPOOL-2 refcount 8550
 pool VIRPOOL-2: netmask 255.255.255.224
        start 141.101.243.100 end 141.101.243.126
        type generic, total addresses 27, allocated 1 (3%), misses 0

 

Действия

Информация о дискуссии