Linux防火墙(二)

SNAT策略及应用


SNAT策略的典型应用环境

              局域网主机共享单个公网IP地址接入lnternet

SNAT策略的原理

              源地址转换,Source Network Address Translation

              修改数据包的源地址

SNAT的典型应用环境


         随着Internet网络在全世界范围内的快速发展,IPv4协议支持的可用IP地址资源逐渐变少,资源匮乏使得许多企业难以申请更多的公网IP地址,或者只能承受一个或者少数几个公网IP地址的费用。而与此同时,大部分企业面临着将局域网内的主机接入Internet的需求。

        通过在网关中应用SNAT策略,可以解决局域网共享上网的问题。

     SNAT策略的工作原理

只开启路由转发,未设置地址转换的情况

              正常情况下,作为网关的linux服务器必须打开路由转发,才能沟通多个网络。未使用地址转换策略时,从局域网PC访问Internet的数据包经过网关转发后其源IP地址持不变,当Internet中的主机收到这样的请求数据包后,响应数据包将无法正确返回(私有地址不能在Internet中正常路由),从而导致访问失败。

开启路由转发,并设置SNAT转换的情况

              如果在网关服务器中正确运用SNAT策略,数据包转发情况就不一样了。当局域网PC访问Internet的数据包到达网关服务器时,会先进行路由选择,若发现该数据包需要从外网接口向外转发,则将其源IP地址修改为网关的外网接口地址,然后才发送给目标主机。相当于从网关服务器的公网IP地址提交数据访问请求,目标主机也可以正确返回响应数据包,最终实现局域网PC共享同一个公网IP地址接入Internet。

        在上述SNAT转换地址的过程中,网关服务器会根据之前建立的SNAT映射,将响应数据包正确返回局域网中的源主机。因此,只要连接的第一个包被SNAT处理了,那么这个连接以及对应数据流的其他包也会自动的被进行SNAT处理。另一方面,Internet中的服务器并不知道局域网PC的实际IP地址,中间的转换完全由网关主机完成,一定程度上也起到了保护内部网络的作用。
 

SNAT策略的应用


        SNAT策略只能用在nat表的POSTROUTING链,使用iptables命令编写SNAT策略时,需要结合“--to-source IP地址”选项来指定修改后的源IP地址(如-j SNAT --to-source 218.29.30.31)。

DNAT策略及应用


     1、DNAT策略概述


        DNAT策略与SNAT非常相似,只不过应用方向相反。SNAT用来修改源IP地址,而DNAT用来修改目标IP地址和目标端口;SNAT只能用在nat表的POSTROUTING链中,而DNAT只能用在nat表的PREROUTING链和OUTPUT链(或被其调用的链)中。

      2、DNAT工作原理:


         2-1、 DNAT应用环境:

               在Internet中发布位于局域网内的服务器

               DNAT原理:修改数据包的目的地址。

         2-2、DNAT转换前提条件:

               1.局域网的服务器能够访问Internet

               2.网关的外网地址有正确的DNS解析记录

               3. Linux网关开启IP路由转发

vim /etc/ sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p


         2-3、进行DNAT转换后的情况

                当Internet中的客户机提交的HTTP请求到达企业的网关服务器时,网关首先判断数据包的目标地址和目标端口,若发现该数据包需要访问本机的80端口,则将其目标IP地址修改为内网中真正的网站服务器的IP地址,然后才发送给内部的网站服务器。

                在上述DNAT转换地址的过程,网关服务器会根据之前建立的DNAT映射,修改返回的HTTP应答数据包的源IP地址,最后返回给Internet中的客户机。Internet中的客户机并不知道企业网站服务器的真实局域网地址,中间的转换完全由网关主机完成。通过设置恰当的DNAT策略,企业内部的服务器就可以面向Internet提供服务了。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值