terrible Posted February 24, 2009 Posted February 24, 2009 (edited) кошак 3845: vpdn pptp raduis client nat shaping+policing (out/in) В определённый момент, примерно после 12 часов работы, перестаёт пропускать трафик от абонента во внешний мир. Ситуация усугубляется тем, что пинги от абонента во внешку проходят нормально, а вот что-либо боее существенное - нет. В сислог не ругается. Причину понять не могу. Каким образом можно докопаться до причины тупизны? я уже весь моск себе сломал, мой консультант по данному вопросу помочь не может :( Сейчас единственное, что приходит в голову, это вылавливать момент, когда он входит в такое состояние, подключаться клиентом и наблюдать за vi, увижу я дропы или нет, если увижу - куда копать? Edited February 24, 2009 by terrible Вставить ник Quote
cMex Posted February 24, 2009 Posted February 24, 2009 (edited) Может, по очереди попытаться выключать фичи? Что в момент начала проблем с загрузкой ЦПУ? sh proc cpu | ex 0.0 sh ip nat translations sh ip nat statistics sh run от полисеров увидеть тоже не помешает. Edited February 24, 2009 by cMex Вставить ник Quote
terrible Posted February 24, 2009 Author Posted February 24, 2009 (edited) sh proc cpu не смотрел, но кактус показывает так: там, где в пиках провал - это ребут sh ip nat translations - ну как обычно огромнейшая таблица, или надо с ещё каким ключиком глянуть? sh ip nat statistics - завтра к вечеру в пик посмотрю, перед ребутом sh run policy-map - тупо политики показывает, вроде всё правильно, как и настраивал Edited February 24, 2009 by terrible Вставить ник Quote
Nailer Posted February 24, 2009 Posted February 24, 2009 Попробуйте таймауты на трансляции подкрутить. Вставить ник Quote
cMex Posted February 24, 2009 Posted February 24, 2009 (edited) sh ip nat translations - ну как обычно огромнейшая таблица, или надо с ещё каким ключиком глянуть? Прошу прощения, не написал, что посмотреть её в момент проблем, подключившись юзером, и только его сессии взглянуть. Edited February 24, 2009 by cMex Вставить ник Quote
terrible Posted February 24, 2009 Author Posted February 24, 2009 (edited) подключившись юзером, и только его сессии взглянуть.Немного не понял: пользователь подключается как PPTP клиент, а я смотрю через консольку, пользователь не может посмотреть его трансляции, или я туплю ? Попробуйте таймауты на трансляции подкрутить.Вот это вы имеете в виду? : ip nat translation timeout <seconds> Нашел ещё в конфиге вот что: ip nat inside source list 15 interface GigabitEthernet0/0 overload последний параметр на что оказывает влияние? Edited February 24, 2009 by terrible Вставить ник Quote
cMex Posted February 25, 2009 Posted February 25, 2009 Пользователь не может, но вы подключившись пользователем в момент появления проблем с другого рабочего места можете зайти на маршрутизатор и посмотреть его/ваши трансляции. Вставить ник Quote
idust Posted February 25, 2009 Posted February 25, 2009 Нашел ещё в конфиге вот что: ip nat inside source list 15 interface GigabitEthernet0/0 overload последний параметр на что оказывает влияние? Этот параметр указывает что будет работать PAT port address transletion т.е. источники трансляции указаны в акцес листе 15 и все это будет выходить через интерфейс GigabitEthernet0/0 порты для каждой трансяции естесно будут разные. Вставить ник Quote
terrible Posted February 25, 2009 Author Posted February 25, 2009 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 Вставить ник Quote
cMex Posted February 25, 2009 Posted February 25, 2009 Как выше посоветовал Nailer необходимо попытаться уменьшить таймауты на трансляции и попытаться в момент прихода проблем сделать clear ip nat translations. Если сразу после сброса таблицы трансляций некоторое количество времени опять все будет нормально работать, то это опять же подтвердит, что надо уменьшать таймауты. Посмотрите еще вот сюда: http://www.cisco.com/en/US/tech/tk648/tk36...080094c32.shtml Вставить ник Quote
AN111 Posted February 25, 2009 Posted February 25, 2009 (edited) 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) Edited February 25, 2009 by AN111 Вставить ник Quote
terrible Posted February 26, 2009 Author Posted February 26, 2009 (edited) таймауты пока поставил такие: 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 Edited February 26, 2009 by terrible Вставить ник Quote
Stak Posted February 26, 2009 Posted February 26, 2009 Пул из одного адреса проблему не решит... Вставить ник Quote
cMex Posted February 26, 2009 Posted February 26, 2009 (edited) 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-трафика, например. Edited February 26, 2009 by cMex Вставить ник Quote
terrible Posted February 26, 2009 Author Posted February 26, 2009 сегодня вечером подниму внешний пул из 10 адресов, посмотрю как будет в таком ракурсе работать Вставить ник Quote
Stak Posted February 26, 2009 Posted February 26, 2009 Да уже от таймаутов должно было полегчать. Ещё есть волшебные команды вроде этих: ip nat translation timeout ХХХ ip nat translation tcp-timeout ХХХ ip nat translation udp-timeout ХХХ ip nat translation max-entries all-host ХХХ Имейте в виду также то, что при трансляции на пул адресов теоретически обмен трафиком от одного и того же клиента на один и тот же узел может придти от разных адресов, что может быть критично для HTTP-трафика, например.В чём критичность то? Тема не раскрыта))если клиент пойдёт например на ххх.ру с одним адресом, а на следующую тцп сессию на ууу.ру с другим - в чём проблема то??? Вставить ник Quote
cMex Posted February 26, 2009 Posted February 26, 2009 (edited) Вообще, действительно, по физике процесса проблем не будет. Если xxx.ru и yyy.ru., то проблем нет. А вот если, например, форум в интернете сохраняет куки сессий пользователю с сохранением адреса входа, то при следующем коннекте мы можем получить окно ввода логина снова. Но это частности, в этом случае используется не пул, а разные access-list кого/куда натить. Edited February 26, 2009 by cMex Вставить ник Quote
Stak Posted February 26, 2009 Posted February 26, 2009 В таком случае как вы описали пожалуй что действительно возможно) Хотя имхо не критично. Вставить ник Quote
cMex Posted February 26, 2009 Posted February 26, 2009 (edited) У каждого свои критерии критичности, поэтому я и написал: ...что может быть критично для HTTP-трафика, например.«Предупрежден — значит вооружен». Edited February 26, 2009 by cMex Вставить ник Quote
AN111 Posted February 26, 2009 Posted February 26, 2009 таймауты пока поставил такие: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 не нужен Вставить ник Quote
terrible Posted February 26, 2009 Author Posted February 26, 2009 установил таймауты, как и советует AN111 прописал пул /28 на всякий случай, думаю пока хватит прописал маршрут на этот пул с вышестоящего L3 на яндекс вылезаю уже под IP из пула, не gi полёт вроде нормальнный, сообщение может быть поправлю по результатам теста Вставить ник Quote
chainick Posted February 26, 2009 Posted February 26, 2009 Да нормально РАТ отработает, ни разу еще с ним проблем не было, в отличие от нат-пулов (на asa). А вот тюнинг таймаутов вас действительно спасет. Вставить ник Quote
Nic Posted February 26, 2009 Posted February 26, 2009 В таком случае как вы описали пожалуй что действительно возможно) Хотя имхо не критично. Например, аська не работает. Она любит делать 2 коннекта, и если они уходят с разных ипов - не соединяется. Так что не советую натить в пул. Вставить ник Quote
terrible Posted February 27, 2009 Author Posted February 27, 2009 Nic, так и есть, аська периодически отваливается Результаты: Total active translations: 90940 (0 static, 90940 dynamic; 90928 extended) Сервис работает нормально! Выражаю благодарность: AN111 cMex Stak Походу дела моя проблема решена, спасибо! Вставить ник Quote
cMex Posted February 27, 2009 Posted February 27, 2009 Чтобы избежать проблем прислушайтесь к моему совету и совету Nic, используйте отдельный адрес для NAT блоков ваших серых адресов, т. е., например, 10.0.0.0/24 на 172.31.0.1, 10.0.1.0/24 на 172.31.0.2 и т. д. Это поможет вам избежать диагностирования проблем, о которых к примеру тоже было написано. Я рад, что вы решили проблему, успеха вам в решении задач. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.