本文实例讲述了python实现ipsec开权限的方法。分享给大家供大家参考。具体实现方法如下:* M* C4 t) @! a: M' T$ t
windows自带的命令行工具netsh ipsec static add filter不支持批量添加,还会添加重复的规则进去。我用python编写了ipsecset解决了上述问题,支持批量添加,同一个列表里避免重复的规则。5 Z7 S1 `* I/ N$ }/ L' v3 w3 C
为了方便使用,已编译成exe,源码和程序在下面的链接里
0 P& f2 J K- I2 O语法:$ t. {& n, ]8 _; L E* q- H
参数和netsh ipsec static add filter的参数是一样的,不区分大小写5 M- I7 v2 K, N0 G! Q
必要参数:
# D7 N1 }0 O5 R" i, n3 l* B, T" V+ P) O/ nsrcaddr=(me/any/特定ip/网段)3 z5 X; _' `- t: Z$ h
dstaddr=(me/any/特定ip/网段)4 T O O% }! Y0 U6 F
dstport=(0/特定端口)
( ]! _$ B, J& W" `+ s ]8 Z默认参数:
* Z' |# Y6 n3 s- }! t5 K. u3 rsrcport=0
, c b% U8 `2 q% ?; B4 j6 t, q; vsrcmask=255.255.255.2555 ~5 E; M) Y; B+ U# K$ ?: E
dstmask=255.255.255.255' p8 f: T9 D( h/ ^9 u
protocol=tcp
' j+ y. t5 D Z$ U0 F; x* |mirrored=yes
& n5 T, R. d) [+ {, ?9 zfilterlist=选用规则, @& `2 h8 h$ P2 n0 I3 ~1 l+ X, q
description=add by script {time_now}
$ m c% \ k. m. D批量操作:* G. @3 v( ?( ~2 U
“-和,两种操作符,可混合使用
% s$ _* V) X2 P+ {8 @支持批量操作的参数:srcport,dstport,srcaddr,dstaddr& T' M( ^& [( k) H2 S9 Z" ?0 X1 c
其中srcaddr和dstaddr仅最后一个段支持
! |7 O; O1 l9 t& q7 _; c0 H! g列如,srcport=1000-1003,1007,1009
2 E; A; K, ~5 i& K! Wsrcaddr=1.1.1.10-13,15% X: E/ Q$ o3 O" H- S" t
示例如下:
/ v; Q9 V. w# u; h& a8 R9 f q复制代码 代码如下:ipsecset srcport=1.1.1.1 dstport=2.2.2.2-30,31 dstport=8080 filterlist=基础规则
, X0 ^3 i# |4 B% ~8 P, b0 Eipsecset srcport=me dstport=any dstport=81-85,87
* P) A+ X' _2 R: f2 n4 [1 ~4 T$ \ipsecset srcport=me dstport=10.1.1.0 dstmask=255.255.255.0 dstport=6161 protocol=udp" [4 x2 s6 P i. ]- u
代码保存在github上
& T( h( X& J6 a( C S编译后的文件保存在dist文件夹* z/ @' f* ~( b% F
% R# G$ `0 u5 J- W" y& o+ m" ~; ]更多网页制作信息请查看: 网页制作 |
|