Перейти до основного вмісту

Настройка Ipsec между CentOS 5 и CiscoASA

Описывается случай для соединения типа сеть-сеть и pre-shared key.Необходимо установить пакет ipsec-tools.
В пакете два основных модуля:
Racoon –демон для управления ключами Internet Key Exchange (IKE) для обеспечения безопасности связи с другими хостами.
Setkey- добавляет, обновляет записи Security Policy Database (SPD) и Security Association Database (SAD).

Настройка отличается от чаще всего описываемой, например в

http://metalcandy.ru/how-to-forge-centos/369-centos-5-configuring-the-ipsec-tunnel?start=1
или
http://opennet.ru/tips/info/2408.shtml
или
http://eddnet.org/?p=1709
или
http://www.centos.org/docs/5/html/5.2/Deployment_Guide/s2-ipsec-net2net-cfg.html
Необходимо настроить адреса сетевых интерфейсов c помощью ifconfig или ручного редактирования конфигурационных файлов ifcfg-ethX в /etc/sysconfig/network-scripts.
В нашем случае задаем адреса как
Локальный сетевой интерфейс - 192.1.1.1
Внешний сетевой интерфейс - 192.99.99.3
Противоположное внешнее устройство будет иметь адрес 192.99.99.1

После этого нужно перезапустить каждый интерфейс с помощью

If-down ethX
If-up ethX


Необходимо указать 
в /etc/sysctl.conf, что пакеты будут маршрутизироваться net.ipv4.ip_forward=1
(Другие варианты указаны в 
http://www.ducea.com/2006/08/01/how-to-enable-ip-forwarding-in-linux/)
Необходимо настроить /etc/setkey.conf
#!/sbin/setkey -f
flush;
spdflush;
spdadd 192.1.1.0/24 192.1.1.1 any -P in none;
spdadd 192.1.1.1 192.1.1.0/24 any -P out none;
spdadd 192.1.1.0/24 0.0.0.0/0 any -P out ipsec esp/tunnel/192.99.99.3-192.99.99.1/require;
spdadd 0.0.0.0/0 192.1.1.0/24 any -P in ipsec esp/tunnel/192.99.99.1-192.99.99.3/require;


Необходимо настроить etc/racoon/racoon.conf

# Racoon IKE daemon configuration file.
# See 'man racoon.conf' for a description of the format and entries.
path include "/etc/racoon";
path pre_shared_key "/etc/racoon/psk.txt";
path certificate "/etc/racoon/certs";
log notify;
#log debug;
# "padding" defines some padding parameters. You should not touch these.
padding
{
maximum_length 20; # maximum padding length.
randomize off; # enable randomize length.
strict_check off; # enable strict check.
exclusive_tail off; # extract last one octet.
}
# if no listen directive is specified, racoon will listen on all
# available interface addresses.
listen
{
isakmp 192.99.99.3 [500];
}
# Specify various default timers.
timer
{
# These value can be changed per remote node.
counter 5; # maximum trying count to send.
interval 20 sec; # maximum interval to resend.
persend 1; # the number of packets per send.
# maximum time to wait for completing each phase.
phase1 30 sec;
phase2 15 sec;
}
sainfo anonymous
{
pfs_group 1;
lifetime time 28800 sec;
encryption_algorithm 3des;
authentication_algorithm hmac_sha1;
compression_algorithm deflate;
}
include "/etc/racoon/192.99.99.1.conf";


Файл /etc/racoon/192.99.99.1.conf
remote 192.99.99.1
{
exchange_mode aggressive, main;
my_identifier address 192.99.99.3;
initial_contact on;
proposal {
encryption_algorithm 3des;
hash_algorithm sha1;
authentication_method pre_shared_key;
dh_group 1;
}
}


Файл /etc/raccoon/psk.txt с паролем аналогичным на противоположной стороне.

192.99.99.1 password

Права на этот файл обязательно нужно задать
chmod 700 /etc/raccoon/psk.txt
Добавить файл ipsec в /etc/init.d для запуска при старте роутера
#!/bin/sh
# description: Ipsec to cisco asa
case "$1" in
'start')
setkey -f /etc/setkey.conf
racoon -f /etc/racoon/racoon.conf -l /var/log/racoon
touch /var/lock/subsys/Ipsec
;;
'stop')
rm -f /var/lock/subsys/Ipsec
;;
*)
echo "Usage: $0 { start | stop }"
;;
esac
exit 0

После этого запустить ipsec из /etc/init.d.

 Журнал сообщений об ошибках находится в /var/log/racoon.log.
Можно еще настроить logrotate, чтобы файл журнала периодически обновлялся.

Необходимо еще настроить iptables, чтобы firewall пропускал на вход из внешней сети только нужные пакеты.

-A INPUT -p udp --dport 500 -j ACCEPT
-A INPUT -p esp -j ACCEPT
-A INPUT -p ah -j ACCEPT


Коментарі

Популярні дописи з цього блогу

Подключение Cisco 7911/7912 по SIP к Asterisk

Аппарат Cisco IP Phone 7911 по-умолчанию настроен на использование протокола SCCP. Можно в Asterisk указать использование модулей SCCP, но для единообразия удобнее использовать SIP. Для использования протокола SIP в аппарате Cisco 7911 нужно обновить программное обеспечение.  Код обновления для загрузки в аппарат нужно скачать с сервера Cisco: http://tools.cisco.com/support/downloads/pub/Redirect.x?mdfid=278875240 Самое последнее обновление (на данный момент версия 9.3) может не работать c Asterisk, с  версии 9.X Cisco переходит на использование только TCP для SIP соединений. Поэтому для использования UDP удобнее скачать обновление версии 8.5.2 или 8.5.4. Может понадобится  вначале   установить обновление 8.5.2, а затем 8.5.4. Например, для обновления с SCCP11.8-2-2SR-4S надо вначале установить 8.5.2 Обновление будет производится с сервера  TFTP, поэтому д ля начала нужно настроить сервер DHCP, TFTP. Причем в DHCP нужно настроить опцию 150, которая используется для указания аппа

Панель инструментов Remmina в полноэкранном режиме Ubuntu 12.04

Пакет Remmina 0.9.99 (протокол RDP) в системе Ubuntu 12.04 используется как клиент для доступа к терминальному серверу. Обнаружено странное поведение панели инструментов в полноэкранном режиме на терминальном сервере- панель инструментов исчезает и невозможно перейти в другое окно или закрыть сеанс. Для сворачивания окна можно использовать комбинацию клавиш CTRL+F9. Комбинации клавиш задаются в настройках Remmina, а CTRL нужно, чтобы комбинацию не перехватил терминальный сервер. В настройках Remmina есть параметр "Спрятать панель инструментов в полноэкранном режиме". Но иногда, даже если не указан этот параметр, меню не отображается. Можно, не закрывая терминальную сессию, изменить этот параметр на противоположный и после возврата в сессию, меню начнет появляться. В следующий раз перед открытием новых сессий в Remmina нужно правильно указать значение этого параметра. Размер иконок в панели инструментов можно изменить через основное меню Remmina

Изменение размера бумаги LibreOffice(OpenOffice)

Если при установке Ubuntu указать локаль «USA», то размер бумаги по-умолчанию установится «Letter». Если потом через «Система- Администрирование- Локализации» изменить локаль на «Украинский» («Русский»), изменится язык системы, формат даты, но размер бумаги по-умолчанию и единица измерения останутся прежними.  Совет нашел в http://www.nixp.ru/recipes/%D0%9A%D0%B0%D0%BA-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C-%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80-%D0%B1%D1%83%D0%BC%D0%B0%D0%B3%D0%B8-%D0%B2-OpenOffice-org-%D0%BF%D0%BE-%D1%83%D0%BC%D0%BE%D0%BB%D1%87%D0%B0%D0%BD%D0%B8%D1%8E-%28libpaper%29.html Нужно в терминале запустить sudo dpkg-reconfigure libpaper1 В открывшемся списке выбрать формат А4. Можно напрямую в файле конфигурации (/etc/papersize) указать размер А4. Проверить можно в LibreOffice(OpenOffice) через меню «Формат-Страница». Еще в LibreOffice(OpenOffice) нужно изменить единицу измерения через «Сервис- Параметры- LibreOffice Writer- Общие»