Один из клиентов для периодического мониторинга и помощи в настройке оборудования выдал два аккаунта pptp, но с маленькой оговоркой: не проходят 2 одновременных подключения с одного аккаунта (логично), не проходят 2 подключения с одного IP. Так как часто случается, что в чужой сетке должны одновременно ковыряться 2-3 инженегра, сначала извращались с NAT'ом через виндовую машину, подключенную по одному акку, потом решили настроить клиента на пограничной циске и изобразить периодичность работы - клиент коннектится с 9 по 21 по будним дням. Доступ в 4 подсети клиента (10.4.0.0/16, 10.5.0.0/16, 10.10.0.0/16, 10.11.100.0/24) требовался из 2х подсетей (192.168.215.0/24, 192.168.221.0/24). В результате получился такой конфиг:
ip access-list extended NAT
73 deny ip 192.168.221.0 0.0.0.255 10.4.0.0 0.0.255.255
74 deny ip 192.168.221.0 0.0.0.255 10.5.0.0 0.0.255.255
75 deny ip 192.168.221.0 0.0.0.255 10.10.0.0 0.0.255.255
76 deny ip 192.168.221.0 0.0.0.255 10.11.100.0 0.0.0.255
77 deny ip 192.168.215.0 0.0.0.255 10.4.0.0 0.0.255.255
78 deny ip 192.168.215.0 0.0.0.255 10.5.0.0 0.0.255.255
79 deny ip 192.168.215.0 0.0.0.255 10.10.0.0 0.0.255.255
69 deny ip 192.168.215.0 0.0.0.255 10.11.100.0 0.0.0.255
! убираем нужные подсети из общего NAT'а
Теперь включаем недокументированную функция IOS service internal и настраиваем параметры vpdn с Dialer интерфейсом:
service internal
no service pass
!
no ip gratuitous-arps
!
ip multicast-routing
!
vpdn enable
!
vpdn-group 2
request-dialin
protocol pptp
rotary-group 1 ! указываем номер Dialer интерфейса
initiate-to ip xxx.xxx.xx1.xxx ! адрес PPTP сервера
!
interface Dialer1
dialer in-band ! ВАЖНО, чтобы этот параметр при настройке шел первым
mtu 1450
ip address negot ! получаем адрес от сервера
ip nat out ! будем NAT'ить через полученный адрес наши подключения
ip pim dense-mode
encapsulation ppp
dialer idle-timeout 0
dialer string 123
dialer vpdn
dialer-group 2 ! указываем vpdn группу
no cdp enable
no peer neighbor-route ! не даем передать нам с PPTP сервера дефолтный маршрут
ppp pfc local request
ppp pfc remote apply
ppp encrypt mppe auto
ppp chap hostname USERNAME
ppp chap password 0 PASSWORD
!
dialer-list 1 protocol ip permit
Проверяем. произошло ли подключение и получен ли адрес (sh ip int brie)
Теперь необходимо прописать маршруты в нужные подсети и NAT'ить наши обращения туда (так как с другой стороны железо не знает о маршрутах в наши подсети).
ip route 10.4.0.0 255.255.0.0 dial 1
ip route 10.5.0.0 255.255.0.0 dial 1
ip route 10.10.0.0 255.255.0.0 dial 1
ip route 10.11.100.0 255.255.255.0 dial 1
! сети доступны через интерфейс Dialer1
ip access ext FIRM_NAT_PPTP
permit ip 192.168.221.0 0.0.0.255 10.4.0.0 0.0.255.255
permit ip 192.168.221.0 0.0.0.255 10.5.0.0 0.0.255.255
permit ip 192.168.221.0 0.0.0.255 10.10.0.0 0.0.255.255
permit ip 192.168.221.0 0.0.0.255 10.11.100.0 0.0.0.255
permit ip 192.168.215.0 0.0.0.255 10.4.0.0 0.0.255.255
permit ip 192.168.215.0 0.0.0.255 10.5.0.0 0.0.255.255
permit ip 192.168.215.0 0.0.0.255 10.10.0.0 0.0.255.255
permit ip 192.168.215.0 0.0.0.255 10.11.100.0 0.0.0.255
!
ip nat inside source list FIRM_NAT_PPTP int Dial 1 over
Теперь обращения из наших подсетей успешно доходят до нужных хостов и есть возвратный трафик.
Чтобы подключение не висело постоянно, через Embeded Event Manager (EEM) настроим включение/выключение интерфейса по таймеру:
event manager applet FIRM_PPTP_START
event timer cron name FIRM_STRT cron-entry "0 9 * * 1-5"
action 1.0 cli command "enable"
action 2.0 cli command "conf t"
action 3.0 cli command "int dial 1"
action 4.0 cli command "no shu"
!
event manager applet FIRM_PPTP_STOP
event timer cron name FIRM_STOP cron-entry "0 21 * * 1-5"
action 1.0 cli command "enable"
action 2.0 cli command "conf t"
action 3.0 cli command "int dial 1"
action 4.0 cli command "shu"
Небольшая ремарка по синтаксису условия (event timer cron): параметр cron-entry записывается в кавычках (в документации на cisco.com эта особенность была упущена). Обозначение параметра "0 9 * * 1-5" - 0 минут 9 часов * любой день * любой месяц 1-5 день недели с понедельника по пятницу (нумерация с 0 до 6, где 0 - воскресение, а 6 - суббота).
пятница, 1 октября 2010 г.
Подписаться на:
Сообщения (Atom)