Здравствуйте уважаемые.Господа, действительно и срочно нужна ваша помощь.
Уже не знаю куда обратиться, если честно :(
Проблема (с моей точки зрения) нетривиальная и пост будет большой и максимально подробный.
Итак, задача.
Заставить работать pptp через nat на cisco 3640
Далее конфигурация и описание проблемы.
Иос вот такой
Cisco Internetwork Operating System Software
IOS (tm) 3600 Software (C3640-IS-M), Version 12.2(24b), RELEASE SOFTWARE (fc1)
Конфиг (все, что касается pptp и nat)
ip cef
vpdn-group 2
! Default PPTP VPDN group
description VPN Clients
accept-dialin
protocol pptp
virtual-template 2
!
interface Loopback0
ip address 10.10.10.1 255.255.255.0 !!! Эта сеть натится. Т.е. когда юзер подключается по pptp radius сервер выдает ему адрес из этой сети
!
interface Ethernet0/0
description To Tele-Kom Network
ip address 10.10.100.1 255.255.255.0 secondary !!! В этой сети сидят пользователи. Это их локалка.
ip address A.B.C.D 255.255.255.128 !!! Это реальный адрес. Он используется юзерами для установки pptp сессии.
no ip redirects
no ip unreachables
no ip proxy-arp
ip nat outside
full-duplex
no cdp enable
!
interface Virtual-Template2
ip unnumbered Loopback0
no ip proxy-arp
ip mtu 1492
ip nat inside
ip route-cache flow
ip tcp header-compression
peer default ip address pool VPN
ppp authentication chap
ppp timeout retry 10
!
ip nat inside source list 10 interface Ethernet0/0 overload
access-list 10 permit 10.10.10.0 0.0.0.255
Теперь проблема.
Сам по себе нат работает. Все ок.
PPTP сам по себе тоже. Если радиусом я выдаю себе реальный адрес, то нат не используется и все ок.
Не работает именно в случае, когда я отдаю себе адрес из сети 10.10.10.0/24, которая как раз натится.
Как не работает:
При пинге от клиента любого хоста за циской происходит вот что
A.B.C.D - внешний интерфейс ната
a.b.c.d - хост, который я пингую
10.10.10.5 - адрес, выданный мне радиусом
#debug ip nat
Jan 23 11:43:33.965 MSK: NAT*: s=10.10.10.5->A.B.C.D, d=a.b.c.d [2997]
Jan 23 11:43:33.965 MSK: NAT*: s=a.b.c.d, d=A.B.C.D->10.10.10.5 [23362]
Т.е. видим, что от меня пакеты транслируются и уходят во вне нормально.
Далее echo-reply приходит от пингуемого хоста на циску и транслируется тоже нормально.
Но! До моей машины они не доходят. Умирают где-то по дороге.
Настройки клиентской машины:
Изначально (без pptp) так
Адрес 10.10.100.5
Маска 255.255.255.0
Шлюз A.B.C.D
После vpn подключения
Адрес 10.10.10.5
Маска 255.255.255.0
Шлюз 10.10.10.5 (не пойму почему, но думаю, что не суть важно)
Ну и еще немного справочной информации с циски
#sh u
Interface User Mode Idle Peer Address
Vi9 vpn_test Virtual PPP (PPTP ) 00:00:08 10.10.10.5
#sh ip nat st
Total active translations: 10 (0 static, 10 dynamic; 10 extended)
Outside interfaces:
Ethernet0/0
Inside interfaces:
Virtual-Template2, Virtual-Access9
Hits: 6643 Misses: 147
Expired translations: 135
Dynamic mappings:
-- Inside Source
[Id: 4] access-list 10 interface Ethernet0/0 refcount 10
NAS1#sh ip nat translations pptp
Pro Inside global Inside local Outside local Outside global
gre A.B.C.D:256 A.B.C.D:256 10.10.100.5:256 10.10.100.5:256
Вот это мне как-то не греет душу. Почему Outside local и Outside global попарно одинаковы
и там нигде нет моего клиентского адреса 10.10.10.5 ???
Но тут я уже не силен к сожалению =( но мне кажется, что не работает маршрутизация обратная.
Т.е. циска не знает куда кинуть оттранслированный пакет.
Очень вас прошу, подскажите пожалуйста в чем тут дело.
Если что-то забыл из дебагов или еще чего - обязательно покажу.
С нетерпение жду ответа.
Заранее спасибо.