#警告:在运行脚本后,勿必单独运行 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. Ubuntu----1

    1. 安装ubuntu之后,你必须要做的事情, 引自:http://itsfoss.com/things-to-do-after-installing-ubuntu-13-04/ 但是对于国人来讲,墙 ...

  2. JavaScript高级程序设计46.pdf

    鼠标按钮 只有在主鼠标按钮被单击(或键盘回车键被按下)是才会触发click事件,对于mousedown和mouseup事件,其event对象存在一个button属性,表示按下或者释放按钮.DOM的bu ...

  3. Raspberry Pi Kernel Compilation 内核编译官方文档

    elinux.org/Raspberry_Pi_Kernel_Compilation#Use_the_provided_compiler Software & Distributions: S ...

  4. 微信、QQ这类IM App怎么做——谈谈Websocket

    前言 关于我和WebSocket的缘:我从大二在计算机网络课上听老师讲过之后,第一次使用就到了毕业之后的第一份工作.直到最近换了工作,到了一家是含有IM社交聊天功能的app的时候,我觉得我现在可以谈谈 ...

  5. Tab选项卡切换卡JS效果

    <script type="text/javascript"> /* tab切换选项卡js效果 writed by *** 2010.08.13 1.currentid ...

  6. How do I use a host name to look up an IP address?

    The InetAddress class can be used to perform Domain Name Server (DNS) lookups. For example, you can ...

  7. 关于一个WCF调用的服务端和客户端的配置信息集合

    客户端的配置我知道. 但是: httpTransport maxReceivedMessageSize="2147483647" <dataContractSerialize ...

  8. Let's Encrypt+Apache+Tomcat实现免费HTTPS

    Let's Encrypt是一个免费SSL证书发行项目,发行的证书已经获得主流浏览器的支持,亲测谷歌浏览器(桌面版).火狐浏览器(桌面版).UC浏览器(手机版).360浏览器(手机版)支持,其它的暂没 ...

  9. PHP如何让apache支持.htaccess 解决Internal Server Error The server …错误

    TP框架  打开 www.newtp.com/index.php/Home/Index/abc出现 如下错误: Internal Server Error The server encountered ...

  10. SAP ABAP 程序调用FORM

    *&---------------------------------------------------------------------* *& Report ZHAIM_FOR ...