论坛风格切换切换到宽版
  • 739阅读
  • 7回复

[问题求助]问个iptables删除规则的问题?自己顶一下。 [复制链接]

上一主题 下一主题
 
发帖
2133
C币
-193311
威望
363
贡献值
1
银元
-2
铜钱
4686
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
在iptables的多个链(包括自定义链)中有关于ip 10.255.1.1的.多个规.则。<性病>

可否有一个命令可以一次删除所有的关于ip 10.25.5.1..1的多个规则,而不是[成人用品]
一条一条的删除。

我觉得根据规则的.序号不可行。因为系统比较繁忙,规则.的序号随时在变。--- 印刷

可不可能用ipta.bles的api, 比如ibiptc写一个程序来做.呢?投资

谢谢!

[ 本帖最后由 lc1999 于 2..007-10-25 03:13 编辑 ].

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线日光兰.
发帖
1968
C币
-235780
威望
320
贡献值
1
银元
-2
铜钱
4252
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
用脚本,

RULES=`/sbin/iptables -L INPUT | sed '1,2d' | grep -n 10.255.1.1 |awk  -F: '{print  $1}'`
# iptables -L 列出所有INPUT中的规则 ,
# sed 去掉输出中的前两行说明,
# grep -n 查找匹配的规则的编号
# awk -F: 打印出规则的编号
# 下面的明令逐个删除规则

for h in $RULES
do
/sbin/iptables -D INPUT  $h
done

离线andyxie.
发帖
1978
C币
-140881
威望
354
贡献值
1
银元
0
铜钱
4450
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13
这个命令真不错,多谢了~~~~~~


QUOTE:源贴由恶帝神发表
这个命令真不错,多谢了~~~~~~


离线qidu2000.
发帖
2108
C币
-193192
威望
398
贡献值
1
银元
-4
铜钱
4860
人人网人气币
0
只看该作者 地板  发表于: 2010-04-13


QUOTE:原帖由 math_physics 于 2007-1-16 10:03 发表于 3楼  
用脚本,

RULES=`/sbin/iptables -L INPUT | sed '1,2d' | grep -n 10.255.1.1 |awk  -F: '{print  $1}'`
# iptables -L 列出所有INPUT中的规则 ,
# sed 去掉输出中的前两行说明,
# grep -n 查找匹配的规 ...




这种方法不可行--规则的number随时都在变, 而且你每次删除后,规则number也在变。

离线wjx79979.
发帖
2074
C币
-193461
威望
338
贡献值
1
银元
-7
铜钱
4611
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-13


QUOTE:原帖由 lc1999 于 2007-1-17 02:07 发表于 5楼  




这种方法不可行--规则的number随时都在变, 而且你每次删除后,规则number也在变。


对, 提的好!

不过, 可以倒着逐条删除吧, 用一个sort命令就行了,

RULES=`/sbin/iptables -L INPUT | sed '1,2d' | grep -n 10.255.1.1 |awk  -F: '{print  $1}' |sort -r`


离线tommytino.
发帖
2080
C币
-198682
威望
371
贡献值
1
银元
0
铜钱
4552
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-13
自己顶一下。自己顶一下。谢谢了。

离线session1987.
发帖
1990
C币
-61049
威望
329
贡献值
1
银元
-2
铜钱
4261
人人网人气币
0
只看该作者 6楼 发表于: 2010-04-13
iptables-save -c | sed '/10\.255\.1\.1/d' | iptables-restore -c
复制代码

离线caicuc.
发帖
2046
C币
-152383
威望
390
贡献值
1
银元
-1
铜钱
4661
人人网人气币
0
只看该作者 7楼 发表于: 2010-04-13
或者试试:
for i in nat filter

do

   iptables-save -t ${i} | sed -n "/10.255.1.1/{s/^-A/iptables -t ${i} -D/;p}" | sh

done
复制代码

解释,就是把原来添加进去的规则原样执行一遍,只是把原来的-A 换成 -D
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个