iptables详解以及企业常用案例
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详解以及企业常用案例相关推荐
- iptables详解及一些常用规则
iptables简介 netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火 ...
- Iptables 详解与实战案例
目录 一.iptables简介 二.iptables的表tables与链chains 2.1 四种内建表 2.1.1 Filter表 2.1.2 NAT表 2.1.3 Mangle表 2.1.4 Ra ...
- iptables详解及应用(史上最全)
1.1 iptables概念 从逻辑上讲.防火墙可以大体分为主机防火墙和网络防火墙. 主机防火墙:针对于单个主机进行防护. 网络防火墙:往往处于网络入口或边缘,针对于网络入口进行防护,服务于防火墙背后 ...
- linux iptables 详解
1.iptables的发展: iptables的前身叫ipfirewall (内核1.x时代),这是一个作者从freeBSD上移植过来的,能够工作在内核当中的,对数据包进行检测的一款简易访问控制工具. ...
- iptables详解--转
出处:http://yijiu.blog.51cto.com/433846/1356254 iptables详解 基本概念: 1.防火墙工作在主机边缘:对于进出本网络或者本主机的数据报文,根据事先设定 ...
- 详解DNS的常用记录(上):DNS系列之二
详解DNS的常用记录(上) 在上篇博文中,我们介绍了DNS服务器的体系结构,从中我们了解到如果我们希望注册一个域名,那么必须经过顶级域名服务器或其下级的域名服务器为我们申请的域名进行委派,把解析权委派 ...
- iptables详解和练习
防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种.无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘.而我们的任务就是需要去定义到底防火墙如何工作, ...
- iptables详解和snat dnat
一:前言 防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种.无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘.而我们的任务就是需要去定义到底防火墙 ...
- iptables详解之filter
iptables详解之filter iptables令很多小伙伴脑阔疼,下面我们来说说如何使用iptables. 一.iptables格式 1.1.iptables 帮助 通过iptables --h ...
最新文章
- eclipse的remote search
- Unix编程艺术——Unix哲学
- js escape,unescape解决中文乱码问题的方法
- 密码学-hash散列表
- 百度地图 Android SDK - 检索功能使用的简单演示样例
- reuse project css less path folder hierarchy issue
- java计算时间差 Java问题通用解决代码
- 动态调整线程池_调整线程池的重要性
- div模拟select/option解决兼容性问题及增加可拓展性
- 外参矩阵(旋转矩阵+平移向量)以及外方位元素的关系
- efk使用_如何使用EFK创建开源堆栈
- android 应用创建桌面快捷方式
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_07 缓冲流_3_BufferedInputStream_字节缓冲...
- inovance变频器说明书参数设置_汇川(INOVANCE)MD300A变频器说明书.pdf
- unity移动平台阴影解决方案
- OPPO R17在哪里打开usb调试模式的完美流程
- java运行内存不足_Java运行过程出现的内存不足问题
- centos 关机命令_全了 Linux 常用命令大汇集
- WebBrowser抓图示例——截取网页上的验证码图片
- 递归 (一): 递归思想与 C++ 中的递归函数及两个递归应用示例 (斐波那契, 汉诺塔)
热门文章
- 数据结构 | 实现串(定长顺序存储表示法)
- mybatis15 mapper方式 代码
- JAVA的嵌入式脚本开发(中)
- 在EF4.0中获取ObjectContext的数据库连接字符串
- C#中使用tao.opengl绘制三维模型
- Access-数据类型与.net OleDbType枚举类型对应关系
- 多线程都调用一个函数,在这个函数中的一个局部变量什么情况会被修改
- c++设置不适用预编译头
- IOS开发基础之异步下载网络图片第1部分
- java not found_java_home not found in your enviroment 问题解决方法