本文实例讲述了python实现ipsec开权限的方法。分享给大家供大家参考。具体实现方法如下:
4 E4 I: f1 L: q) [" Twindows自带的命令行工具netsh ipsec static add filter不支持批量添加,还会添加重复的规则进去。我用python编写了ipsecset解决了上述问题,支持批量添加,同一个列表里避免重复的规则。# X2 P; N/ [' r8 j0 J- B
为了方便使用,已编译成exe,源码和程序在下面的链接里
* N' H' x6 l/ b9 T5 s8 p+ ^语法:6 X9 B; _9 E* j0 L! T( }
参数和netsh ipsec static add filter的参数是一样的,不区分大小写
/ t$ g: t4 T* g9 k% N必要参数:
4 F+ t' ^8 y( _' T3 ^( ?srcaddr=(me/any/特定ip/网段)% G$ O6 ~% E1 |$ f
dstaddr=(me/any/特定ip/网段), v( m/ {6 P. e( l' h
dstport=(0/特定端口)" \7 ~ T8 r0 d! A
默认参数:' s x7 _8 Z3 G0 O5 k' f7 g4 U5 V
srcport=0
8 D( t; c( k5 y) D9 L+ z& Lsrcmask=255.255.255.255
3 [. a+ d4 V1 K$ |) k. l, L8 {* gdstmask=255.255.255.255
$ E6 s; X/ s9 R6 g0 M( h0 F3 Fprotocol=tcp
. p3 y" M% x8 Z7 Kmirrored=yes
+ _4 Q R/ t# G- i9 l+ u% ]filterlist=选用规则+ N& P' u0 a; v( ?# r* | @
description=add by script {time_now}
, m1 D. [2 }; D! d" g批量操作:
, `/ Y) b8 M+ b N& B& j“-和,两种操作符,可混合使用
. N% e; B0 A) {' Y支持批量操作的参数:srcport,dstport,srcaddr,dstaddr/ D, F& f# _+ X w9 M. w+ T, O
其中srcaddr和dstaddr仅最后一个段支持, S0 s. i% A9 S; Z6 _- P8 t
列如,srcport=1000-1003,1007,1009
2 u& v+ d$ w$ R) qsrcaddr=1.1.1.10-13,15+ a; O& V H! r; {
示例如下:
( H8 p- b# _/ O: C# g" |# J' n复制代码 代码如下:ipsecset srcport=1.1.1.1 dstport=2.2.2.2-30,31 dstport=8080 filterlist=基础规则5 k3 J. Y; @9 J7 I$ ?0 F) j \
ipsecset srcport=me dstport=any dstport=81-85,87
5 `+ W( G& c! y* o6 Qipsecset srcport=me dstport=10.1.1.0 dstmask=255.255.255.0 dstport=6161 protocol=udp
4 s8 S+ x B+ ]+ z5 c: V代码保存在github上
: C S& T" D! p, C3 p! ?- |) \编译后的文件保存在dist文件夹
) [- d5 t" u+ F. a2 a! p
% X* c# P# y6 g. _# Y) }更多网页制作信息请查看: 网页制作 |
|