`

常用的 Linux iptables 规则

阅读更多

# 1. 删除所有现有规则

 

iptables -F

 

# 2. 设置默认的 chain 策略

 

iptables -P INPUT DROP

iptables -P FORWARD DROP

iptables -P OUTPUT DROP

 

# 3. 阻止某个特定的 IP 地址

 

#BLOCK_THIS_IP="x.x.x.x"

#iptables -A INPUT -s "$BLOCK_THIS_IP" -j DRO

 

# 4. 允许全部进来的(incoming)SSH

 

iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

 

# 5. 只允许某个特定网络进来的 SSH

 

#iptables -A INPUT -i eth0 -p tcp -s 192.168.200.0/24 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT

#iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

 

# 6. 允许进来的(incoming)HTTP

 

iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT

 

# 7. 多端口(允许进来的 SSH、HTTP 和 HTTPS)

 

iptables -A INPUT -i eth0 -p tcp -m multiport --dports 22,80,443 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -o eth0 -p tcp -m multiport --sports 22,80,443 -m state --state ESTABLISHED -j ACCEPT

 

# 8. 允许出去的(outgoing)SSH

 

iptables -A OUTPUT -o eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A INPUT -i eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

 

# 9. 允许外出的(outgoing)SSH,但仅访问某个特定的网络

 

#iptables -A OUTPUT -o eth0 -p tcp -d 192.168.101.0/24 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT

#iptables -A INPUT -i eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

 

# 10. 允许外出的(outgoing) HTTPS

 

iptables -A OUTPUT -o eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A INPUT -i eth0 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT

 

# 11. 对进来的 HTTPS 流量做负载均衡

 

#iptables -A PREROUTING -i eth0 -p tcp --dport 443 -m state --state NEW -m nth --counter 0 --every 3 --packet 0 -j DNAT --to-destination 192.168.1.101:443

#iptables -A PREROUTING -i eth0 -p tcp --dport 443 -m state --state NEW -m nth --counter 0 --every 3 --packet 1 -j DNAT --to-destination 192.168.1.102:443

#iptables -A PREROUTING -i eth0 -p tcp --dport 443 -m state --state NEW -m nth --counter 0 --every 3 --packet 2 -j DNAT --to-destination 192.168.1.103:443

 

# 12. 从内部向外部 Ping

 

iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT

iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT

 

# 13. 从外部向内部 Ping

 

iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

 

# 14. 允许环回(loopback)访问

 

iptables -A INPUT -i lo -j ACCEPT

iptables -A OUTPUT -o lo -j ACCEPT

 

# 15. 允许 packets 从内网访问外网

 

# if eth1 is connected to external network (internet)

# if eth0 is connected to internal network (192.168.1.x)

iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

 

# 16. 允许外出的  DNS

 

iptables -A OUTPUT -p udp -o eth0 --dport 53 -j ACCEPT

iptables -A INPUT -p udp -i eth0 --sport 53 -j ACCEPT

 

# 17. 允许 NIS 连接

 

# rpcinfo -p | grep ypbind ; This port is 853 and 850

#iptables -A INPUT -p tcp --dport 111 -j ACCEPT

#iptables -A INPUT -p udp --dport 111 -j ACCEPT

#iptables -A INPUT -p tcp --dport 853 -j ACCEPT

#iptables -A INPUT -p udp --dport 853 -j ACCEPT

#iptables -A INPUT -p tcp --dport 850 -j ACCEPT

#iptables -A INPUT -p udp --dport 850 -j ACCEPT

 

# 18. 允许某个特定网络 rsync 进入本机

 

#iptables -A INPUT -i eth0 -p tcp -s 192.168.101.0/24 --dport 873 -m state --state NEW,ESTABLISHED -j ACCEPT

#iptables -A OUTPUT -o eth0 -p tcp --sport 873 -m state --state ESTABLISHED -j ACCEPT

 

# 19. 仅允许来自某个特定网络的 MySQL 的链接

 

#iptables -A INPUT -i eth0 -p tcp -s 192.168.200.0/24 --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT

#iptables -A OUTPUT -o eth0 -p tcp --sport 3306 -m state --state ESTABLISHED -j ACCEPT

 

# 20. 允许 Sendmail 或 Postfix

 

iptables -A INPUT -i eth0 -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -o eth0 -p tcp --sport 25 -m state --state ESTABLISHED -j ACCEPT

 

# 21. 允许 IMAP 和 IMAPS

 

#iptables -A INPUT -i eth0 -p tcp --dport 143 -m state --state NEW,ESTABLISHED -j ACCEPT

#iptables -A OUTPUT -o eth0 -p tcp --sport 143 -m state --state ESTABLISHED -j ACCEPT

#iptables -A INPUT -i eth0 -p tcp --dport 993 -m state --state NEW,ESTABLISHED -j ACCEPT

#iptables -A OUTPUT -o eth0 -p tcp --sport 993 -m state --state ESTABLISHED -j ACCEPT

 

# 22. 允许 POP3 和 POP3S

 

#iptables -A INPUT -i eth0 -p tcp --dport 110 -m state --state NEW,ESTABLISHED -j ACCEPT

#iptables -A OUTPUT -o eth0 -p tcp --sport 110 -m state --state ESTABLISHED -j ACCEPT

#iptables -A INPUT -i eth0 -p tcp --dport 995 -m state --state NEW,ESTABLISHED -j ACCEPT

#iptables -A OUTPUT -o eth0 -p tcp --sport 995 -m state --state ESTABLISHED -j ACCEPT

 

# 23. 防止 DoS 攻击

 

iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT

 

# 24. 设置 422 端口转发到 22 端口

 

#iptables -t nat -A PREROUTING -p tcp -d 192.168.102.37 --dport 422 -j DNAT --to 192.168.102.37:22

#iptables -A INPUT -i eth0 -p tcp --dport 422 -m state --state NEW,ESTABLISHED -j ACCEPT

#iptables -A OUTPUT -o eth0 -p tcp --sport 422 -m state --state ESTABLISHED -j ACCEPT

 

# 25. 为丢弃的包做日志(Log)

 

iptables -N LOGGING

iptables -A INPUT -j LOGGING

iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables Packet Dropped: " --log-level 7

iptables -A LOGGING -j DROP

 

分享到:
评论

相关推荐

    Linux上iptables防火墙的应用教程

    Linux 上的 iptables 防火墙是一种常用的防火墙软件,能够控制访问 Linux 系统的流量。iptables 防火墙的基本应用包括安装、清除规则、开放指定端口、屏蔽指定 IP、删除已添加的规则等。 安装 iptables 防火墙 若...

    linux防火墙iptables常用规则.docx

    ### Linux防火墙iptables常用规则详解 #### 一、iptables基础操作与配置 ##### 删除现有规则 在使用iptables之前,我们通常需要先清除已有的规则,以便于重新建立新的规则集。这可以通过`iptables -F`命令来实现。...

    linux iptables防火墙配置

    #### 二、iptables规则表与规则链 iptables的核心概念包括规则表(Table)和规则链(Chain)。规则表是规则链的集合,主要用于归类具有相同处理目的的防火墙规则。Linux防火墙默认提供了四种规则表: 1. **raw表**...

    详解Linux iptables常用防火墙规则

    IPTABLES 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器, 则该系统有利于在 Linux 系统上更好地控制 IP 信息包过滤和...

    iptables命令实例

    本文档主要介绍了 Linux 中的iptables 命令的实例,涵盖了 iptables 的基本用法、规则设定、端口控制、NAT 转发等方面的知识点。 一、iptables 的基本概念 iptables 是 Linux 系统中的一个防火墙工具,用于控制...

    centos6 iptables常用操作

    - 查看iptables规则文件:`cat /etc/sysconfig/iptables` #### 配置规程流程 在配置远端服务器时,需要注意以下几点: - 不要一开始就设置DROP规则,以免误将SSH端口也DROP掉,导致无法远程访问。 - 第一次创建...

    网络安全课程设计之D防火墙——Iptables.docx

    iptables 常用的通用匹配条件和扩展匹配条件;添加、修 改、删除自定义链的方法。 实验内容:1)使用 iptables 制定规则,包括添加、修改、保存和删除规则等。 2)使用通用匹配条件和扩展匹配条件定义 iptables ...

    iptables常用命令和使用

    ### iptables常用命令详解 #### 一、iptables简介 **iptables** 是一款强大的包过滤防火墙工具,它允许用户通过定义一系列复杂的规则来控制进出主机的数据包。此工具需要Linux内核版本至少为2.4及以上,对于2.6及...

    iptables指南 1.1.19

    表(Table)定义了iptables规则的处理目标,包括mangle表、nat表和Filter表。mangle表用于修改数据包的服务类型(ToS)、时间戳(TTL)等参数;nat表用于网络地址转换,适用于IP映射、端口映射等;而Filter表则用于...

    Iptables速查手册

    - `iptables-save`: 将当前的iptables规则保存到文件中。 - `iptables-restore`: 从文件中恢复iptables规则。 #### 四、高级特性 - **连接跟踪**: - Iptables支持连接跟踪功能,可以识别并处理已建立连接的...

    iptables 与firewalld 防火墙.docx

    iptables 和 firewalld 是 Linux 系统中两种常用的防火墙解决方案,用于过滤不合法的流量,保护内网安全。本文将对比 iptables 和 firewalld 的配置使用方法,并详细介绍 CentOS 7 中的防火墙配置。 iptables ...

    iptables 语法 (经典)

    以上只是一部分iptables的常用语法和示例,实际使用中还可以根据需要添加更复杂的规则,如基于时间的规则、自定义标记等。iptables提供了一种灵活的方式来控制网络流量,确保系统安全并优化网络性能。理解并熟练掌握...

    Iptables 基本命令(二)《博雅运维Linux全套笔记》

    通过以上命令的组合使用,用户可以灵活地配置iptables规则,实现网络安全策略的定制化,如只允许特定端口的数据包通过、丢弃或接受特定类型的数据包,甚至是根据IP地址范围和连接状态来控制数据包的流动。...

    iptable常用命令

    这里记录了iptables 防火墙规则的一些常用的操作指令。 下面的操作以 CentOS 为基础介绍,应该对不同的 Linux 发行版都差不多。在 CentOS 5.x 和 6.x 中,iptables 是默认安装的(如果没有安装,先安装 iptables ...

    两小时玩iptables

    最后,为了持久化iptables规则,我们可以使用`iptables-save`命令将当前的规则保存到文件,然后在系统启动时使用`iptables-restore`加载这些规则,确保重启后规则依然有效。 这个“两小时玩iptables”的音频讲解和...

    iptables自定义设置

    `iptables`是Linux系统下常用的网络管理工具之一,主要用于实现包过滤、网络地址转换(NAT)等功能。通过配置iptables规则,我们可以对进出系统的数据包进行精细控制,从而达到网络安全防护的目的。 #### 二、...

    Iptables 指南1.1-Oskar Andreasson

    - **iptables-save**:详细介绍了iptables-save命令的使用方法,这是保存iptables规则的主要工具。 - **iptables-restore**:解释了iptables-restore命令的用法,它是用来恢复之前保存的规则集的。 #### 规则的构建...

    10.6: iptables防火墙 、 filter表控制 、 扩展匹配 、 nat表典型应用 、 总结和答疑.docx

    iptables 防火墙的基本管理包括关闭 firewalld 服务、启动 iptables 服务、查看防火墙规则、追加、插入防火墙规则、删除、清空防火墙规则等。 二、filter 表控制 filter 表是 iptables 防火墙中的一个重要组件,...

Global site tag (gtag.js) - Google Analytics