moqingsong
论坛版主
论坛版主
  • 注册日期2002-04-07
  • 最后登录2011-02-03
  • 粉丝0
  • 关注0
  • 积分74分
  • 威望71点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
阅读:1775回复:4

IP安全工具――IPSec

楼主#
更多 发布于:2002-05-29 10:18
〖Encrypt〗
 
上一篇|下一篇|回文章  分类讨论区   全部讨论区   本讨论区  
 
  发信人: rabbitboy (兔兔), 信区: Encrypt
标  题: IP安全工具――IPSec
发信站: 武汉白云黄鹤站 (Tue Jan 16 08:55:27 2001), 站内信件

作者:Kurt Seifried
编译:backend
IP安全工具――IPSec使用了网络通信加密技术。虽然不能加密数据包的头部和尾部信息
(如源/目的IP地址、端口号、CRC校验值等),但可对数据包数据进行加密。由于加密
过程发生在IP层,因此可在不改变POP/WWW等协议的情况下进行网络协议的安全加密。同
时它也可以用于实现局域网间(通过互联网)的安全连接。基于IPv6的IPSec for Linu
x目前仍在测 试当中,但Windows 9x/NT、Solaris和其它一些UNIX平台的IPSec软件均已
发布。你需要在内核中增加对IPSec的支持,才能使用IPSec软件。但是不幸的是,北美
地区以外的Linux发布版本的内核均不支持IPSec。因此第一步就是获取最新的内核源程
序和Linux IPSec源代码:http://www.xs4all.nl/~freewan/。
然后将内核源代码(以2.2.10为例)安装到/usr/src/linux,并编译、安装和重启内核
,以测试新内核。在使IPSec正常工作之前必须保证网络工作正常。接着将IPSec for L
inux源 代码解压到/usr/local/src目录下,运行安装程序\"make menugo\",对内核进行
“补丁”。 再运行内核的配置程序。最后就是安装IPSec工具和内核。
cd /usr/local/src/
tar zvxf /path/to/tarball/snapshot.tar.gz
chown R root:root freeswan-snap1999Jun14b
cd freeswan-snap1999Jun14b
make menugo
确保已保存好内核的配置。一般情况下,如果使用\"make zImage\"命令重新生成内核时超

出大小限制。可用\"make bzImage\"命令重新编译内核:
cd /usr/src/linux
make bzImage
cp /usr/src/linux/arch/i386/boot/bzImage boot/vmlinuz-2.2.10-ipsec
现在我们需要修改LILO配置文件lilo.conf,并重新运行lilo和重新启动系统内核。
lilo.conf文件例子如下:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=100
image=/boot/vmlinuz-2.2.10-ipsec
label=linux-ipsec
root=/dev/hda1
read-only
image=/boot/vmlinuz-2.2.10
label=linux
root=/dev/hda1
read-only
重新运行lilo,系统提示:
linux-ipsec *
linux
然后重新启动带有IPSec支持的2.2.10内核的系统。系统重启时会出现几个错误,这主要

是IPSec在缺省情况下使用了实际并不存在的eth999接口。建议你将ipsec程序的路径加
入到
用户环境变量中。
IPSec的网络设置。首先,需要允许网关服务器的TCP-IP转发。在Red Hat Linux系统中

的实现方法:
将 FORWARD_IPV4=\"false\" 改为 FORWARD_IPV4=\"yes\" 即可。
另一个方法是直接修改/proc文件系统,执行以下命令即可:
cat 1 > /proc/sys/net/ipv4/ip_forward
由于大多数人都使用了缺省的禁止IP转发安全策略,但你必须允许数据锯从远程网络或

主机传送到你的网络或主机中。而且,任何使用了IPSec的内部网络的所有伪装(masque
rade)
规则都必须在允许IPSec的规则之后进行,否则主机将试图伪装(masquerade)数据包,而
不是
将它们传递给IPSec。
以下例子说明了如何在两个已使用了IP masquerading伪装的受保护网络之间通过IPSec

进行安全的互联网连接:
手工(固定)密钥连接 (Manual connection keying)
为简单起见,我们先通过使用手工(固定)密钥,并编辑ipsec.conf和防火墙规则来建

立安全连接。ipsec.conf中的许多缺省参数已设置好,我们需要修改的参数如下:
conn sample
type=tunnel
left=
leftnexthop=
leftsubnet=
right=
rightnexthop=
rightsubnet=
spibase=0x200
esp=3des-md5-96
espenckey=
espauthkey=
使用随机数生成器产生一个数字,并保留其16进制前导字符0x。配置例子如下:
conn my-tunnel
type=tunnel
left=1.2.3.4
leftnexthop=1.2.3.1
leftsubnet=10.0.0.0/24
right=5.6.7.8
rightnexthop=5.6.7.1
rightsubnet=192.168.0.0/24
spibase=0x200
esp=3des-md5-96
espenckey=some_auth_key_here (ranbits 192)
espauthkey=some_other_key_here (ranbits 128)
设置完成后,复制ipsec.donf和ipsec.secrets文件到其他需要使用此安全模式的机器
中。剩下的工作就是修改防火墙规则,使其只将数据包转发,而不将其伪装(masquera
de)。
在服务器1.2.3.4上增加以下规则:
ipchains -A forward -p all -j ACCEPT -s 10.0.0.0/24 -d 192.168.0.0/24
ipchains -A forward -p all -j ACCEPT -s 192.168.0.0/24 -d 10.0.0.0/24
记住,要确保这些规则在伪装(masquerade)规则之前,如以下所示:
#
# FORWARD RULES
#
ipchains -P forward DENY
#
ipchains -A forward -p all -j ACCEPT -s 10.0.0.0/24 -d 192.168.0.0/24
ipchains -A forward -p all -j ACCEPT -s 192.168.0.0/24 -d 10.0.0.0/24
ipchains -A forward -p all -j MASQ -s 10.0.0.0/24 -d 0.0.0.0/0
在服务器5.6.7.8上重复类似工作:
ipchains -A forward -p all -j ACCEPT -s 192.168.0.0/24 -d 10.0.0.0/24
ipchains -A forward -p all -j ACCEPT -s 10.0.0.0/24 -d 192.168.0.0/24
记住,要确保这些规则在伪装(masquerade)规则之前,如以下所示:
#
# FORWARD RULES
#
ipchains -P forward DENY
#
ipchains -A forward -p all -j ACCEPT -s 192.168.0.0/24 -d 10.0.0.0/24
ipchains -A forward -p all -j ACCEPT -s 10.0.0.0/24 -d 192.168.0.0/24
ipchains -A forward -p all -j MASQ -s 192.168.0.0/24 -d 0.0.0.0/0
现在我们可以利用这个手工构造的ipsec通道,建立网络A与网络B之间的通信。
ipsec manual
按第一贴的“给分”键,给分。
fenger_li
驱动老牛
驱动老牛
  • 注册日期2002-03-26
  • 最后登录2005-04-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-05-29 10:32
点评:
linux 下vpn的系统配置,对初学者有价值,但钥清楚为什么这么配。


我要看书了,上午就到此为止吧。
有点意思。。。 呵呵!
NUAA
驱动牛犊
驱动牛犊
  • 注册日期2002-04-17
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-06-03 15:41
我看过类似的文章
不过,
还是不明白
fenger_li
驱动老牛
驱动老牛
  • 注册日期2002-03-26
  • 最后登录2005-04-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-06-04 17:40
慢慢来吧!
有点意思。。。 呵呵!
yufei_lgq
驱动牛犊
驱动牛犊
  • 注册日期2001-12-22
  • 最后登录2004-10-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-07-04 14:40
还是没有弄得通。
希望大虾们继续讨论。
游客

返回顶部