|
|
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, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+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, zentarim
Wi-FI роутер + DHCP + DNS
Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT
В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat
Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp
Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration
Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast 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, m4rkell
Syslog server
Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs
Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec
Описание принципов работы IPSEC и способов аутентификации.
2010-12-07, manefesto
FreeBSD on flash
Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
2010-12-05, Fomalhaut
root ZFS, GPT
Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
2010-09-05, Cancer
Настройка аудиоплеера на ximp3
Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
2010-08-31, Cancer
Установка и настройка OpenVPN
На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
2010-08-25, manefesto
freebsd lvm
Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
2010-04-30, gonzo111
proftpd file auth"a
Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
2010-04-22, lissyara
tw_cli
Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
2010-04-14, fox
MySQL Master+Master
MySQL (Master Master) and (Master Slave) Как настроить репликацию…
2010-03-09, terminus
DNS zones
Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон.
|
Комментарии пользователей [5 шт.]