这部分看完之后. 我又被 ipsec相关的复杂程度折磨到了. 结论还是相当痛苦的.... 不过还是先写一下可能通的设置.最后说一下感觉到的问题.
------------------------
最简单的. 没有NAT 存在只有路由的网络结构. 先写一下配置.
# cat /etc/racoon/racoon.conf
log notify;
path pre_shared_key "/etc/racoon/psk.txt";
path certificate "/etc/racoon/certs";
listen {
adminsock disabled;
}
timer
{
natt_keepalive 10 sec;
}
remote anonymous {
exchange_mode main ;
generate_policy on;
nat_traversal off;
dpd_delay 20;
proposal {
encryption_algorithm 3des;
hash_algorithm md5;
authentication_method pre_shared_key;
dh_group 19; #modp1024;
}
}
sainfo anonymous {
encryption_algorithm aes, blowfish, twofish, 3des, des;
authentication_algorithm hmac_sha1, hmac_md5;
compression_algorithm deflate;
}
# cat /home/responder
spdadd 192.168.125.10[l2tp] 0.0.0.0/0 udp -P out ipsec esp/transport//require;
spdadd 0.0.0.0/0 192.168.125.10[l2tp] udp -P in ipsec esp/transport//require;
# cat /home/responder |setkey -c
# cat /etc/racoon/psk.txt
* jqka12345
#racoon -F -d -v -L
------------------------
# cat /etc/xl2tpd/xl2tpd.conf
[global]
access control = no
[lns default]
ip range = 192.168.200.100-192.168.200.110
local ip = 192.168.200.10
require authentication = yes
require chap = yes
refuse pap = yes
length bit = yes
name = l2tpd
pppoptfile = /etc/ppp/xl2tpd-options
# cat /etc/ppp/xl2tpd-options
auth
nodefaultroute
proxyarp
require-chap
ms-dns 8.8.8.8
ms-dns 8.8.4.4
require-mschap-v2
require-mschap
# xl2tpd -c /etc/xl2tpd/xl2tpd.conf -s /etc/ppp/xl2tpd-options -D
-----------------------
感觉有些没有前途. 问题还是出现在ipsec的复杂性. nat-t ,客户端使用的参数...
第一次设置最简单的. windows2003 ipsec/l2tp , 无nat-t , exchange_mode main , pre_shared_key , ph1 3des, ph2 3des,dh_group 2 .
这是可能连接通的. 其实最开始我想使用更高级的加密算法. 没能实现. 因为racoon说 加密方式和对端是对不上的. 最后用上面的参数连通了.
第二次. 想试一下 nat-t 没有连接上. 出错有点儿神奇. 先停下来继续看别的设置地.
第三次. 试了一下 windows 8.1 ipsec/l2tp, 无nat-t. 可是...在ph1时. 我得到了这几行 error
invalid DH group 20.
invalid DH group 19.
no suitable proposal found.
我当前使用的 racoon只支持到了 dh_group 18. 应该是没有办法继续.
最后我的想法.
不只是windows有不同时期的版本. 应该还要看 android, ios,mac os 的各个版本(这里先不说网络设置,因为我对这些没有了解.). ipsec中可以调整的参数也太复杂.
想支持各个操作系统是不可能的. 想想这样的接入有点儿没有前途...至少是会折磨死人.
这段看的东西有点儿受打击. 这也是 ipsec协议复杂性的一个问题.
我不是太确实,但过 nat我感觉还是不太容易.
下面我再看看 linux之间的 roadwarrior ? 迷糊地.