iptables详解以及企业常用案例

iptables采用netfilter网络架构实现包过滤防火墙,可以实现硬件防火墙的常用功能,亦可以在应用方案中作为硬件防火墙的替代品.在本文档里我们将详细介绍iptables的功能,以及剖析企业常用案例

一、iptables的工作原理

1、iptables的3个表

iptables共三个表,分别是filter,nat,mangle。我们通过编辑这三个表可以实现不同的功能。其中fileter主要是为了控制外部PC对本服务器的访问,比如在服务器上作了web服务,想只允许某网段才能访问就是利用了fileter进行访问控制。Nat表主要用在网关服务器上,可以实现nat,路由等功能。Mangle不常用,此教程不做介绍。

2、每个表的规则链

iptables默认的表:

filter(包含INPUT,FORWARD,OUTPUT)

Nat(包含PREROUTING,POSTROUTING,OUTPUT)

Mangle (包含INPUT,FORWARD,OUTPUT,PREROUTING ,POSTROUTING)

其中更详细如下图所示:

注:filter的OUTPUT规则链和nat的OUTPUT没有联系,即不同表的规则链即使名字相同也毫无关系。

我们通过添加删除修改规则来改变规则链,具体如何修改我们将在下文进行详细介绍。

二、iptables配置

1、iptables的常用命令

安装服务所需要的rpm包iptables-*-i386.rpm

安装服务rpm –ivh iptables*

启动iptables服务service iptables start

关闭iptables服务service iptables stop

查看iptables服务状态service iptables status

或者通过脚本来进行启动|关闭|查看:/etc/init.d/iptables {start|stop|status}

保存当前设置到/etc/sysconfig/iptables:service iptables save

查看当前表中规则iptables [-t 表名]–L      //如果不指定表名将以filter查看,下同

清空表中规则iptables [-t 表名] –F

删除自定义规则链iptables [-t 表名] –X

计数器归零iptables –Z

2、iptables默认规则链的默认设置

iptables [-t 表名] –P 规则链 处理方式

(注:处理方式常用有3种,丢弃,拒绝,接受允许,分别是DROP,REJECT,ACCEPT)

例:我们需要将filter的INPUT规则链的默认设置为丢弃,则

iptables –t filter –P INPUT DROP

3、添加iptables规则

iptables [-t 表名] –A 规则链 –s 源地址 –d 目的地址 –dport 目的端口 –j 处理方式

例:我们接受外界PING

iptables –t filter –A INPUT –p icmp –j ACCEPT

附:iptables添加规则时所涉及的命令选项以及处理方式

添加规则的命令选项;-i  指定入口网卡,-o  指定输出网卡,-p  指定数据包协议,如TCP,UDP,-s  指定源地址,-sport  指定源端口,-d  指定目的地址,-dport  指定目的端口,-j  处理方式

其中处理方式有一下几种,ACCEPT  接受数据包,DROP  丢弃数据包,REJECT  拒绝,SNAT源地址转换,DNAT  目的地址转换,MASQUERADE  IP伪装,LOG  日志功能。

三、企业常用案例

前言:企业上一般使用脚本来配置iptables,这样方便以后修改。

1、  一台web服务器对外提供http,htp服务,禁止外来的其他访问。

脚本如下

#!/bin/bash

iptables –F

iptables –X

iptables –Z

iptables –t nat –F

iptables –t nat –X

iptables –t nat –Z

iptables –P INPUT DROP

iptables –P OUTPUT ACCEPT

iptables –P FORWARD ACCEPT

iptables –t nat –P PREROUTING ACCEPT

iptables –t nat –P POSTROUTING ACCEPT
iptables –t nat –P OUTPUT ACCEPT

iptables –A INPUT –p tcp –-dport 80 –j ACCEPT

iptables –A INPUT –p tcp –-dport 21 –j ACCEPT

service iptables save

执行脚本,完成

2、  企业有一台linux网管,需要做NAT服务,将192.168.1.0网段的IP修改成网卡ech0的IP

脚本如下

#!/bin/bash

echo "1" > /proc/sys/net/ipv4/ip_forward

modprobe ip_tables

modprobe ip_nat_ftp

modprobe ip_nat_irc

modprobe ip_conntrack

modprobe ip_conntrack_ftp

modprobe ip_conntrack_irc

iptables -F

iptables -X

iptables -Z

iptables -F -t nat

iptables -X -t nat

iptables -Z -t nat

iptables -P INPUT DROP

iptables -P OUTPUT ACCEPT

iptables -P FORWARD ACCEPT

iptables -t nat -P PREROUTING ACCEPT

iptables -t nat -P POSTROUTING ACCEPT

iptables -t nat -P OUTPUT ACCEPT

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

service iptables save

执行脚本,完成

转载于:https://blog.51cto.com/koy1619/284578

iptables详解以及企业常用案例相关推荐

  1. iptables详解及一些常用规则

    iptables简介 netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火 ...

  2. Iptables 详解与实战案例

    目录 一.iptables简介 二.iptables的表tables与链chains 2.1 四种内建表 2.1.1 Filter表 2.1.2 NAT表 2.1.3 Mangle表 2.1.4 Ra ...

  3. iptables详解及应用(史上最全)

    1.1 iptables概念 从逻辑上讲.防火墙可以大体分为主机防火墙和网络防火墙. 主机防火墙:针对于单个主机进行防护. 网络防火墙:往往处于网络入口或边缘,针对于网络入口进行防护,服务于防火墙背后 ...

  4. linux iptables 详解

    1.iptables的发展: iptables的前身叫ipfirewall (内核1.x时代),这是一个作者从freeBSD上移植过来的,能够工作在内核当中的,对数据包进行检测的一款简易访问控制工具. ...

  5. iptables详解--转

    出处:http://yijiu.blog.51cto.com/433846/1356254 iptables详解 基本概念: 1.防火墙工作在主机边缘:对于进出本网络或者本主机的数据报文,根据事先设定 ...

  6. 详解DNS的常用记录(上):DNS系列之二

    详解DNS的常用记录(上) 在上篇博文中,我们介绍了DNS服务器的体系结构,从中我们了解到如果我们希望注册一个域名,那么必须经过顶级域名服务器或其下级的域名服务器为我们申请的域名进行委派,把解析权委派 ...

  7. iptables详解和练习

    防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种.无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘.而我们的任务就是需要去定义到底防火墙如何工作, ...

  8. iptables详解和snat dnat

    一:前言 防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种.无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘.而我们的任务就是需要去定义到底防火墙 ...

  9. iptables详解之filter

    iptables详解之filter iptables令很多小伙伴脑阔疼,下面我们来说说如何使用iptables. 一.iptables格式 1.1.iptables 帮助 通过iptables --h ...

最新文章

  1. eclipse的remote search
  2. Unix编程艺术——Unix哲学
  3. js escape,unescape解决中文乱码问题的方法
  4. 密码学-hash散列表
  5. 百度地图 Android SDK - 检索功能使用的简单演示样例
  6. reuse project css less path folder hierarchy issue
  7. java计算时间差 Java问题通用解决代码
  8. 动态调整线程池_调整线程池的重要性
  9. div模拟select/option解决兼容性问题及增加可拓展性
  10. 外参矩阵(旋转矩阵+平移向量)以及外方位元素的关系
  11. efk使用_如何使用EFK创建开源堆栈
  12. android 应用创建桌面快捷方式
  13. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_07 缓冲流_3_BufferedInputStream_字节缓冲...
  14. inovance变频器说明书参数设置_汇川(INOVANCE)MD300A变频器说明书.pdf
  15. unity移动平台阴影解决方案
  16. OPPO R17在哪里打开usb调试模式的完美流程
  17. java运行内存不足_Java运行过程出现的内存不足问题
  18. centos 关机命令_全了 Linux 常用命令大汇集
  19. WebBrowser抓图示例——截取网页上的验证码图片
  20. 递归 (一): 递归思想与 C++ 中的递归函数及两个递归应用示例 (斐波那契, 汉诺塔)

热门文章

  1. 数据结构 | 实现串(定长顺序存储表示法)
  2. mybatis15 mapper方式 代码
  3. JAVA的嵌入式脚本开发(中)
  4. 在EF4.0中获取ObjectContext的数据库连接字符串
  5. C#中使用tao.opengl绘制三维模型
  6. Access-数据类型与.net OleDbType枚举类型对应关系
  7. 多线程都调用一个函数,在这个函数中的一个局部变量什么情况会被修改
  8. c++设置不适用预编译头
  9. IOS开发基础之异步下载网络图片第1部分
  10. java not found_java_home not found in your enviroment 问题解决方法