先举例子说明,若服务器网卡:

eth0 10.10.0.100

eth0:0 10.10.0.200

eth0:1 10.10.0.201

eth0:2 10.10.0.202

只允许10.10.0.100的IP启用80端口

iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT

需要关闭10.10.0.100的80端口,其他ip的80端口都需要打开

iptables -A INPUT -i eth0 -d 10.10.0.100 -p tcp --dport 80 -j DROP

只允许 10.10.0.100 访问本机的80端口

iptables -I INPUT -p TCP –dport 80 -j DROP

iptables -I INPUT -s 10.10.0.80 -p TCP –dport 80 -j ACCEPT

禁用80端口

iptables -I INPUT -p tcp --dport 80 -j DROP

打开80端口

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

只允许通过域名请求80端口
 iptables -A INPUT -s 100.64.0.0/10 -p tcp --dport 80 -j ACCEPT

理论详解:

INPUT 链 – 处理来自外部的数据。
OUTPUT 链 – 处理向外发送的数据。
FORWARD 链 – 将数据转发到本机的其他网卡设备上。
保存现有的规则:
iptables-save > /etc/iptables.rules
然后新建一个 bash 脚本,并保存到 /etc/network/if-pre-up.d/ 目录下:
#!/bin/bash
iptables-restore < /etc/iptables.rules
这样,每次系统重启后 iptables 规则都会被自动加载。

描述规则的基本参数
-p 协议(protocol)
指定规则的协议,如 tcp, udp, icmp 等,可以使用 all 来指定所有协议。
如果不指定 -p 参数,则默认是 all 值。这并不明智,请总是明确指定协议名称。
可以使用协议名 (如 tcp),或者是协议值(比如 6 代表 tcp)来指定协议。映射关系请查看 /etc/protocols
还可以使用–protocol 参数代替 -p 参数
-s 源地址(source)
指定数据包的源地址
参数可以使 IP 地址、网络地址、主机名
例如:-s 192.168.1.101 指定 IP 地址
例如:-s 192.168.1.10/24 指定网络地址
如果不指定 -s 参数,就代表所有地址
还可以使用–src 或者–source
-d 目的地址(destination)
指定目的地址
参数和 -s 相同
还可以使用–dst 或者–destination
-j 执行目标(jump to target)
-j 代表 ”jump to target”
-j 指定了当与规则 (Rule) 匹配时如何处理数据包
可能的值是 ACCEPT, DROP, QUEUE, RETURN
还可以指定其他链(Chain)作为目标
-i 输入接口(input interface)
-i 代表输入接口 (input interface)
-i 指定了要处理来自哪个接口的数据包
这些数据包即将进入 INPUT, FORWARD, PREROUTE 链
例如:-i eth0 指定了要处理经由 eth0 进入的数据包
如果不指定 -i 参数,那么将处理进入所有接口的数据包
如果出现! -i eth0,那么将处理所有经由 eth0 以外的接口进入的数据包
如果出现 -i eth+,那么将处理所有经由 eth 开头的接口进入的数据包
还可以使用–in-interface 参数
-o 输出(out interface)
-o 代表 ”output interface”
-o 指定了数据包由哪个接口输出
这些数据包即将进入 FORWARD, OUTPUT, POSTROUTING 链
如果不指定 -o 选项,那么系统上的所有接口都可以作为输出接口
如果出现! -o eth0,那么将从 eth0 以外的接口输出
如果出现 -i eth+,那么将仅从 eth 开头的接口输出
还可以使用–out-interface 参数

Iptables 命令格式

Iptables过滤条件

参考链接:

http://segmentfault.com/a/1190000002540601

http://www.cnblogs.com/metoy/p/4320813.html

Linux iptables设置的更多相关文章

  1. Linux防火墙设置——iptables

    防火墙用于监控往来流量,并根据用户定义的规则来过滤数据包以保证安全.iptables是Linux下设置防火墙规则的常用工具,它可以让你设置.维护以及查看防火墙的规则表.你可以定义多个表,每个表可以包含 ...

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

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

  3. Linux iptables原理--数据包流向

    Iptable与Netfilter 在上一篇文章 linux iptables常用命令--配置一个生产环境的iptables 我们知道iptables有好几个表,如raw,mangle,nat,fil ...

  4. linux下设置ip地址 gw网关,dns的方法

    本文介绍下,在linux中设置IP地址.网关.dns的方法,有需要的朋友作个参考吧.   设置linux网络的方法有两种:第一种:使用命令修改(直接即时生效) 复制代码代码示例: ip and net ...

  5. Zabbix监控Linux主机设置

          说明: Zabbix监控服务端已经配置完成,现在要使用Zabbix对Linux主机进行监控. 具体操作: 以下操作在被监控的Linux主机进行,这里以CentOS 6.x系统为例. 一.配 ...

  6. Linux iptables 配置规则

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

  7. Linux iptables用法与NAT

    1.相关概念 2.iptables相关用法 3.NAT(DNAT与SNAT) 相关概念 防火墙除了软件及硬件的分类,也可对数据封包的取得方式来分类,可分为代理服务器(Proxy)及封包过滤机制(IP ...

  8. [svc]linux iptables实战

    参考: http://blog.51yip.com/linux/1404.html 链和表 参考: https://aliang.org/Linux/iptables.html 配置 作为服务器 用途 ...

  9. 常用的 Linux iptables 规则

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

随机推荐

  1. applicationContext.xml 模板

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  2. Servlet 快速概览

    目录 生命周期 web.xml 获取表单数据(设置请求的编码格式) 返回响应内容(设置响应的编码格式) 结合前两点,总结基本模板 获取请求协议头部信息 设置响应头部信息 使用过滤器 在web.xml中 ...

  3. storm问题汇总

    1.删除了本地topology导致无法启动nimbus 删除storm的自定义的库中的数据 删除zookeeper中配置的dataDir中的数据 重启服务即可

  4. c# winform导出Excel

    //需要注意添加引用Microsoft.Office.Interop.Excel.dll string fileName =DateTime.Now.Year+ DateTime.Now.Month+ ...

  5. 关于PHP的那些坑

    因为PHP是弱类型语言,常常会发生许多意想不到的问题,所以,我们再次一一细数这些我们踏过的坑!!! 1) foreach中自动回将key为数值的转化成整型,造成无法匹配 function transl ...

  6. Oracle 强制中止正在执行的SQL语句

    -- 1 查询正在执行的sql语句 select b.sid, b.username, b.serial#, a.spid, b.paddr, c.sql_text, b.machine from v ...

  7. angularjs4+ionic3集成搭建

    1:安装一下cnpm用淘宝镜像安装npm install -g cnpm --registry=https://registry.npm.taobao.org 2:使用 cnpm命令安装(全局安装 A ...

  8. cmd远程连接oracle数据库

  9. MyBatis映射文件5

    返回map     Map<String,Object> getEmpByResMap(Integer id); <select id="getEmpByResMap&qu ...

  10. Linux安装mysql5.6

    安装mysql5.6https://www.cnblogs.com/wangdaijun/p/6132632.html