ipseccmd在xp系统安装盘的 SUPPORTTOOLSSUPPORT.CAB 中。
ipsec是网管员应该熟悉的一个非常好用的工具,该工具的GUI界面在本地安全策略的IP策略里,网上有一些教程,但使用命令行ipseccmd.exe程序进行设置有助于在多台电脑中进行部署和交流,这里我通过自己的一个实例来简单说明一下其使用方法。
关于策略的概念:
策略即policy,貌似在这里只能同时指派一个策略,我没试过,一般一个策略就够用了,-p选项用来指定策略
关于规则的概念:
规则即filter,也可以叫过滤器,一个策略里可以创建无数规则,但每个规则的名称不能重复,-f选项用来指定规则。
关于规则的格式:
规则的格式=A.B.C.D/mask:port=A.B.C.D/mask:port:protocol
等号可以被加号替换,加号表示双向,我的智商理解不了加号的使用,所以宁愿写两遍等号也不用加号。
比如:192.168.0.1/255.255.255.0:80=192.168.0.2/255.255.255.0:8080:tcp
这是一个没什么含义的例子,一般很少这样写。
A.B.C.D/mask可以使用两个特殊常量来代替,一个是*,表示所有地址;一个是0,表示本机IP,均不带mask。
例:
-f *=0:135:tcp
这个例子的规则是源地址为所有IP的所有端口,目标地址为本机IP的135端口,协议为tcp。
关于-n选项:
只要记住-N选项可以跟BLOCK和PASS就可以了,BLOCK表示禁止,PASS表示开通。
关于-w reg选项:
-w reg是记录在注册表的意思,这是固定格式,记住别忘了写就OK了。
关于-y选项:
-y 用来取消指派策略。策略只有被指派了才可以被执行,-y可以取消指派,这个选项通常用来把正在执行的策略停止。
关于-x选项:
-x 用来立即指派并执行策略,我们来验证一下,下面的策略可以使你和外界无法互相ping:
例:
ipseccmd -p xk -r noping -f *+0::icmp -n BLOCK -w reg -x
这条规则翻译一下就是:
建立一条策略,名字叫xk
在策略中建立一条规则,名字叫noping
这条规则的内容是,所有IP地址和我本机之间的icmp都被block了,阻止了,icmp是ping用到的协议,所以就无法互ping了。
-w reg表示记录到注册表中
-x表示do it now,马上行动。
关于-o选项:
-o 用来删除策略。如果策略还在指派中,是无法删除的,先用-y取消指派吧。
如果仍然无法删除,就把IPSEC Services服务重新启动一下就OK了。
简易教程:
1、建立一个策略并且不指派:
ipseccmd -p 策略名 -r 过滤名 [-f.....] -w reg
例1:ipseccmd -p xk -r xkf1 *=0:135:tcp -n BLOCK -w reg
xk是我的策略名,xkf1是xk策略里的一条规则,每条规则的名称不可以重复。
2、指派并立即执行某策略
ipseccmd -p 策略名 -w reg -x
例2: ipseccmd -p xk -w reg -x
3、停止指派某策略
ipseccmd -p 策略名 -w reg -y
例3:ipseccmd -p xk -w reg -y
这个操作可以使正在执行的策略停止下来。
4、删除某策略
ipseccmd -p 策略名 -w reg -o
例4:ipseccmd -p xk -w reg -o
5、查看策略
ipseccmd show gpo
ipseccmd show filters
6、通过停止并启动IPSec Service服务可以清空策略,这是微软官方的说法,而在我下面的例子里却正好相反,重启该服务激发了策略。
下面的例子是个目前正在使用的实例,效果非常好,严格控制了技术部门与外界的访问,一个保证了资料安全,一个控制了病毒传播。
实例:用来限制公共电脑的网络共享功能,使它只能和文件服务器进行共享访问,而不能和其他机器进行共享。
两个批处理。
**************************************************************************************************
1、禁止网络共享.cmd
**************************************************************************************************
@echo off
echo 信息中心网络调试套件
echo 版权所有(c) 夏克 2008
echo ----------------------------------
echo 正在进行网络调试......
echo ----------------------------------
rem 1.7是我的文件服务器,1.6是我的打印服务器
rem 这里我允许公共主机访问文件服务器和网络打印服务器
rem 但不允许访问其它人的共享,也不允许其他人访问公共主机的共享
set ip1=192.168.1.6
set ip2=192.168.1.7
rem 从这里开始创建策略,并且添加规则
ipseccmd -p xk -r xkf1 -f *=0:135:tcp *=0:135:udp *=0:137:udp *=0:138:udp *=0:139:tcp *=0:445:tcp *=0:445:udp -n BLOCK -w reg
ipseccmd -p xk -r xkf2 -f 0=*:135:tcp 0=*:135:udp 0=*:137:udp 0=*:138:udp 0=*:139:tcp 0=*:445:tcp 0=*:445:udp -n BLOCK -w reg
rem 添加新规则时要注意规则名称不能重复,也就是说xkf1-xkfN不要重复
rem -------------------------------------------------------------
set ip=%ip1%
ipseccmd -p xk -r xkf3 -f %ip%=0:135:tcp %ip%=0:135:udp %ip%=0:137:udp %ip%=0:138:udp %ip%=0:139:tcp %ip%=0:445:tcp %ip%=0:445:udp -n PASS -w reg
ipseccmd -p xk -r xkf4 -f 0=%ip%:135:tcp 0=%ip%:135:udp 0=%ip%:137:udp 0=%ip%:138:udp 0=%ip%:139:tcp 0=%ip%:445:tcp 0=%ip%:445:udp -n PASS -w reg
rem -------------------------------------------------------------
rem -------------------------------------------------------------
set ip=%ip2%
ipseccmd -p xk -r xkf3 -f %ip%=0:135:tcp %ip%=0:135:udp %ip%=0:137:udp %ip%=0:138:udp %ip%=0:139:tcp %ip%=0:445:tcp %ip%=0:445:udp -n PASS -w reg
ipseccmd -p xk -r xkf4 -f 0=%ip%:135:tcp 0=%ip%:135:udp 0=%ip%:137:udp 0=%ip%:138:udp 0=%ip%:139:tcp 0=%ip%:445:tcp 0=%ip%:445:udp -n PASS -w reg
rem -------------------------------------------------------------
ipseccmd -p xk -w reg -x
echo ----------------------------------
echo 正在进行网络调试......
echo ----------------------------------
rem 必须重启IPSEC Services服务才可以生效,这和微软官方说的不一致。
net stop "IPSEC Services" 1>nul
net start "IPSEC Services" 1>nul
echo 调试完毕,请按任意键退出。
echo ----------------------------------
pause>nul
**************************************************************************************************
2、开通网络共享.cmd
**************************************************************************************************
@echo off
echo 信息中心网络调试套件
echo 版权所有(c) 夏克 2008
echo ----------------------------------
echo 正在进行网络调试......
echo ----------------------------------
ipseccmd -p xk -w reg -y
ipseccmd -p xk -w reg -o
echo ----------------------------------
echo 调试完毕,请按任意键退出。
echo ----------------------------------
pause>nul