| 
 
 
   |   |  www.lissyara.su—> статьи—> Cisco—> IPSEC over GRE with RIP
 
 Cisco IPSEC over GRE with RIP on ADSL
Автор: m0ps.
 
   ПРЕДИСЛОВИЕ: Тема довольно-таки избитая, поэтому в начале думал просто написать себе шпаргалку, но потом решил что вдруг еще кому-то сгодиться. За основу взято эту статью.ЗАДАЧА:
 Допустим, есть 2 территориально разнесенных офиса, в каждом из которых есть ADSL канал со статическим ip. Необходимо объединить их, обеспечив шифрование передающейся информации а также настроить динамический роутинг, дабы не париться каждый раз с маршрутами в ручную :)
 РЕШЕНИЕ:
 Для начала немного подробностей:
 1) В моем случае связь между отделениями существенна через MPLS от УТ, но данная конфигурация должна без проблем работать если в качестве транзитной сети будет выступать интернет либо выделенная линия.
 2) Оборудование - два Cisco ISR 857 с c850-advsecurityk9-mz.124-15.T7.bin IOS'ами.
 3) Многие удивляться, почему я выбрал RIP? Ну во первых так сложилось исторически, а во вторых это единственный протокол, поддерживаемый всеми устройствами в сети. Конфигурацию рипа можно с с легкостью заменить на OSPF.
 4) Сеть за первым роутером - 172.16.1.0/24 внутренний ip 172.16.1.254/24 внешний ip статический, но выдается провайдером - 10.10.10.1/24. Сеть за вторым роутером - 172.16.2.0/24 внутренний ip 172.16.2.254/24, внешний ip статический, но выдается провайдером - 10.10.10.2/24. IP адреса туннельных интерфейсов (Tunnel0) - 172.16.254.1/30 и 172.16.254.2/30
 И так приступим... Для начала необходимо произвести базовые настройка маршрутизатора. Для этого подключаемся через консольный кабель, запускаем putty и подключаемся к serial порту к которому подключён кабель (скорее всего будет COM1). Не забываем произвести правильные настройки putty:
 
 
		
| Speed:		9600
Data bits:	8
Stop bits:	1
Parity:		None
Flow control:	None
 |  После включения маршрутизатора на экране должен отображаться процесс загрузки. Увидев приглашение, нажимаем Enter и вводим дефолтные логин (cisco) и пароль (cisco). В ответ получаем приглашение командной строки:
 Переходим в привилегированный режим, в котором выполняются все основные операции,  следующей командой:
 Далее можно сразу приступить к конфигурированию маршрутизатора, но я предпочитаю очищать дефолтный конфиг и настраивать с ноля. Для этого выполняем следующую команду и перегружаем роутер:
 
		
| Router#erase startup-config
Router#reload
 |  Далее подтверждаем желание перегрузиться и ждем…В процессе загрузки маршрутизатор предложит войти в меню автоматической конфигурации, но мы вежливо отказываемся, ответив на вопрос no и дождавшись полной загрузки снова входим в привилегированный режим  (на это раз вводить логин и пароль не нужно). Для входа в меню конфигурации роутера вводим команду:
 
 
		
| Router#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#
 |  Задаем имя роутера и доменное имя.
 
		
| Router(config)#hostname R1
R1(config)#ip domain-name mydomain
 |  Также добавляем пользователя:
 
		
| R1(config)#username user privilege 15 password mypass
 |  Теперь необходимо обеспечить элементарную безопасность роутера включив шифрование паролей, установив пароли на терминальное подключение и привилегированный режим а также включив ssh, который понадобиться в дальнейшем для управления маршрутизатором.
 
		
| R1(config)#service password-encryption
R1(config)#line con 0
R1(config-line)#password mypassword
R1(config-line)#login
R1(config-line)#exit
R1(config)#enable secret mysecretpass
R1(config)#crypto key generate rsa
R1(crypto key generate rsa)#1024
R1(config)#ip ssh time-out 120
R1(config)#ip ssh authentication-retries 3
R1(config)#line vty 0 4 
R1(config-line)#transport input ssh
R1(config-line)#login local
 |  Также за ненадобностью отключаем возможность управление роутером через SDM а так же протокол CDP:
 
		
| R1(config)#no ip http server
R1(config)#no ip http secure-server
R1(config)#no cdp run
 |  Если нужно, включаем SNMP, задав read-only commynity:
 
		
| R1(config)#snmp-server community MY_COMMYNITY RO
 |  Настраиваем отправку логов на внешний syslog-сервер:
 
		
| R1(config)#logging origin-id hostname
R1(config)#logging source-interface Vlan1
R1(config)#logging 172.16.1.200
 |  Дальше настроим автоматическое резервное копирование файлов конфигурации на ftp сервер. Для начала зададим имя пользователя и пароль для ftp:
 
		
| R1(config)#ip ftp username cisco
R1(config)#ip ftp password mypassword
 |  Теперь настроим само резервирование:
 
		
| R1(config)#archive
R1(config-archive)#log config
R1(config-archive-log-cfg)#hidekeys
R1(config-archive)#path ftp://172.16.1.200/cisco-backups/$h-%t
R1(config-archive)#write-memory
 |  Теперь при сохранении конфигурации командой write-memory, startup config автоматически будет копироваться на ftp сервер.Теперь приступим к конфигурированию интерфейса, смотрящего в локальную сеть и ADSL подключения к провайдеру. Для начала локальный интерфейс, в случае с Cisco 857 надо назначить ip единственному влану - Vlan1:
 
 
		
| R1(config)#interface Vlan1
R1(config-if)#description Localnet IP for FA ports
R1(config-if)#ip address 172.16.1.254 255.255.255.0
R1(config-if)#ip tcp adjust-mss 1360
 |  Все, теперь можно управлять маршрутизатором через ssh подключившись к ip 172.16.1.254, подключив роутер к сети. Об ip tcp adjust-mss 1360 будет написано ниже.Теперь переходим к настройке подключения к провайдеру.
 
 
		
| R1(config)#interface atm0
R1(config-if)#description Connectet to Ukrtelecom's DSLAM
R1(config-if)#no ip address
R1(config-if)#logging event atm pvc state
R1(config-if)#pvc 1/32
R1(config-if-atm-vc)#encapsulation aal5snap
R1(config-if-atm-vc)#pppoe-client dial-pool-number 1
R1(config-if-atm-vc)#exit
R1(config)#interface Dialer0
R1(config-if)#description ISP PPPoE
R1(config-if)#ip address negotiated
R1(config-if)#ip nat outside
R1(config-if)#ip mtu 1492
R1(config-if)#encapsulation ppp
R1(config-if)#dialer pool 1
R1(config-if)#ppp authentication pap callin
R1(config-if)#ppp pap sent-username ppplogin@dsl.ukrtel.net password ppppass
 |  И добавим маршрут по умолчанию:
 
		
| R1(config)#ip route 0.0.0.0 0.0.0.0 Dialer0
 |  Все, теперь можно приступать к настройке IPSEC over GRE. Для начала настроим isakmp policy, а также зададим pre-share key:
 
		
| R1(config)#crypto isakmp policy 10
R1(config-isakmp)#encr aes
R1(config-isakmp)#hash md5
R1(config-isakmp)#authentication pre-share
R1(config-isakmp)#lifetime 43200
R1(config)#crypto isakmp key KJLNFHDSU*&4fj address 10.10.10.2
 |  Теперь укажем transform-set и сконфигурируем криптомап и аксесс лист, для определения, какой трафик будет подвергнут шифрованию:
 
		
| R1(config)#crypto ipsec transform-set VPN esp-aes esp-md5-hmac
R1(cfg-crypto-trans)#mode transport
 |  
 
		
| R1(config)#crypto map main2branch 10 ipsec-isakmp
R1(config-crypto-map)#description Cryptomap Main to Branch Office
R1(config-crypto-map)#set peer 10.10.10.2
R1(config-crypto-map)#set transform-set VPN
R1(config-crypto-map)#match address 101
R1(config)#access-list 101 permit gre host 10.10.10.1 host 10.10.10.2
 |  И наконец создаем туннельный интерфейс:
 
		
| R1(config)#interface Tunnel0
R1(config-if)#description Tunnel interface to Branch Office
R1(config-if)#ip address 172.16.254.1 255.255.255.252
R1(config-if)#ip mtu 1400
R1(config-if)#tunnel source Dialer0
R1(config-if)#tunnel destination 10.10.10.2
 |  Тут хочу немного остановиться на значениях mtu, ибо часто именно из-за размера пакетов и возникают проблемы. Для начала хочу заметить, что на интерфейсе Dialer0 необходимо указать mtu равным 1492 байта, т.к. 8 бай используется для ADSL инкапсуляции. Дальше... на туннельном интерфейсе задаем mtu равным 1400 байт. Можно конечно и немного сэкономить и указать его равным 1412 байт, т.к. для IPSEC over GRE инкапсуляции потребуется как-раз 80 байт, но я предпочитаю указывать именно 1400. Спросите почему - а просто так, целое число :))). Ну и на конец, очень важно указать на интерфейсе, смотрящем в локальную сеть ip tcp adjust-mss 1360 (40 байт меньше чем на туннельном интерфейсе).И на конец, конфигурируем RIP:
 
 
		
| R1(config)#router rip
R1(config-router)#version 2
R1(config-router)#passive-interface Dialer0
R1(config-router)#network 172.16.0.0
 |  Тут стоит заметить, что внешний интерфейс необходимо сделать пассивным, дабы маршруты распространялись только через туннель.Ну и самое главное - применяем криптомап на интерфейсе Dialer0, для включения шифрования трафика:
 
 
		
| R1(config)#interface Dialer0
R1(config-if)#crypto map main2branch
 |  На этом вроде бы все. Конфигурация второго роутера аналогична, только не забываем указывать правильные ip адреса.Узнать состояние первой фазы IPSEC'a можно следующим образом:
 
 
		
| R1#sh crypto isakmp sa
IPv4 Crypto ISAKMP SA
dst             src             state          conn-id slot status
10.10.10.2      10.10.10.1      QM_IDLE        2001    0    ACTIVE
IPv6 Crypto ISAKMP SA
 |  Состояние второй фазы можно узнать следующей командой:
 
		
| R1#sh crypto ipsec sa int dialer 0
interface: Dialer0
    Crypto map tag: main2branch, local addr 10.10.10.1
   protected vrf: (none)
   local  ident (addr/mask/prot/port): (10.10.10.1/255.255.255.255/47/0)
   remote ident (addr/mask/prot/port): (10.10.10.2/255.255.255.255/47/0)
   current_peer 10.10.10.2 port 500
     PERMIT, flags={origin_is_acl,}
    #pkts encaps: 37901, #pkts encrypt: 37901, #pkts digest: 37901
    #pkts decaps: 40587, #pkts decrypt: 40587, #pkts verify: 40587
    #pkts compressed: 0, #pkts decompressed: 0
    #pkts not compressed: 0, #pkts compr. failed: 0
    #pkts not decompressed: 0, #pkts decompress failed: 0
    #send errors 0, #recv errors 0
     local crypto endpt.: 10.10.10.1, remote crypto endpt.: 10.10.10.2
     path mtu 1492, ip mtu 1492, ip mtu idb Dialer0
     current outbound spi: 0x3230B877(842053751)
     inbound esp sas:
      spi: 0xD32440DF(3542368479)
        transform: esp-aes esp-md5-hmac ,
        in use settings ={Transport, }
        conn id: 9, flow_id: Motorola SEC 1.0:9, crypto map: main2branch
        sa timing: remaining key lifetime (k/sec): (4470120/20481)
        IV size: 16 bytes
        replay detection support: Y
        Status: ACTIVE
     inbound ah sas:
     inbound pcp sas:
     outbound esp sas:
      spi: 0x3230B877(842053751)
        transform: esp-aes esp-md5-hmac ,
        in use settings ={Transport, }
        conn id: 10, flow_id: Motorola SEC 1.0:10, crypto map: main2branch
        sa timing: remaining key lifetime (k/sec): (4474852/20481)
        IV size: 16 bytes
        replay detection support: Y
        Status: ACTIVE
     outbound ah sas:
     outbound pcp sas:
 |  Не забываем после окончания настроек сохранить конфигурацию командной write.P.S. На этом все, если у кого есть какие замечания - милости прошу...
 
 Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?t=11386.
 
 
 
				
					| размещено: 2009-04-29,последнее обновление: 2009-07-01,
 автор: m0ps
 |  |  
 
 
   |   |   
 2014-07-27, lissyaragmirror
 Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
 2013-08-20, zentarimScan+Print server FreeBSD 9
 Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
 2011-11-20, BlackCatРазъём на WiFi-карту
 Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
 2011-09-14, manefestoНастройка git+gitosis
 Настройка системы контроля версия исходного кода в связке git+gitosis+ssh 
 2011-08-14, zentarimWi-FI роутер + DHCP + DNS
 Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
 2011-06-15, -ZG-Охранная система на FreeBSD+LPT
 В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
 2011-03-13, terminusng_nat
 Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
 2011-02-20, КапитанNagios+Digitemp
 Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
 2011-02-17, Le1Zyxel Configuration
 Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
 2011-02-16, foxhast carp zfs ucarp cluster
 HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
 2011-02-04, BlackCatВосстановление ZFS
 История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
 2011-02-03, Капитан1-Wire
 Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
 2011-01-28, КапитанТемпература в серверной
 Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
 2011-01-21, m4rkellSyslog server
 Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
 2011-01-07, lissyaraCanon/gphotofs
 Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
 2010-12-13, AlIPSec
 Описание принципов работы IPSEC и способов аутентификации.
 2010-12-07, manefestoFreeBSD on flash
 Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем  =)
 2010-12-05, Fomalhautroot ZFS, GPT
 Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
 2010-09-05, CancerНастройка аудиоплеера на ximp3
 Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
 2010-08-31, CancerУстановка и настройка OpenVPN
 На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
 2010-08-25, manefestofreebsd lvm
 Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
 2010-04-30, gonzo111proftpd file auth"a
 Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
 2010-04-22, lissyaratw_cli
 Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
 2010-04-14, foxMySQL Master+Master
 MySQL (Master Master) and (Master Slave) Как настроить репликацию…
 2010-03-09, terminusDNS zones
 Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон.
 
 | 
	
Комментарии пользователей [5 шт.]