iptables查看、添加、删除规则

本文介绍iptables的基本操作,包括查看、添加、删除和修改规则的具体方法。通过实例演示如何管理防火墙规则,适合初学者快速上手。
1、查看
iptables -nvL –line-number

-L 查看当前表的所有规则,默认查看的是filter表,如果要查看NAT表,可以加上-t NAT参数
-n 不对ip地址进行反查,加上这个参数显示速度会快很多
-v 输出详细信息,包含通过该规则的数据包数量,总字节数及相应的网络接口
–line-number 显示规则的序列号,这个参数在删除或修改规则时会用到

2、添加
添加规则有两个参数:-A和-I。其中-A是添加到规则的末尾;-I可以插入到指定位置,没有指定位置的话默认插入到规则的首部。

当前规则:

[root@test ~]# iptables -nL --line-number
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    DROP       all  --  192.168.1.1          0.0.0.0/0
2    DROP       all  --  192.168.1.2          0.0.0.0/0
3    DROP       all  --  192.168.1.4          0.0.0.0/0

添加一条规则到尾部:

[root@test ~]# iptables -A INPUT -s 192.168.1.5 -j DROP

再插入一条规则到第三行,将行数直接写到规则链的后面:

[root@test ~]# iptables -I INPUT 3 -s 192.168.1.3 -j DROP

查看:

[root@test ~]# iptables -nL --line-number
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    DROP       all  --  192.168.1.1          0.0.0.0/0
2    DROP       all  --  192.168.1.2          0.0.0.0/0
3    DROP       all  --  192.168.1.3          0.0.0.0/0
4    DROP       all  --  192.168.1.4          0.0.0.0/0
5    DROP       all  --  192.168.1.5          0.0.0.0/0

可以看到192.168.1.3插入到第三行,而原来的第三行192.168.1.4变成了第四行。

3、删除
删除用-D参数

删除之前添加的规则(iptables -A INPUT -s 192.168.1.5 -j DROP):

[root@test ~]# iptables -D INPUT -s 192.168.1.5 -j DROP

有时候要删除的规则太长,删除时要写一大串,既浪费时间又容易写错,这时我们可以先使用–line-number找出该条规则的行号,再通过行号删除规则。

[root@test ~]# iptables -nv --line-number
iptables v1.4.7: no command specified
Try `iptables -h' or 'iptables --help' for more information.
[root@test ~]# iptables -nL --line-number
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    DROP       all  --  192.168.1.1          0.0.0.0/0
2    DROP       all  --  192.168.1.2          0.0.0.0/0
3    DROP       all  --  192.168.1.3          0.0.0.0/0

删除第二行规则

[root@test ~]# iptables -D INPUT 2

4、修改
修改使用-R参数

先看下当前规则:

[root@test ~]# iptables -nL --line-number
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    DROP       all  --  192.168.1.1          0.0.0.0/0
2    DROP       all  --  192.168.1.2          0.0.0.0/0
3    DROP       all  --  192.168.1.5          0.0.0.0/0

将第三条规则改为ACCEPT:

[root@test ~]# iptables -R INPUT 3 -j ACCEPT

再查看下:

[root@test ~]# iptables -nL --line-number
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    DROP       all  --  192.168.1.1          0.0.0.0/0
2    DROP       all  --  192.168.1.2          0.0.0.0/0
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0

第三条规则的target已改为ACCEPT。


-----------------------------------------------------------

# Example of overriding settings on a per-user basis
#Match User anoncvs
#       X11Forwarding no
#       AllowTcpForwarding no
#       PermitTTY no
#       ForceCommand cvs server
[root@localhost ssh]# cat /etc/sysconfig/iptables
*filter
:INPUT DROP [1:576]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [593:64823]
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 65358 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 172.16.1.0/24 -j ACCEPT
-A INPUT -s 172.17.0.0/16 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3306  -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT   
-A INPUT -p udp -m udp --dport 53 -j ACCEPT  
COMMIT

 

转载于:https://www.cnblogs.com/alamps/p/8466331.html

<think>好的,用户问的是如何删除iptables的net规则。首先,我需要确认用户对iptables的了解程度。可能他们之前添加过一些规则,现在需要删除,但不知道具体的方法。 首先,我应该回忆一下iptables的基本命令结构。删除规则通常使用-D参数,需要指定链名和规则编号或者具体的匹配条件。比如,删除特定的规则可以使用编号,或者通过指定协议、端口等参数来匹配要删除规则。 然后,用户提到的是“net规则”,可能是指网络层的规则,比如处理IP地址或协议的规则,而不是传输层的端口规则。这时候需要确认用户是否指的是网络层的规则,比如过滤某个IP地址或者网络接口的规则。 接下来,我需要考虑用户可能的操作环境。他们可能是在Linux服务器上操作,使用命令行界面。因此,给出的命令需要准确,同时提醒他们注意备份规则,避免误操作导致网络中断。 另外,用户可能没有意识到删除规则后需要保存配置,否则重启后规则会恢复。所以需要在回答中提到保存步骤,比如使用iptables-save命令或者相关工具如iptables-persistent。 还要考虑不同发行版的差异,比如CentOS和Ubuntu在保存规则时的不同命令,可能需要补充说明,让用户根据自己系统调整。 然后,用户可能对如何查找现有规则不太清楚,所以需要指导他们使用-L -n --line-numbers来列出规则查看编号,这样方便后续删除操作。 最后,确保回答的结构符合用户的要求,包括示例命令和相关问题。相关问题应该覆盖删除特定规则、保存配置、查看规则等常见需求,帮助用户全面理解操作流程。</think>要删除 `iptables` 中的 `net` 规则(即网络规则,通常涉及 IP 地址、协议等),可以通过以下步骤操作: ### 1. **列出当前规则** 首先查看现有的规则及其编号: ```bash sudo iptables -L -n --line-numbers ``` 这会显示所有链(如 `INPUT`, `FORWARD`, `OUTPUT`)中的规则,并标注行号。 ### 2. **删除指定规则** 根据规则所在的链和行号删除: ```bash sudo iptables -D [链名] [规则编号] ``` 例如删除 `INPUT` 链的第 3 条规则: ```bash sudo iptables -D INPUT 3 ``` 或者通过具体匹配条件删除(如删除针对某个 IP 的规则): ```bash sudo iptables -D INPUT -s 192.168.1.100 -j DROP ``` ### 3. **保存规则** 删除后需保存配置,否则重启后规则会恢复: - Debian/Ubuntu: ```bash sudo iptables-save > /etc/iptables/rules.v4 ``` - CentOS/RHEL: ```bash sudo service iptables save ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值