#警告:在运行脚本后,勿必单独运行 iptables -F
#因为脚本包含的默认规则为“禁止所有访问”
#当其它规则被清除后,系统表现为无法访问状态,需要重启系统恢复
#iptables -L 查看当前已应用的规则

#eth0 外网网卡
#eth1 内网网卡
#lo 本地环路

#加载模块
modprobe ip_tables

#清除规则
iptables -F
iptables -t nat -F
iptables -t mangle -F

#默认规则:禁止所有数据出入
#当没有匹配规则时生效
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

#允许本地访问
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

#允许内网
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A OUTPUT -o eth1 -j ACCEPT

#允许ping
iptables -A INPUT -p icmp -j ACCEPT

#开放WEB服务
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT

#接收外部网站的接口数据
iptables -A INPUT -i eth0 -p tcp --sport 80 -j ACCEPT

#外网非法TCP限制
iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL ALL -j DROP
iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL NONE -j DROP
iptables -A INPUT -i eth0 -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
iptables -A INPUT -i eth0 -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

#启用DNS端口,不开启会导致访问缓慢
iptables -I INPUT -i eth0 -p udp --sport 53 -j ACCEPT
iptables -I INPUT -i eth0 -p tcp --sport 53 -j ACCEPT

#开启时间同步端口
iptables -A INPUT -i eth0 -p tcp --sport 123 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --sport 123 -j ACCEPT

#防洪水攻击,目前不生效
#iptables -N synfoold
#iptables -A synfoold -p tcp --syn -m limit --limit 100/s -j RETURN
#iptables -A synfoold -p tcp -j REJECT --reject-with tcp-reset
#iptables -A INPUT -p tcp -m state --state NEW -j synfoold

#保存至文件
/etc/rc.d/init.d/iptables save

#重启服务
#service iptables restart

#结束

#以下是额外的访问规则

#开放外网的管理端口
Allow_ip="222.222.222.222"
#iptables -A INPUT -i eth0 -s $Allow_ip -j ACCEPT

iptables -A INPUT -i eth0 -s $Allow_ip -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i eth0 -s $Allow_ip -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -i eth0 -s $Allow_ip -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -i eth0 -s $Allow_ip -p tcp --dport 8888 -j ACCEPT

#允许外部的数据访问
#iptables -A INPUT -i eth0 -p tcp --dport 3306 -j ACCEPT

linux 的一个防火墙策略的更多相关文章

  1. Linux中的iptables防火墙策略

    0x01 简介 iptables其实不是真正的防火墙,我们可以把它理解成一个客户端代理,用户通过iptables这个代理,将用户的安全设定执行到对应的"安全框架"中,这个" ...

  2. Linux下iptables防火墙用法规则详解

    管理网络流量是系统管理员必需处理的最棘手工作之一,我们必需规定连接系统的用户满足防火墙的传入和传出要求,以最大限度保证系统免受×××.很多用户把 Linux 中的iptables当成一个防火墙,从严格 ...

  3. LINUX中IPTABLES防火墙使用

    对于有公网IP的生产环境VPS,仅仅开放需要的端口,即采用ACL来控制IP和端口(Access Control List). 这里可以使用Linux防火墙netfilter的用户态工具 iptable ...

  4. Linux网络——配置防火墙的相关命令

    Linux网络——配置防火墙的相关命令 摘要:本文主要学习了如何在Linux系统中配置防火墙. iptables命令 iptables准确来讲并不是防火墙,真正的防火墙是运行于系统内核中的netfil ...

  5. Linux基础之防火墙

    Linux基础之防火墙 Iptables   最初认识iptables还是在安卓手机上玩tiny的时候知道的,什么扫地僧.Jume等防跳脚本都基于iptables原理,一直觉得iptables的命令很 ...

  6. Linux中的防火墙(Netfilter、Iptables、Firewalld)

    目录 Netfilter Iptables iptables做本地端口转发 Firewalld Netfilter Netfilter是Linux 2.4内核引入的全新的包过滤引擎,位于Linux内核 ...

  7. Linux下系统防火墙的发展历程和怎样学好防火墙(iptalbes和firewalld)

    有关firewalld和iptables详细使用的文章 iptables详解 firewalld详解 =====================================华丽的分割线====== ...

  8. 9.Linux之iptables防火墙

    Linux之iptables防火墙 目录 Linux之iptables防火墙 iptables防火墙概述 netfilter和iptables之间的关系 netfilter iptables ipta ...

  9. Linux 7.x 防火墙&端口

    Linux 7.x 防火墙&端口 查看当前防火墙的状态: # firewall-cmd --state 也可以使用指令:systemctl status firewall.service 启动 ...

随机推荐

  1. js的 new image()用法[转]

    创建一个Image对象:var a=new Image();    定义Image对象的src: a.src=”xxx.gif”;    这样做就相当于给浏览器缓存了一张图片. 图像对象: 建立图像对 ...

  2. 控制反转(IoC)与依赖注入(DI)

    前言 最近在学习Spring框架,它的核心就是IoC容器.要掌握Spring框架,就必须要理解控制反转的思想以及依赖注入的实现方式.下面,我们将围绕下面几个问题来探讨控制反转与依赖注入的关系以及在Sp ...

  3. useradd、passwd、userdel

    useradd是新建用户 userdel -r 是删除用户 passwd是修改密码 groupadd是新建组 groupdel是删除组 useradd yonghu  为添加用户 echo " ...

  4. HTML5 Canvas 颜色填充学习

    ---恢复内容开始--- 如果我们想要给图形上色,有两个重要的属性可以做到:fillStyle 和 strokeStyle. fillStyle = color strokeStyle = color ...

  5. Android应用开发学习之Selector

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 本文我们来看一个通过selector动态改变ImageButton背景图片的例子,下图是该程序的运行效果: 该程序中 ...

  6. Sruts2文件上传的ContentType的取值列表

    ".*"="application/octet-stream" ".001"="application/x-001" & ...

  7. 1629 B君的圆锥

    #include <iostream> #include <queue> #include <stack> #include <cstdio> #inc ...

  8. GC overhead limit exceeded解决

    java.lang.OutOfMemoryError: GC overhead limit exceeded解决   一.异常如下:Exception in thread "main&quo ...

  9. Splunk < 6.3 版本 SSL 证书过期事宜

    最近Splunk发出邮件提醒客户SSL证书过期事宜. 问题看起来比较严重,因为所有的实例,包括 forwarder\peernode\indexer\master node 等等都受影响,而且Depl ...

  10. android86 监听SD卡状态,勒索软件,监听应用的安装、卸载、更新,无序广播有序广播

    * 添加权限 <uses-permission android:name="android.permission.RECEIVE_SMS"/> * 4.0以后广播接收者 ...