巧用双向NAT实现外网端口映射

 

环境介绍 

  1. FW1有固定公网IP(默认走internet1),FW2通过拨号上网(默认走internet2),地址不固定

  2. 部门A通过fw1作为出口(SNAT),部门B通过fw2作为出口(SNAT)

  3. 外网用户想直接访问内部业务系统192.168.1.100的9000端口

网络拓扑如下:

配置过程:

  涉及到多层NAT的地址转换,外网要访问内网的端口,首先考虑到了DNAT,如在fw1中配置DNAT地址映射,100.1.1.10:9000----->192.168.0.11:9000,然后在fw2中再配置DNAT映射192.168.0.11:9000----->192.168.1.100:9000。配置完成之后,发现业务时钟无法访问。

故障分析:  

  1. 在fw1和fw2中配置DNAT地址映射,100.1.1.10:9000----->192.168.0.11:9000----->192.168.1.100:9000。这层转换是没有问题的

  2. 业务有问题,其实是出在了数据回包的过程,192.168.1.100:9000----->100.1.1.1,当该数据到了fw2之后,fw2对该包有如下处理,查路由表,发现需要从g0/0/0口发出去,然后匹配策略,以及SNAT,但是此时是匹配不了之前SNAT的会话表的(100.1.1.1---->192.168.0.11:9000[192.168.1.100:9000]),因为之前的数据是从G0/0/1接口进来的,所以数据不会转换192.168.0.11。那么该数据包要从G0/0/0出去,就要就要看防火墙的配置了,是否允许该区域之间的流量通过,不过即便允许了数据包也被丢弃了,一般上防火墙都会认为是攻击报文

  3. 那知道问题所在就好,只需要将数据的走向和数据来源一致即可,可以将fw2的默认路由指向fw1,这样数据经过fw2和fw1的dnat规则后会自动转换。但是这种改法有很多缺点,最为明显的就是影响部门B的使用,整个路由都从internet2改成了internet1。另外如果fw1和fw2如果是同一网段还好,如果是跨网段,任意一个路径都有可能从不同的出口出去(实际我的环境就是多层NAT,为了方便理解,我将拓扑优化了)

  4. 最优的办法就是,在fw1中,凡是去往192.168.0.11的9000,8080等端口的,都先做一个源地址转换,转换成自己的出接口地址192.168.0.10,这样fw2在回包的时候,肯定会将数据包送回给fw1再出去。

总结:

  1. 综合来说,fw1做了双向nat,即把去往100.1.1.10的9000转成192.168.0.11的9000,也把源地址100.1.1.1转成了192.168.0.10

  2. 再扩展下双向NAT,常见的互联网架构中,一般会配置多个出口,如电信,联通。如果希望实现源进源出的效果(即电信入站流量默认从电信出站,联通反之),那么采用双向NAT,在转换DNAT的同时,也将公网源地址转换称为防火墙的内网出接口IP(局域网)。这样就很简单的实现了源进源出功能

  3. 高流量场合下,如数据中心出口,配置诸多NAT规则的性能是始终比直接路由转发要低的。如无特殊需求,还是不建议对数据包经常进行双向NAT转换。

原文地址:https://www.cnblogs.com/System-hjf/p/10261411.html

时间: 2024-08-30 01:08:03

巧用双向NAT实现外网端口映射的相关文章

centos6.7 配置外网端口映射

目的: 为节省公司外网ip,现需要把部分没有外网ip的服务器做端口映射. 服务器节点: 118.192.66.66(外网服务器) em1 内网 em2 外网 192.168.32.124(内网服务器) 场景: 124 12580映射到118.192.66.66 12580 telnet 118.192.66.66 12580 通即可 实现: 1.forward打开            很重要,往往忽略 vim /etc/sysctl.confnet.ipv4.ip_forward = 1sys

思科动态nat的应用,以及端口映射,外网的远程管理,dhcp的架设

动态nat的应用,以及端口映射,外网的远程管理,dhcp的架设 实验拓扑图: 3.配置思路: 首先把内网配通,然后在网关设备R1上做nat的应用, # ×××的部分模拟的是内网,灰色的部分模拟的是外网 4.配置步骤: # 首先配置各个pc,的测试地址,以及服务器的ip地址, ip address  192.168.10.1 255.255.255.0 default gateway 192.168.10.254  // pc0 上的配置 其他pc同理可得 #服务器一般用静态地址 web 服务器地

嵌入式专题: 双网卡wifi组建NAT上外网

条件: 开发板上双网卡,其中一个是usb wifi,提供wifi路由功能.另一个网口可以上外网. 目标:普通PC/手机能够连此wifi路由,上外网. 1. Wifi AP USB Wifi部分:勿用多言,此使用Realtek 8188 UC版本,这款Wifi的官方软件自带了驱动程序相应的应用软件.应该就是RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911.zip这个程序包,里面有3个部分,一个是驱动,一个是hostapd,一个是wpa_supplicant

用静态NAT实现外网PC访问内网服务器

在我们的生产环境中常常处于安全考虑将服务器置于内网环境中,但同时得向外网提供各种服务功能,此时就需要用到NAT技术.下面是我用思科的仿真软件搭建的一个实验环境,实现外网PC访问内网服务器. 先说明一下实验环境: 路由器R0左边为内网环境,右边为外网环境,内网服务器IP地址为192.168.1.2,网关为R0接口地址192.168.1.1,外网PC机IP地址为211.211.211.2,网关为路由器R1接口地址211.211.211.1,现在要求实现外网PC访问内网服务器. 数据配置如下: 路由器

linux下搭建redis内网端口映射工具-rinetd

最近在工作中使用到了redis缓存,用来提某些业务场景的计算速度和某些情况下的操作频率限制,客户端工具使用了redisDesktopmanager来管理,在本机操作测试的时候,是没有问题的.但是将系统部署到ecs上之后,想要观察redis里面的数据缓存情况,会发现无法访问.原因是由于阿里云上面的redis是存在内网环境中的,服务器可以访问,要想在本地访问redis的话,必须要在ecs上搭建一个内网端口映射工具,把来自外网的请求转发到内网的redis端口上面.下面就来介绍使用这个工具rinetd.

关于虚拟机NAT连接外网!!!

点开Virtual Network Editor(开始->VMware),选择vmnet8, NAT setting就可以知道了. 1.  虚拟机NAT和主机的通讯方式,是通过虚拟网关(即NAT服务192.168.164.2)来实现的,只要NAT服务虚拟出来的网关,虚拟机IP地址及vmnet8在同一个IP段中就可以相互通讯; 2.  VMnet8网卡用于主机与NAT服务通信,就像虚拟机的网卡和NAT服务通讯一样; 3. VMnet8是不用经过VMnet0的. 如果你主机有两张物理网卡的话,验证这

VMware NAT连接外网

背景:在企业中由于经常做实验需要实验机上外网,自己又不是管理员,没有那么多可以上外网的IP,所以需要设置虚拟机共享上网,有同事问我怎么操作,把设置记录如下: 安装完VMware后选择本地联接: 设置共享: 查看VMnet8状态: 设置VMware: 设置虚拟机网卡模式为VMware(NAT8) 进系统把网卡设置成DHCP 观察IP变化: 测试网络: Linux系统: 同样设置虚拟机网卡模式为VMware(NAT8) 进入系统:设置网卡为DHCP启动模式 vim /etc/sysconfig/ne

【有图有真相】静态NAT、动态NAT、PAT、端口映射的详细配置过程

实验要求:使用宿主机利用NAT地址转换技术访问虚拟机的Web80端口.全是***实弹的操作步骤. 实验前提:开启server 2008虚拟机并且搭建一个简单web服务.打开GNS3连接拓扑图的线路,一边连接宿主机,一边连接虚拟机的网卡. 实验步骤:首先是在宿主机和虚拟机上配置IP地址.然后在路由器上配置IP地址,然后先测试宿主机此时是否可以正常访问web服务. 然后在路由器上配置静态NAT.动态NAT和PAT端口多路复用,以及端口映射的关系来改变我们正常访问的接口.下面是配置的详细过程. 首先给

【NGROK】快速实现本地Web服务到外网的映射

NGROK官网:https://ngrok.com NGROK百科:http://baike.baidu.com/view/13085941.htm?fr=aladdin 使用ngrok(Windows) 下载地址:http://files.cnblogs.com/zengweiming/ngrok.zip 使用: 解压ngrok.zip,例如:E:\mysoft\ngrok 使用命令行进入解压路径,运行:ngrok 8080(web服务器端口号) 然后ngrok会解析,生成外网映射路径.如下图