`

常用的 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常用规则.docx

    linux防火墙iptables常用规则.docx

    详解Linux iptables常用防火墙规则

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

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

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

    centos6 iptables常用操作

    centos6 iptables常用操作, 规则的新增。

    iptable常用命令

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

    Iptables 中文指南

    常用命令详解 A.1. 查看当前规则集的命令 A.2. 修正和清空iptables的命令 B. 常见问题于与解答 B.1. 模块装载问题 B.2. 未设置SYN的NEW状态包 B.3. NEW状态的SYN/ACK包 B.4. 使用私有IP地址的ISP B.5. 放行...

    Linux系统iptables管理的8种命令

    虽然iptables在Unix系统中不是服务,但是为了方便平时的管理也对...  其中以下5项是常用的:  start:启动(读取配置文件里的规则)  stop:停止(清空规则)  restart:重启(清空规则读取配置文件里规则)  

    企业级Linux服务攻略

    8.3.3 查看iptables规则 8.3.4 添加、删除、修改规则 8.3.5 保存规则与恢复 8.3.6 常用实例及技巧分析 8.3.7 使用日志监控iptables 8.4 NAT(网络地址转换) 8.4.1 iptables实现NAT 8.4.2 配置SNAT 8.4.3 配置DNAT ...

    iptables:尝试对iptables进行理智的介绍

    传奇: 常用或提及不常用或此处未记录 iptables (和ip6tables )是一个用户空间工具,用于在Linux内核的Xtables / Netfilter框架内配置NAT,数据包处理和有状态数据包过滤。 它使用称为表的组织单位来保存包含规则...

    iptables基础

    iptables是Linux上常用的防火墙软件,iptables的安装、清除iptables规则、iptables只开放指定端口、iptables屏蔽指定ip、ip段及解封、删除已添加的iptables规则等

    服务器安全狗linux版V2.0(V2.0.00634)

    (1)ddos防护添加的iptables规则优先级提高 (2)对不支持的连接工具的错误提示信息修正 (3)某些系统下对gb2312编码不支持情况下的安装脚本错误 服务器安全狗Linux版(SafeDog for Linux Server)是为Linux服务器...

    Linux常用的命令。。。。。

    iptables –F 清空所有网卡规则 crontab(计划任务): 查看:crontab –l 编辑: crontab –e –u user 配置文件: 分 时 日 月 周 看最后一行:* * * * * user command(如果不用在此时间则用* eg. 10 8 * * ...

    Linux安全设置实践.

    Linux基本防护措施 使用sudo分配管理权限 提高SSH服务安全 SELinux安全防护 加密与解密应用 使用AIDE做入侵检测 扫描与抓包分析 案例1:部署audit监控文件 案例2:加固常见服务的安全 案例3:使用diff和patch工具打...

    ferm:ferm是iptables的前端

    安装ferm 进行安装该软件包不需要编译,只需确保您具有perl (在任何基本Linux系统中都存在)和iptables (包括iptables-save和iptables-restore ),以及支持netfilter的内核即可。 以root用户身份运行mak

    linux中ipset命令的使用方法详解

    iptables是在linux内核里配置防火墙规则的用户空间工具,它实际上是netfilter框架的一部分.可能因为iptables是netfilter框架里最常见的部分,所以这个框架通常被称为iptables,iptables是linux从2.4版本引入的防火墙...

    redhat linux教材20课程学习文档

    18.9.3 防火墙iptables 18.10 简单攻击检测 18.11 使用安全工具 18.11.1 saint 18.11.2 SSH 18.11.3 tcplogd 18.11.4 swatch 18.11.5 tcpdump 18.11.6 whois 第十九章 系统优化和核心参数调整 19.1 系统性能与优化...

    Linux高级路由和流量控制

    2.3. LINUX能为你做什么 3 2.4. 内务声明 3 2.5. 访问,CVS和提交更新 4 2.6. 邮件列表 4 2.7. 本文档的布局 4 第3章 介绍 IPROUTE2 6 3.1 为什么使用 IPROUTE2 6 3.2 IPROUTE2 概览 6 3.3 先决条件 6 3.4 ...

    iptstate命令 以top风格显示内核的iptables状态

    iptstate命令以top命令类似的风格实时显示Linux内核中iptables的工作状态。输出信息可以以任何字段进行排序,可以定义状态刷新的频率和单次显示状态信息。 语法格式: iptstate [参数] 常用参数: -b 指定输出...

Global site tag (gtag.js) - Google Analytics