Перейти к содержимому
Калькуляторы

Как продиагностировать кошака? PPTP/NAT

кошак 3845:

vpdn pptp raduis client

nat

shaping+policing (out/in)

 

В определённый момент, примерно после 12 часов работы, перестаёт пропускать трафик от абонента во внешний мир.

Ситуация усугубляется тем, что пинги от абонента во внешку проходят нормально, а вот что-либо боее существенное - нет.

В сислог не ругается.

Причину понять не могу.

 

Каким образом можно докопаться до причины тупизны?

 

я уже весь моск себе сломал, мой консультант по данному вопросу помочь не может :(

 

Сейчас единственное, что приходит в голову, это вылавливать момент, когда он входит в такое состояние, подключаться клиентом и наблюдать за vi, увижу я дропы или нет, если увижу - куда копать?

Изменено пользователем terrible

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может, по очереди попытаться выключать фичи?

Что в момент начала проблем с загрузкой ЦПУ?

sh proc cpu | ex 0.0
sh ip nat translations
sh ip nat statistics

sh run от полисеров увидеть тоже не помешает.

Изменено пользователем cMex

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

sh proc cpu не смотрел, но кактус показывает так:

VHVXD0s43C.png

там, где в пиках провал - это ребут

 

sh ip nat translations - ну как обычно огромнейшая таблица, или надо с ещё каким ключиком глянуть?

sh ip nat statistics - завтра к вечеру в пик посмотрю, перед ребутом

sh run policy-map - тупо политики показывает, вроде всё правильно, как и настраивал

Изменено пользователем terrible

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

sh ip nat translations - ну как обычно огромнейшая таблица, или надо с ещё каким ключиком глянуть?

Прошу прощения, не написал, что посмотреть её в момент проблем, подключившись юзером, и только его сессии взглянуть.

Изменено пользователем cMex

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

подключившись юзером, и только его сессии взглянуть.
Немного не понял: пользователь подключается как PPTP клиент, а я смотрю через консольку, пользователь не может посмотреть его трансляции, или я туплю ?

 

Попробуйте таймауты на трансляции подкрутить.
Вот это вы имеете в виду? :

ip nat translation timeout <seconds>

 

Нашел ещё в конфиге вот что:

ip nat inside source list 15 interface GigabitEthernet0/0 overload

последний параметр на что оказывает влияние?

Изменено пользователем terrible

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нашел ещё в конфиге вот что:

ip nat inside source list 15 interface GigabitEthernet0/0 overload

последний параметр на что оказывает влияние?

 

Этот параметр указывает что будет работать PAT port address transletion т.е. источники трансляции указаны в акцес листе 15 и все это будет выходить через интерфейс GigabitEthernet0/0 порты для каждой трансяции естесно будут разные.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

cMex, пулю, не понял как посмотреть трансляции конкретного пользователя :(

sh ip nat translations vrf ?

 

по статистке перед тупизной картина такая:

 

sh ip nat statistics:

 

Total active translations: 86985 (0 static, 86985 dynamic; 86982 extended)

Outside interfaces:

GigabitEthernet0/0

Inside interfaces:

Virtual-Template1, Virtual-Access2.1, Virtual-Access2.2, Virtual-Access2.3

...

Hits: 282085850 Misses: 5570448

CEF Translated packets: 283650812, CEF Punted packets: 4705122

Expired translations: 5777036

Dynamic mappings:

-- Inside Source

[id: 1] access-list 15 interface GigabitEthernet0/0 refcount 86963

Queued Packets: 1

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как выше посоветовал Nailer необходимо попытаться уменьшить таймауты на трансляции и попытаться в момент прихода проблем сделать clear ip nat translations. Если сразу после сброса таблицы трансляций некоторое количество времени опять все будет нормально работать, то это опять же подтвердит, что надо уменьшать таймауты.

Посмотрите еще вот сюда: http://www.cisco.com/en/US/tech/tk648/tk36...080094c32.shtml

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

sh ip nat statistics:

Total active translations: 86985 (0 static, 86985 dynamic; 86982 extended)

Outside interfaces:

GigabitEthernet0/0

Inside interfaces:

Virtual-Template1, Virtual-Access2.1, Virtual-Access2.2, Virtual-Access2.3

...

[id: 1] access-list 15 interface GigabitEthernet0/0 refcount 86963

Обязательно используйте рецепт Nailer + сделать пул для nat с overload (а не overload Gi0/0, а то у вас получается 2^16 доступных портов при 86985 active translation)

Изменено пользователем AN111

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

таймауты пока поставил такие:

ip nat translation timeout 120

ip nat translation dns-timeout 600

 

уже понимаю, что они нужны как воздух, и что моей ошибкой было то, что я их не ставил, правда пока эффекта это не дало.

 

cMex, обязательно сегодня попробую это сделать, вчера только об этом подумал, но уже после ребута.

 

AN111, а пул лучше всего сделать на дополнительном vi ? создать и туда перекинуть? или что-то типа этого замутить:

 

ip nat pool ovrld 172.16.10.1 172.16.10.1 prefix 24

ip nat inside source list 15 pool ovrld overload

Изменено пользователем terrible

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пул из одного адреса проблему не решит...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

http://www.cisco.com/en/US/technologies/tk...0080091cb9.html

PAT uses unique source port numbers on the Inside Global IP address to distinguish between translations. Because the port number is encoded in 16 bits, the total number could theoretically be as high as 65,536 per IP address. PAT will attempt to preserve the original source port, if this source port is already allocated PAT will attempt to find the first available port number starting from the beginning of the appropriate port group 0-5111, 512-1023 or 1024-65535. If there is still no port available from the appropriate group and more than one IP address is configured, PAT will move to the next IP address and try to allocate the original source port again. This continues until it runs out of available ports and IP addresses.

Имейте в виду также то, что при трансляции на пул адресов теоретически обмен трафиком от одного и того же клиента на один и тот же узел может придти от разных адресов, что может быть критично для HTTP-трафика, например.

Изменено пользователем cMex

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

сегодня вечером подниму внешний пул из 10 адресов, посмотрю как будет в таком ракурсе работать

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да уже от таймаутов должно было полегчать.

Ещё есть волшебные команды вроде этих:

ip nat translation timeout ХХХ

ip nat translation tcp-timeout ХХХ

ip nat translation udp-timeout ХХХ

ip nat translation max-entries all-host ХХХ

 

Имейте в виду также то, что при трансляции на пул адресов теоретически обмен трафиком от одного и того же клиента на один и тот же узел может придти от разных адресов, что может быть критично для HTTP-трафика, например.
В чём критичность то? Тема не раскрыта))

если клиент пойдёт например на ххх.ру с одним адресом, а на следующую тцп сессию на ууу.ру с другим - в чём проблема то???

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вообще, действительно, по физике процесса проблем не будет. Если xxx.ru и yyy.ru., то проблем нет. А вот если, например, форум в интернете сохраняет куки сессий пользователю с сохранением адреса входа, то при следующем коннекте мы можем получить окно ввода логина снова. Но это частности, в этом случае используется не пул, а разные access-list кого/куда натить.

Изменено пользователем cMex

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В таком случае как вы описали пожалуй что действительно возможно) Хотя имхо не критично.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У каждого свои критерии критичности, поэтому я и написал:

...что может быть критично для HTTP-трафика, например.
«Предупрежден — значит вооружен».
Изменено пользователем cMex

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

таймауты пока поставил такие:

ip nat translation timeout 120

ip nat translation dns-timeout 600

 

уже понимаю, что они нужны как воздух, и что моей ошибкой было то, что я их не ставил, правда пока эффекта это не дало.

 

cMex, обязательно сегодня попробую это сделать, вчера только об этом подумал, но уже после ребута.

 

AN111, а пул лучше всего сделать на дополнительном vi ? создать и туда перекинуть? или что-то типа этого замутить:

 

ip nat pool ovrld 172.16.10.1 172.16.10.1 prefix 24

ip nat inside source list 15 pool ovrld overload

типа того +

ip nat translation finrst-timeout 15

ip nat translation syn-timeout 15

ip nat translation icmp-timeout 5

(я так ставлю)

 

по пулу Stak правильно сказал, пул из одного адреса проблему не решит.

Сколько ставить - смотрите от максимального количества трансляций + запас для ядерной войны (ddos, червивые трояны, etc)

один адрес - 2^16 трансляций

 

Пример:

ip nat pool ovrld 172.16.10.0 172.16.10.31 prefix 27

ip nat inside source list 15 pool ovrld overload

 

транзит на эту сеть должен проходить через циску, interface Virtual не нужен

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

установил таймауты, как и советует AN111

прописал пул /28 на всякий случай, думаю пока хватит

прописал маршрут на этот пул с вышестоящего L3

 

на яндекс вылезаю уже под IP из пула, не gi

 

полёт вроде нормальнный, сообщение может быть поправлю по результатам теста

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да нормально РАТ отработает, ни разу еще с ним проблем не было, в отличие от нат-пулов (на asa). А вот тюнинг таймаутов вас действительно спасет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В таком случае как вы описали пожалуй что действительно возможно) Хотя имхо не критично.

Например, аська не работает. Она любит делать 2 коннекта, и если они уходят с разных ипов - не соединяется. Так что не советую натить в пул.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Nic, так и есть, аська периодически отваливается

 

Результаты:

 

Total active translations: 90940 (0 static, 90940 dynamic; 90928 extended)

 

Сервис работает нормально!

 

Выражаю благодарность:

AN111

cMex

Stak

 

Походу дела моя проблема решена, спасибо!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Чтобы избежать проблем прислушайтесь к моему совету и совету Nic, используйте отдельный адрес для NAT блоков ваших серых адресов, т. е., например, 10.0.0.0/24 на 172.31.0.1, 10.0.1.0/24 на 172.31.0.2 и т. д. Это поможет вам избежать диагностирования проблем, о которых к примеру тоже было написано.

Я рад, что вы решили проблему, успеха вам в решении задач.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.