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

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. Success Rate CodeForces - 807C (数学+二分)

    You are an experienced Codeforces user. Today you found out that during your activity on Codeforces ...

  2. python_函数名的应用、闭包、装饰器

    0.动态传参内容补充: 0.1 单纯运行如下函数不会报错. def func1(*args,**kwargs): pass func1() 0.2 *的魔性用法 * 在函数定义的时候,代表聚合. *在 ...

  3. MYSQL 创建数据库SQL

    CREATE DATABASE crm CHARACTER SET utf8 COLLATE utf8_general_ci; MySQL :: MySQL 5.7 Reference Manual ...

  4. excel vba 不可查看

    打击共享工作簿 去掉[允许多用户同事编辑,同事允许工作簿合并]

  5. node-cookie-parserDemo

    let express = require('express'); let app = new express(); let cookieParser = require('cookie-parser ...

  6. 【转帖】远程显示(操作) 服务器 GUI 程序(图形化界面) (基于 X11 Forwarding + Centos + MobaXterm)

    远程显示(操作) 服务器 GUI 程序(图形化界面) (基于 X11 Forwarding + Centos + MobaXterm) https://zhuanlan.zhihu.com/p/310 ...

  7. js 判断字符串中是否包含某个字符串的方法实例

    String对象的方法 方法一: indexOf()   (推荐) var str = "123"; console.log(str.indexOf("3") ...

  8. Docker部署运行springboot项目,并使用Dockerfile制作镜像

    前言: 本来是要搭建一个自动化部署分布式项目的服务器平台的,使用jenkins+k8s+ELK+springboot把一个简单的springboot项目给搞起来,由于工程太大,先分开把每个技术组件单独 ...

  9. Eclipse中Maven的简单使用

    一.Maven的安装 检查自己的电脑是否安装了maven,在cmd中输入 mvn -v 命令即可查看 安装配置maven  1.解压部署Maven核心程序 ①检查JAVA_HOME环境变量 C:\Wi ...

  10. 转《JavaScript中的图片处理与合成》

    引言: 本系列现在构思成以下4个部分: 基础类型图片处理技术之缩放.裁剪与旋转(传送门): 基础类型图片处理技术之图片合成(传送门): 基础类型图片处理技术之文字合成(传送门): 算法类型图片处理技术 ...