Linux防火墙基础知识及应用;设置SNAT策略,局域网共享上网;DNAT策略,发布内部服务器
2018-08-01 23:52
489 查看
防火墙,通俗地打个比方就相当于城池周围的护城河,开放和管理服务的提供
一般电脑系统的安全主要取决于:
1)第三方监控杀毒软件 如360杀毒软件
2)系统策略 防火墙规则设定
3)文件的权限设定
Linux防火墙体系主要工作在网络层,针对TCP/IP数据包的过滤和限制,属于典型的包过滤防火墙(或称为网络层防火墙),Linux系统的防火墙体系基于内核编码实现,具有非常稳定的性能和极高的效率,因此获得广泛的应用。
Netfilter:指的是linux内核中实现包过滤防火墙的内部结构,不以程序或文件的形式存在。
Iptables:用来管理linux防火墙的命令程序
Iptables的表,链结构
Iptables的作用是为包过滤机制的实现提供规则,通过各种不同的规则,告诉netfilter对来自某些源,前往某些目的或具有某些协议特征的数据包应该如何处理。为了更加方便地组织和管理防火墙规则,iptables采用了“表”,“链”的分层结构
根据处理数据包的不同时机划分为五种链
根据规则的不同功能划分为默认的四个表,表和链的结构关系如下图所示,
数据包过滤的匹配流程,
iptables管理着四个默认表和五种链,各种防火墙规则依次存放在链中。当一个数据包到达防火墙以后,以及数据包进出防火墙时的处理,遵从以下的匹配流程
编写防火墙规则,
主要介绍一下netfilter防火墙的管理工具iptables命令的使用,包括基本的语法格式,数据包控制类型,以及如何管理,编写防火墙规则。
添加,查看,删除规则等基本操作
在熟练编写各种防火墙规则之前,首先需要掌握查看规则,添加规则,删除规则,清空链内规则等基本操作。
规则的匹配条件
结合实验,验证一下防火墙iptables的应用
实验环境;
1)vmware workstation虚拟机环境,三台虚拟机。都使用仅主机模式。
2)一台redhat6.5系统的PC充当网关防火墙,设置两个网卡eth0:ip为192.168.30.1 eth1: ip为12.0.0.1
3)一台Windows7系统的PC充当客户端,ip为192.168.30.66
4)一台redhat6.5系统的PC提供web服务,ip为12.0.0.12
5)在网关防火墙设置iptables规则,控制客户端访问web服务。
首先准备好实验环境,在网关防火墙PC上再添加一块网卡,修改网卡配置文件内容,设置两个网卡eth0:ip为192.168.30.1 eth1: ip为12.0.0.1
然后给另外两台也分别设定好ip地址,和默认网关。
内网Windows7主机设定ip为192.168.30.66
外网主机设定ip为12.0.0.12 ,并开启httpd服务提供web服务(redhat6.5系统默认安装httpd,只需开启服务即可),并清空自身的防火墙规则iptables -F.
在本机打开浏览器测试下看是否能够看到apache的欢迎首页
在网关防火墙上ping另外两台主机测试网络是否连通
打开/etc/sysctl.conf文件,开启网关防火墙主机的路由转发功能,首先将iptables规则清空
打开内网客户端主机输入外网ip地址访问外网web页面,在没有设置任何防火墙规则的情况下,可以看到提供的apache欢迎首页
然后我们在网关防火墙主机上设置一条iptables规则:iptables -I FORWARD -s 192.168.30.66 -j DROP (禁止转发内网客户机的数据包)
此时在客户机上再次访问外网web服务,显示的结果是无法访问
SNAT策略及应用
随着互联网在全世界的普及,IPv4协议支持的可用IP地址资源逐渐变少,资源匮乏使得许多企业难以申请更多的公网ip地址,或者只能承受一个或少数几个公网ip地址的费用,而与此同时,大部分企业面临着将局域网内的主机接入公网的需求。因此通过在网关中应用SNAT策略,可以解决局域网共享上网的问题。
SNAT转换原理分析如图所示
SNAT策略的应用实例,还是以刚才的实验环境为基础,进行设置SNAT防火墙规则,在设置SNAT之前将其他iptables规则清空以免干扰实验结果
在客户机访问外网主机的web服务
在外网主机上查看apache网站服务访问日志文件末尾几行,/etc/httpd/logs/access_log,可以看到刚刚访问网页的主机ip为192.168.30.66(我们设定的内网客户端)
在网关防火墙主机上设置SNAT策略,将地址192.168.30.66转换成外网接口网关12.0.0.1
iptables -t nat -I POSTROUTING -s 192.168.30.66 -o eth1 -j SNAT --to-source 12.0.0.1
再次在客户机上重新访问外网主机的web服务
在外网主机上查看apache网站服务访问日志文件末尾几行,/etc/httpd/logs/access_log,可以看到刚刚访问网页的主机ip为12.0.0.1(说明我们设定的内网客户端已经将地址转换成网关地址12.0.0.1)
DNAT策略及应用
DNAT策略与SNAT策略非常相似,只不过应用方向相反。DNAT用来修改目标地址ip和目标端口,SANT只能用在nat表的POSTROUTING链中,而DNAT只能用在nat表中的PREROUTING链和OUTPUT链中
仍以上面的实验环境为基础,现实工作中考虑到应用的安全和稳定性,公司将对外的网站服务器架设在一个内部网络中,除非在网关服务器中正确设置DNAT策略,否则internet中的客户机将无法访问公司内网的服务器。
以刚才的实验环境为基础,让内网的客户端提供web服务,让外网的PC去访问内网的web服务
首先在内网PC上打开IIS功能,搭建网站提供web服务,如下图所示操作;
在网关防火墙主机上设置DNAT策略,发布内网的web服务
iptables -t nat -I PREROUTING -d 12.0.0.1 -i eth1 -p tcp --dport 80 -j DNAT --to-destination 192.168.30.66
在外网的PC浏览器上输入网关的ip地址12.0.0.1就可以访问内网提供的web服务了。
使用DNAT策略的效果如刚才实验所示;当外网中的PC提交http请求到企业的网关防火墙时,网关首先判断数据包的目标地址和目标端口,若发现该数据包需要访问本机的80端口,则将其目标地址(12.0.0.1)修改为内网中真正的网站服务器的ip地址(192.168.30.66),然后才发送给内部的网站服务器。
在上述的DNAT转换地址的过程,网关服务器会根据之前建立的DNAT映射,修改返回的http应答数据包的源ip地址,最后再返回给internet中的PC,internet中的客户机并不知道企业网站服务器的真实局域网地址,中间的转换完全由网关主机完成。
通过设置恰当的DNAT策略,企业内部的服务就可以面向internet提供服务了。
一般电脑系统的安全主要取决于:
1)第三方监控杀毒软件 如360杀毒软件
2)系统策略 防火墙规则设定
3)文件的权限设定
Linux防火墙体系主要工作在网络层,针对TCP/IP数据包的过滤和限制,属于典型的包过滤防火墙(或称为网络层防火墙),Linux系统的防火墙体系基于内核编码实现,具有非常稳定的性能和极高的效率,因此获得广泛的应用。
Netfilter:指的是linux内核中实现包过滤防火墙的内部结构,不以程序或文件的形式存在。
Iptables:用来管理linux防火墙的命令程序
Iptables的表,链结构
Iptables的作用是为包过滤机制的实现提供规则,通过各种不同的规则,告诉netfilter对来自某些源,前往某些目的或具有某些协议特征的数据包应该如何处理。为了更加方便地组织和管理防火墙规则,iptables采用了“表”,“链”的分层结构
根据处理数据包的不同时机划分为五种链
根据规则的不同功能划分为默认的四个表,表和链的结构关系如下图所示,
数据包过滤的匹配流程,
iptables管理着四个默认表和五种链,各种防火墙规则依次存放在链中。当一个数据包到达防火墙以后,以及数据包进出防火墙时的处理,遵从以下的匹配流程
编写防火墙规则,
主要介绍一下netfilter防火墙的管理工具iptables命令的使用,包括基本的语法格式,数据包控制类型,以及如何管理,编写防火墙规则。
添加,查看,删除规则等基本操作
在熟练编写各种防火墙规则之前,首先需要掌握查看规则,添加规则,删除规则,清空链内规则等基本操作。
规则的匹配条件
结合实验,验证一下防火墙iptables的应用
实验环境;
1)vmware workstation虚拟机环境,三台虚拟机。都使用仅主机模式。
2)一台redhat6.5系统的PC充当网关防火墙,设置两个网卡eth0:ip为192.168.30.1 eth1: ip为12.0.0.1
3)一台Windows7系统的PC充当客户端,ip为192.168.30.66
4)一台redhat6.5系统的PC提供web服务,ip为12.0.0.12
5)在网关防火墙设置iptables规则,控制客户端访问web服务。
首先准备好实验环境,在网关防火墙PC上再添加一块网卡,修改网卡配置文件内容,设置两个网卡eth0:ip为192.168.30.1 eth1: ip为12.0.0.1
然后给另外两台也分别设定好ip地址,和默认网关。
内网Windows7主机设定ip为192.168.30.66
外网主机设定ip为12.0.0.12 ,并开启httpd服务提供web服务(redhat6.5系统默认安装httpd,只需开启服务即可),并清空自身的防火墙规则iptables -F.
在本机打开浏览器测试下看是否能够看到apache的欢迎首页
在网关防火墙上ping另外两台主机测试网络是否连通
打开/etc/sysctl.conf文件,开启网关防火墙主机的路由转发功能,首先将iptables规则清空
打开内网客户端主机输入外网ip地址访问外网web页面,在没有设置任何防火墙规则的情况下,可以看到提供的apache欢迎首页
然后我们在网关防火墙主机上设置一条iptables规则:iptables -I FORWARD -s 192.168.30.66 -j DROP (禁止转发内网客户机的数据包)
此时在客户机上再次访问外网web服务,显示的结果是无法访问
SNAT策略及应用
随着互联网在全世界的普及,IPv4协议支持的可用IP地址资源逐渐变少,资源匮乏使得许多企业难以申请更多的公网ip地址,或者只能承受一个或少数几个公网ip地址的费用,而与此同时,大部分企业面临着将局域网内的主机接入公网的需求。因此通过在网关中应用SNAT策略,可以解决局域网共享上网的问题。
SNAT转换原理分析如图所示
SNAT策略的应用实例,还是以刚才的实验环境为基础,进行设置SNAT防火墙规则,在设置SNAT之前将其他iptables规则清空以免干扰实验结果
在客户机访问外网主机的web服务
在外网主机上查看apache网站服务访问日志文件末尾几行,/etc/httpd/logs/access_log,可以看到刚刚访问网页的主机ip为192.168.30.66(我们设定的内网客户端)
在网关防火墙主机上设置SNAT策略,将地址192.168.30.66转换成外网接口网关12.0.0.1
iptables -t nat -I POSTROUTING -s 192.168.30.66 -o eth1 -j SNAT --to-source 12.0.0.1
再次在客户机上重新访问外网主机的web服务
在外网主机上查看apache网站服务访问日志文件末尾几行,/etc/httpd/logs/access_log,可以看到刚刚访问网页的主机ip为12.0.0.1(说明我们设定的内网客户端已经将地址转换成网关地址12.0.0.1)
DNAT策略及应用
DNAT策略与SNAT策略非常相似,只不过应用方向相反。DNAT用来修改目标地址ip和目标端口,SANT只能用在nat表的POSTROUTING链中,而DNAT只能用在nat表中的PREROUTING链和OUTPUT链中
仍以上面的实验环境为基础,现实工作中考虑到应用的安全和稳定性,公司将对外的网站服务器架设在一个内部网络中,除非在网关服务器中正确设置DNAT策略,否则internet中的客户机将无法访问公司内网的服务器。
以刚才的实验环境为基础,让内网的客户端提供web服务,让外网的PC去访问内网的web服务
首先在内网PC上打开IIS功能,搭建网站提供web服务,如下图所示操作;
在网关防火墙主机上设置DNAT策略,发布内网的web服务
iptables -t nat -I PREROUTING -d 12.0.0.1 -i eth1 -p tcp --dport 80 -j DNAT --to-destination 192.168.30.66
在外网的PC浏览器上输入网关的ip地址12.0.0.1就可以访问内网提供的web服务了。
使用DNAT策略的效果如刚才实验所示;当外网中的PC提交http请求到企业的网关防火墙时,网关首先判断数据包的目标地址和目标端口,若发现该数据包需要访问本机的80端口,则将其目标地址(12.0.0.1)修改为内网中真正的网站服务器的ip地址(192.168.30.66),然后才发送给内部的网站服务器。
在上述的DNAT转换地址的过程,网关服务器会根据之前建立的DNAT映射,修改返回的http应答数据包的源ip地址,最后再返回给internet中的PC,internet中的客户机并不知道企业网站服务器的真实局域网地址,中间的转换完全由网关主机完成。
通过设置恰当的DNAT策略,企业内部的服务就可以面向internet提供服务了。
相关文章推荐
- 关于DNAT策略的简单应用(发布公司内网中的服务器)
- Windows Mobile 开发系列文章收藏 - GPRS基础知识/应用开发/上网设置.
- SNAT、DNAT——iptables防火墙基础策略汇总
- lqc_使用SNAT、DNAT策略实现网关应用
- DSP基础知识和设置(应用中整理)
- ASP.NET MVC 学习笔记-2.Razor语法 ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础 反射的具体应用 策略模式的具体应用 责任链模式的具体应用 ServiceStack.Redis订阅发布服务的调用 C#读取XML文件的基类实现
- WEB服务器应用_服务器安全设置之_IP安全策略 (仅仅列出需要屏蔽或阻止的端口或协议)
- [java 基础]Eclipse下发布的应用在Tomcat服务器下的关联
- 使用SNAT、DNAT策略实现网关应用
- [基础知识]PeopleSoft应用服务器上的进程含义
- Ubuntu环境变量的设置 && 桌面添加应用的快捷方式 && OTA服务器的搭建和发布 && 允许mysql远程连接
- [ios]in house类型应用发布到内部服务器
- 使用SNAT、DNAT策略实现网关应用
- SNAT、DNAT――iptables防火墙基础策略汇总
- 设置组策略的应用条件-----Windows 管理规范 (WMI)过虑器
- 【Nginx-反向代理服务器】基础知识(二)之多进程模式
- SqlServer 无法为可更新的订阅设置发布服务器登录名 sp_link_publication
- IIS+PHP环境下出现HTTP 500服务器内部错误——请检查权限设置
- centos服务器设置代理上网的方法
- mysql基础知识应用