更多VPN设置可以看我的[url=http://www.yoyotown.com/?cat=40]VPN专题;
[color=Red] * [/color][url=http://www.yoyotown.com/?p=224]ipsec-tools设置(又一IPSec VPN)
[color=Red] * [/color][url=http://www.yoyotown.com/?p=218]Openswan VPN安装设置
[color=Red] * [/color][url=http://www.yoyotown.com/?p=203]Open VPN安装设置
[color=Red] * SSL VPN的真正价值(转自ChinaUnix) [/color]
[color=Red] * VPN简介 [/color]
实现IPSec要求主机安装上安装 ipsec-tools RPM 软件包,Redhat一般默认安装。
rpm -qa |grep ipsec-tools
vpn
网络1和网络2想通过 IPsec 隧道来彼此连接。网络1的网络地址在 192.168.10.0/24 范围内,网络2使用 192.168.20.0/24 范围。网络1的网关 IP 地址是 192.168.10.1,网络2的网关地址是192.168.20.1。
每个网络间的 IPsec 连接使用一个值为 yoyotown.com 的预共享钥匙,网络1和网络2都同意让 racoon 自动生成和共享每个 IPsec 路由器之间的验证钥匙。网络1把 IPsec 连接命名为 ipsec0,而网络2把 IPsec 连接命名为 ipsec1。
以下是网络1的 IPsec 连接的 ifcfg 文件。在这个例子中用来识别该连接的独特名称是 ipsec0,因此其结果文件被命名为 /etc/sysconfig/network-scripts/ifcfg-ipsec0。
TYPE=IPSEC
ONBOOT=yes # 引导时激活
IKE_METHOD=PSK # 使用预共享密钥
SRCGW=192.168.10.10 # 源网关
DSTGW=192.168.20.10 # 目标网关
SRCNET=192.168.10.0/24 # 源网段
DSTNET=192.168.20.0/24 # 目标网段
DST=192.168.1.20 # 网络2VPN Server的外网IP
以下是预共享钥匙文件(叫做 /etc/sysconfig/network-scripts/keys-ipsecX,这里的 X 对网络1来说是0,对网络2来说是1),两个工作站都使用它来彼此验证。该文件的内容应该完全一致,并且只有root用户才应该有读写权。
IKE_PSK=yoyotown.com
改变 keys-ipsec0 文件的权限,只有root用户才有读写权。
chmod 600 /etc/sysconfig/network-scripts/keys-ipsec0
要在任何时候改变验证钥匙,编辑两个 IPsec 路由器上的 keys-ipsecX 文件。这两个钥匙必须 完全一致才能保证正确的连接性。
以下是 IPsec 连接的 /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”;
sainfo anonymous
{
pfs_group 2;
lifetime time 1 hour ;
encryption_algorithm 3des, blowfish 448, rijndael ;
authentication_algorithm hmac_sha1, hmac_md5 ;
compression_algorithm deflate ;
}
include “/etc/racoon/X.X.X.X.conf” # IPSec被激活时自动生成,X.X.X.X为远程VPN Server的外网IP
以下是连接到远程网络时生成的配置文件。该文件的名称为 X.X.X.X.conf。注意,一旦 IPsec 隧道被激活,该文件会被自动生成。
remote X.X.X.X
{
exchange_mode aggressive, main;
my_identifier address;
proposal {
encryption_algorithm 3des;
hash_algorithm sha1;
authentication_method pre_shared_key;
dh_group 2 ;
}
}
在启动 IPsec 连接前,内核中应该启用 IP 转发。在 shell 提示符下作为root用户来启用 IP 转发:
1.编辑 /etc/sysctl.conf,把 net.ipv4.ip_forward 设置为 1。
2.执行以下命令来启用改变:
sysctl -p /etc/sysctl.conf
以root用户身份启动 IPsec 连接:
service network restart
连接被激活,网络1和网络2能够彼此通信。
使用下面命令可以显示路由信息:
route -n
要测试 IPsec 连接,运行 tcpdump 工具来查看在主机(或网络)间传输的网络分组,并校验它们是否通过 IPsec 被加密了。分组应该包括 AH 头,而且应该被显示为 ESP 分组。ESP 意味着它被加密了。例如,要检查网络1的 IPsec 连接,键入:
tcpdump -n -i eth1 host 192.168.1.20
分组应该包含 AH 头,应该为显示为 ESP 分组。ESP 意味着它被加密了:
如果你的VPN Server和默认网关是同一台机器,则无需下面操作:
由于LServer不是子网的网关,所以必须在L-APP Server上设置路由(或者在网关192.168.10.1上设置下面路由,以避免在内网的每台机器上设置路由):
L-APP Server上路由配置:
route add -net 192.168.20.0 netmask 255.255.255.0 gw 192.168.10.10
由于RServer不是子网的网关,所以必须在R-APP Server上设置路由(或者在网关192.168.20.1上设置下面路由,以避免在内网的每台机器上设置路由):
R-APP Server上路由配置:
route add -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.20.10
测试连通

[ 本帖最后由 toakee 于 2009-3-15 09:46 编辑 ]
navywang 回复于:2009-03-19 11:42:24
请教 ipsec问题
各位高手:
我目前正在REDHAT EL4下面试验搭建lan-lan的IPSEC的VPN,已经按照其他高手推荐的文档配置完成
但是在启动ifup IPSEC0时出现如下错误
[root@vpn ~]# ifdown ipsec0
RTNETLINK answers: No such process
[root@vpn ~]# ifup ipsec0
RTNETLINK answers: Network is unreachable
查看日志
tail /var/log/messages
Mar 18 15:51:29 localhost racoon: INFO: fe80::205:5dff:fe72:608a%eth1[500] used as isakmp port (fd=
Mar 18 15:51:29 localhost racoon: INFO: ::1[500] used as isakmp port (fd=9)
Mar 18 15:51:29 localhost racoon: INFO: 192.168.1.189[500] used as isakmp port (fd=10)
Mar 18 15:51:29 localhost racoon: INFO: 127.0.0.1[500] used as isakmp port (fd=11)
Mar 18 15:53:22 localhost sshd(pam_unix)[13813]: session opened for user root by (uid=0)
Mar 18 15:53:30 localhost racoon: INFO: unsupported PF_KEY message REGISTER
Mar 18 16:19:42 localhost sshd(pam_unix)[12456]: session closed for user root
Mar 18 16:19:42 localhost kernel: device eth1 left promiscuous mode
Mar 18 16:30:13 localhost smartd[5453]: Device: /dev/sda, Temperature changed -2 Celsius to 33 Celsius since last report
Mar 18 16:47:40 localhost racoon: INFO: unsupported PF_KEY message REGISTER
请问出现上述问题应该是那里的错误,谢谢
wenzk 回复于:2009-03-20 21:21:49
好帖,虽没没有在Linux配置过IPsec,但是觉得文章具有指导意义
force_eagle 回复于:2009-03-21 11:26:36
能把setkey与racoon.conf配置全用中文描叙一遍就好!
:wink:
shichunda 回复于:2009-03-22 21:20:12
有意思,好好看看。不过楼主,你是在多少台pc的网络上部署的?
xiangyu1986 回复于:2009-03-24 16:48:26
我也出现这个问题了
不过后来用起来没有什么问题,可能暂时没有出现吧
racoon的协商是在真正有数据包开始通信时才开始的
|