本文实例讲述了python实现ipsec开权限的方法。分享给大家供大家参考。具体实现方法如下:
3 P; E9 N% U2 S- t0 @windows自带的命令行工具netsh ipsec static add filter不支持批量添加,还会添加重复的规则进去。我用python编写了ipsecset解决了上述问题,支持批量添加,同一个列表里避免重复的规则。/ Q+ t, n( @ J ^" ~
为了方便使用,已编译成exe,源码和程序在下面的链接里2 B% f" }3 `7 Z
语法:) | m* H2 H" z
参数和netsh ipsec static add filter的参数是一样的,不区分大小写
0 y! n$ v% i+ Q: P" t$ q必要参数:6 {3 {/ i. a) ^. W( i T1 o
srcaddr=(me/any/特定ip/网段)
4 g3 _8 ] S* Q; wdstaddr=(me/any/特定ip/网段)" c9 m$ Q% k( |5 }' X
dstport=(0/特定端口)
* O" c, s; V+ u3 g5 L# G/ m# u7 D默认参数:
# ]4 c4 _4 u, Y! Q- {$ z+ _. xsrcport=00 J2 w" {. ^% v# w
srcmask=255.255.255.2553 W* _2 H( g& ^8 F) p7 Y
dstmask=255.255.255.255
" f& E9 l8 ~% X6 F7 x; aprotocol=tcp
! |* s9 r7 n4 Pmirrored=yes
" N/ R& Z0 ?- @) ]filterlist=选用规则: A5 U x4 e: m' O- k3 b& x5 v9 s
description=add by script {time_now}& p; |3 ?( J9 X4 f0 C' F7 U5 b
批量操作:
6 r3 @; S$ y) ?2 z t+ l. D“-和,两种操作符,可混合使用
) R4 p& v" E* T9 O, g支持批量操作的参数:srcport,dstport,srcaddr,dstaddr% F L* e* w8 Y7 k8 n8 ]4 i
其中srcaddr和dstaddr仅最后一个段支持; q( `- ^- F+ u: e! k$ Z
列如,srcport=1000-1003,1007,1009
* N' \3 ^ y; \- fsrcaddr=1.1.1.10-13,156 a5 M$ ^, [7 Y
示例如下:* n1 f X+ @8 S9 I, V
复制代码 代码如下:ipsecset srcport=1.1.1.1 dstport=2.2.2.2-30,31 dstport=8080 filterlist=基础规则
9 l; P& q! \! }! q# Nipsecset srcport=me dstport=any dstport=81-85,87
5 F& B7 k, G) Xipsecset srcport=me dstport=10.1.1.0 dstmask=255.255.255.0 dstport=6161 protocol=udp" m/ H+ E9 }: r. {
代码保存在github上
( y/ _ j8 C$ B1 y编译后的文件保存在dist文件夹
8 W( ^8 Y- |; b9 ]2 b7 ^3 |+ h, w; X$ g' j: k
更多网页制作信息请查看: 网页制作 |
|