转自

25 个常用的 Linux iptables 规则 - 文章 - 伯乐在线
http://blog.jobbole.com/108468/

# 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 DROP

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

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

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

iptables -A INPUT -i eth0 -p tcp -s 192.168.200.0/ --dport  -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport -m state --state ESTABLISHED -j ACCEPT

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

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

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

iptables -A INPUT -i eth0 -p tcp -m multiport --dports ,, -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp -m multiport --sports ,, -m state --state ESTABLISHED -j ACCEPT

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

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

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

iptables -A OUTPUT -o eth0 -p tcp -d 192.168.101.0/ --dport  -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport -m state --state ESTABLISHED -j ACCEPT

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

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

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

iptables -A PREROUTING -i eth0 -p tcp --dport  -m state --state NEW -m nth --counter  --every  --packet  -j DNAT --to-destination 192.168.1.101:
iptables -A PREROUTING -i eth0 -p tcp --dport -m state --state NEW -m nth --counter --every --packet -j DNAT --to-destination 192.168.1.102:
iptables -A PREROUTING -i eth0 -p tcp --dport -m state --state NEW -m nth --counter --every --packet -j DNAT --to-destination 192.168.1.103:

# 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..x)
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

# 16. 允许外出的  DNS

iptables -A OUTPUT -p udp -o eth0 --dport  -j ACCEPT
iptables -A INPUT -p udp -i eth0 --sport -j ACCEPT

# 17. 允许 NIS 连接

# rpcinfo -p | grep ypbind ; This port is  and
#iptables -A INPUT -p tcp --dport -j ACCEPT
#iptables -A INPUT -p udp --dport -j ACCEPT
#iptables -A INPUT -p tcp --dport -j ACCEPT
#iptables -A INPUT -p udp --dport -j ACCEPT
#iptables -A INPUT -p tcp --dport -j ACCEPT
#iptables -A INPUT -p udp --dport -j ACCEPT

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

iptables -A INPUT -i eth0 -p tcp -s 192.168.101.0/ --dport  -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport -m state --state ESTABLISHED -j ACCEPT

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

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

# 20. 允许 Sendmail 或 Postfix

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

# 21. 允许 IMAP 和 IMAPS

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

# 22. 允许 POP3 和 POP3S

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

# 23. 防止 DoS 攻击

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

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

iptables -t nat -A PREROUTING -p tcp -d 192.168.102.37 --dport  -j DNAT --to 192.168.102.37:
iptables -A INPUT -i eth0 -p tcp --dport -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport -m state --state ESTABLISHED -j ACCEPT

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

iptables -N LOGGING
iptables -A INPUT -j LOGGING
iptables -A LOGGING -m limit --limit /min -j LOG --log-prefix "IPTables Packet Dropped: " --log-level
iptables -A LOGGING -j DROP

25 个常用的 Linux iptables 规则【转】的更多相关文章

  1. 25 个常用的 Linux iptables 规则

    # 1. 删除所有现有规则 iptables -F   # 2. 设置默认的 chain 策略 iptables -P INPUT DROP iptables -P FORWARD DROP ipta ...

  2. 常用的 Linux iptables 规则

    一些常用的 Linux iptables 规则,请根据自己的具体需要再修改. 转载自:http://mp.weixin.qq.com/s/uAPzh9_D4Qk6a3zBh7Jq5A # 1. 删除所 ...

  3. linux iptables规则介绍

    今天又学习了一下iptables,做一点总结来方便以后查阅. Netfilter(网络过滤器)是Linux操作系统核心层内部的一个数据包处理模块,主要负责数据包的拦截和转发,而iptables是Net ...

  4. Linux iptables

    一.简介 http://liaoph.com/iptables/ 二.操作 1)查看规则 iptables -t filter -L -n iptables -t nat -L -n iptables ...

  5. Linux iptables 防火墙常用规则

    iptables 安装 yum install iptables iptables 规则清除 iptables -F iptables -X iptables -Z 开放指定的端口允许本地回环接口(即 ...

  6. Linux iptables常用命令的使用

    为什么会有本文 因为最近帮一个朋友布署一个上网梯子,他那边本来用的是v2ray,但是他想用ssr,但是安装配置ssr过程中出了很多问题,比如linux内核版本4.9有点老,不支持bbr加速.无法连接s ...

  7. Linux iptables常用命令

    iptables 是 Linux 中重要的访问控制手段,是俗称的 Linux 防火墙系统的重要组成部分.这里记录了iptables 防火墙规则的一些常用的操作指令. 下面的操作以 CentOS 为基础 ...

  8. linux iptables常用命令之配置生产环境iptables及优化

    在了解iptables的详细原理之前,我们先来看下如何使用iptables,以终为始,有可能会让你对iptables了解更深 所以接下来我们以配置一个生产环境下的iptables为例来讲讲它的常用命令 ...

  9. Linux iptables 配置规则

    Linux iptables 防火墙配置规则 前言:把网上我感觉不错iptables的访问规则都统一在这里,以后做参考. modprobe ipt_MASQUERADE modprobe ip_con ...

随机推荐

  1. BZOJ3512 DZY Loves Math IV(杜教筛+线性筛)

    注意到n很小,考虑枚举i.现在要求的是f(n,m)=Σφ(in) (i=1~m).显然当n没有平方因子时,φ(in)=φ(i)·φ(n/gcd(i,n))·gcd(i,n).利用φ*1=id又可得φ( ...

  2. 在 Linux服务器中安装 Python 3.6

    一.服务器环境配置 在 CentOS 7 中安装 Python 之前,请确保系统中已经有了所有必要的开发依赖: # yum -y groupinstall development # yum -y i ...

  3. LEP所需环境

    一.LEP所需环境 Python 3.6 Flask Docker 二.Python安装 LEP必须在Python3.6环境下运行,如果是在Python2.7下运行会报以下错误! Python3.6的 ...

  4. 解题:JSOI 2007 重要的城市

    题面 考虑一个点$x$,如果某两个点$u,v$间的所有最短路都经过$x$,那么$x$肯定是重要的.这个题$n$比较小,所以我们直接跑floyd,在过程中记录 当发生松弛时,我们具体讨论: 如果这个长度 ...

  5. [USACO10OPEN]牛跳房子Cow Hopscotch

    题目描述 奶牛们正在回味童年,玩一个类似跳格子的游戏,在这个游戏里,奶 牛们在草地上画了一行N个格子,(3 <=N <= 250,000),编号为1..N. 就像任何一个好游戏一样,这样的 ...

  6. (转)maven镜像详解

    背景:一直以来,对maven镜像不是特别的了解,这里通过对网上资料的收集,做个详细的记录. 镜像介绍 如果仓库X可以提供仓库Y存储的所有内容,那么就可以认为X是Y的一个镜像.换句话说,任何一个可以从仓 ...

  7. shell 中的流程控制关键字

    if...else if [ $1x == "ab"x ]; then echo "you had enter ab" elif [ $1x == " ...

  8. 怎样彻底卸载(删除)SQL server2000

    如何完全卸载SQL server 2000 一.卸载安装程序:找到电脑右下角的Windows开始按钮,找到控制面板——卸载程序. 找到server 2000的安装程序,并点击后面的卸载按钮.  是,确 ...

  9. 通过ORM模型看python对象创建过程

    简易django ORM模型如下所示: #!/usr/bin/env python # encoding: utf-8 """ @version: 1.0 @author ...

  10. (转) linux下vim和bash配置文件

    1.注释版  ~/.vimrc "去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限 set nocompatible set autoread " 文件修改之后自动载入 ...