首页主机资讯iptables中如何添加新的过滤规则

iptables中如何添加新的过滤规则

时间2025-10-22 19:29:05发布访客分类主机资讯浏览276
导读:在iptables中添加新的过滤规则,通常需要使用iptables命令。以下是一些基本的步骤和示例,用于向iptables添加新的过滤规则: 1. 确定要添加规则的链 iptables有多个预定义的链,如INPUT、OUTPUT和FORWA...

在iptables中添加新的过滤规则,通常需要使用iptables命令。以下是一些基本的步骤和示例,用于向iptables添加新的过滤规则:

1. 确定要添加规则的链

iptables有多个预定义的链,如INPUTOUTPUTFORWARD。你需要确定要在哪个链上添加规则。

2. 确定规则的动作

iptables规则可以有四种动作:

  • ACCEPT:允许数据包通过。
  • DROP:丢弃数据包,不给出任何回应。
  • REJECT:拒绝数据包,并给出一个错误响应。
  • LOG:记录数据包信息到系统日志。

3. 确定匹配条件

你可以根据多种条件来匹配数据包,如源IP地址、目的IP地址、端口号、协议类型等。

示例:添加一个新的过滤规则

允许来自特定IP地址的SSH连接

sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT

解释:

  • -A INPUT:在INPUT链上追加规则。
  • -p tcp:指定协议为TCP。
  • --dport 22:指定目的端口为22(SSH端口)。
  • -s 192.168.1.100:指定源IP地址为192.168.1.100。
  • -j ACCEPT:如果匹配条件满足,则接受数据包。

阻止来自特定IP地址的所有连接

sudo iptables -A INPUT -s 192.168.1.100 -j DROP

解释:

  • -A INPUT:在INPUT链上追加规则。
  • -s 192.168.1.100:指定源IP地址为192.168.1.100。
  • -j DROP:如果匹配条件满足,则丢弃数据包。

记录所有进入的ICMP请求

sudo iptables -A INPUT -p icmp -j LOG --log-prefix "ICMP Packet Detected: "

解释:

  • -A INPUT:在INPUT链上追加规则。
  • -p icmp:指定协议为ICMP。
  • -j LOG --log-prefix "ICMP Packet Detected: ":如果匹配条件满足,则记录数据包信息到系统日志,并添加前缀"ICMP Packet Detected: "。

保存iptables规则

在某些Linux发行版中,iptables规则在系统重启后会丢失。为了持久化规则,你需要保存它们。

使用iptables-saveiptables-restore

sudo iptables-save >
     /etc/iptables/rules.v4
sudo iptables-restore <
     /etc/iptables/rules.v4

使用netfilter-persistent

在Debian及其衍生版中,可以使用netfilter-persistent服务来保存和恢复iptables规则。

sudo netfilter-persistent save
sudo netfilter-persistent reload

通过这些步骤,你可以向iptables添加新的过滤规则,并确保它们在系统重启后仍然有效。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: iptables中如何添加新的过滤规则
本文地址: https://pptw.com/jishu/732610.html
iptables如何删除已存在的规则 如何设置Debian SFTP端口

游客 回复需填写必要信息