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

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. 用python实现一个回文数

    判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向 ...

  2. python札记

    进制转换 num = "0011"v = int(num, base=16)print(v)2->16

  3. [2017BUAA软工助教]案例分析小结

    BUAA案例分析小结 一.作业要求 http://www.cnblogs.com/jiel/p/7631784.html 二.统计数据 总人数 神策数据 博客园博客 必应词典 30 1 12 17 三 ...

  4. zabbix使用jmx监控tomcat

    zabbix监控Tomcat/JVM实例性能(115) – 运维生存时间http://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/ zabbi ...

  5. cent6.x配置主机名及静态网络

    # 修改网卡名为NAME="eth0" [root@jenkins ~]# -persistent-net.rules # This file was automatically ...

  6. vuex的购物车效果 index.js

    import Vue from 'vue'; import Vuex, { Store } from 'vuex'; import { stat } from 'fs'; Vue.use(Vuex); ...

  7. java设计模式:面向对象设计的7个原则

    在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据7条原则来开发程序,从而提高软件开发效率,节约软件开发成本和维护成本. 这7条原则分别是:开闭原则.里氏 ...

  8. 单个源文件下CmakeList.txt

    单个源文件下CmakeList.txt 1. main.c代码 & CmakeLists.txt 文件内容 在任意自己选定的目录下(t1/)编写main.c 与 CmakeLists.txt ...

  9. 校园电商项目2(基于SSM)——模块设计

    步骤一:各模块职责 步骤二:实体类设计 package com.figsprite.o2o.bean; import java.util.Date; public class Area { priva ...

  10. James 3.1服务器的安装与搭建

    参考:1. ububtu下基于docker安装配置Apache James 3.1.0: https://blog.csdn.net/bonwei/article/details/83061372 2 ...