Описывается случай для соединения типа сеть-сеть и 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";
В пакете два основных модуля:
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
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.
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
Можно еще настроить logrotate, чтобы файл журнала периодически обновлялся.
Необходимо еще настроить iptables, чтобы firewall пропускал на вход из внешней сети только нужные пакеты.
-A INPUT -p udp --dport 500 -j ACCEPT
-A INPUT -p esp -j ACCEPT
-A INPUT -p ah -j ACCEPT
Коментарі
Дописати коментар