RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
IP-in-IP тунель с IPSEC между CISCO и FreeBSD [2009]
Захотелось вставить свои 5коп. в тему поднятия шифрованых IPSEC'ом тунелей между CISCO роутерами и FreeBSD, потому как тема описывалась уже не один раз, но в большинстве статей встречались неточности которые иногда просто противоречили здравому смыслу.
Итак имеем:
1. Маршрутизатор Cisco 2801 с прошивкой c2801-advipservicesk9-mz.124-23.bin и реальным IP 1.1.1.1 2. Маршрутизатор FreeBSD 7.1 с установленым ipsec-tools-0.7.1 и реальным IP 2.2.2.2
1. Конфигурация на роутере Cisco:
crypto isakmp policy 1 encr aes authentication pre-share group 2 lifetime 3600 crypto isakmp key SECRETKEY address 2.2.2.2 ! ! crypto ipsec transform-set AES-SHA1 esp-aes esp-sha-hmac ! ! crypto map CENTRAL 1 ipsec-isakmp set peer 2.2.2.2 set transform-set AES-SHA1 set pfs group2 match address 101 ! access-list 101 permit ipinip host 1.1.1.1 host 2.2.2.2 ! interface Tunnel0 ip address 10.10.10.253 255.255.255.252 tunnel source 1.1.1.1 tunnel destination 2.2.2.2 tunnel mode ipip ! interface FastEthernet0/0 ip address 1.1.1.1 255.255.255.252 duplex auto speed auto crypto map CENTRAL !
2. Конфигурация на ротере с FreeBSD:
Описывать конфигурацию ядра для gif-тунелей и IPSEC'а не буду, так как тема уже избитая (для тех кто не в теме - загляните в HandBook в конце концов!)
spdadd 2.2.2.2/32 1.1.1.1/32 ipencap -P out ipsec esp/tunnel/2.2.2.2-1.1.1.1/require; spdadd 1.1.1.1/32 2.2.2.2/32 ipencap -P in ipsec esp/tunnel/1.1.1.1-2.2.2.2/require;
Хочу отметить что в этом примере шифруется только инкапсулированый IP-in-IP трафик, то есть если вдруг возникнут сбои с согласованием шифрования, а возможность того что с первого раза может и не получится всё-таки есть, достучаться до роутера по SSH на реальный IP у вас получится ;)