Добрый день
Необходимо построить зашифрованный канал до конторы:Исходники (адреса вымышленные:-)):
сеть источника (source network) 10.11.11.0/24
ресурс (destination host) 10.22.22.22 tcp 80
терминатор туннеля со стороны конторы 222.222.222.222
Есть линкус машина с двумя сетевуха
1. eth0 смотриn в локальную сеть(192.168.0.10)
2. eth1 в интернет (111.111.111.111.)
на ней поднять файрвол (iptables),nat,proxy
через неё пользователи попадаю в инет, и через неё ходит почта к внутреннему exchange srv и обратно
Работа:
Поднял ipsec (racoon)
прописал ключь в psk.txt
222.222.222.222 ключь
прописал правила в ipsec.rules
spdadd 10.11.11.0/24 10.22.22.22/32 any -P out ipsec
esp/tunnel/111.111.111.111-222.222.222.222/require;
spdadd 10.22.22.32/32 10.11.11.0/24 any -P in ipsec
esp/tunnel/222.222.222.222-111.111.111.111/require;
файл racoon.conf
log debug;
#path include "/etc/racoon";
path pre_shared_key "/etc/racoon/psk.txt";
#path certificate "/etc/racoon/certs";
remote anonymous
{
exchange_mode aggressive,main;
doi ipsec_doi;
lifetime time 4 hour;
situation_identity_only;
generate_policy on;
proposal_check obey;
# my_identifier address;
proposal {
encryption_algorithm 3des;
hash_algorithm sha1;
authentication_method pre_shared_key;
dh_group 2;
}
}
sainfo anonymous
{
pfs_group 2;
lifetime time 4 hour ;
encryption_algorithm 3des ;
authentication_algorithm hmac_sha1, hmac_md5 ;
compression_algorithm deflate ;
}
запускаю racoon
/usr/sbin/racoon -f /etc/racoon/racoon.conf -l /var/log/racoon.log
загружаю политики
setkey -f /etc/racoon/ipsec.rules
лог:
2006-05-22 11:32:48: INFO: main.c:175:main(): @(#)This product linked OpenSSL 0.9.7a Feb 19 2003 (http://www.openssl.org/)
2006-05-22 11:32:48: DEBUG: algorithm.c:610:alg_oakley_dhdef(): hmac(modp1024)
2006-05-22 11:32:48: DEBUG: pfkey.c:2246:pk_checkalg(): compression algorithm can not be checked because sadb message doesn't support it.
2006-05-22 11:32:48: DEBUG: grabmyaddr.c:389:grab_myaddrs(): my interface: 127.0.0.1 (lo)
2006-05-22 11:32:48: DEBUG: grabmyaddr.c:389:grab_myaddrs(): my interface: 192.168.0.10 (eth0)
2006-05-22 11:32:48: DEBUG: grabmyaddr.c:389:grab_myaddrs(): my interface: 111.111.111.111 (eth1)
2006-05-22 11:32:48: DEBUG: grabmyaddr.c:676:autoconf_myaddrsport(): configuring default isakmp port.
2006-05-22 11:32:48: DEBUG: grabmyaddr.c:698:autoconf_myaddrsport(): 3 addrs are configured successfully
2006-05-22 11:32:48: INFO: isakmp.c:1362:isakmp_open(): 111.111.111.111[500] used as isakmp port (fd=6)
2006-05-22 11:32:48: INFO: isakmp.c:1362:isakmp_open(): 192.168.0.10[500] used as isakmp port (fd=7)
2006-05-22 11:32:48: INFO: isakmp.c:1362:isakmp_open(): 127.0.0.1[500] used as isakmp port (fd=8)
2006-05-22 11:32:48: DEBUG: pfkey.c:194:pfkey_handler(): get pfkey X_SPDDUMP message
2006-05-22 11:32:48: DEBUG: pfkey.c:194:pfkey_handler(): get pfkey X_SPDDUMP message
2006-05-22 11:32:48: DEBUG: policy.c:183:cmpspidxstrict(): sub:0xbfffc800: 10.11.11.0/24[0] 10.22.22.22/32[0] proto=any dir=out
2006-05-22 11:32:48: DEBUG: policy.c:184:cmpspidxstrict(): db :0x80a6320: 10.22.22.22/32[0] 10.11.11.0/24[0] proto=any dir=in
вопрос какие правила в iptables, nat или dnat нужно прописать чтобы юзеры с локальной сети (192.168.0.0) заходя на 10.22.22.22 по порту 80 работали через тунель ipsec?