【防火墙技术连载15】强叔侃墙 NAT篇 NAT Server 基础篇

[复制链接]
发表于 : 2014-5-12 15:14:56 最新回复:2018-06-14 11:23:24
41933 33
强叔侃墙
强叔侃墙 官方号

学校或公司的私网通常会有一些服务器需要提供给公网用户访问。但网络部署时,服务器地址一般都会被配置成私网地址,这样服务器就不能直接使用自身的地址来提供服务了。那么,防火墙作为学校或企业的出口网关时,是如何应对这个问题的呢?

如果小伙伴们有读过强叔的源NAT篇,聪明的你一定会想到,防火墙是不是也可以将服务器的私网地址通过NAT转换成公网地址来提供服务呢?

Bingo!你的大方向已经对了。不过,源NAT是对私网用户访问公网的报文的源地址进行转换,而服务器对公网提供服务时,是公网用户向私网发起访问,方向正好反过来了。于是,NAT转换的目标也由报文的源地址变成了目的地址。针对服务器的地址转换,我们赋予了它一个形象的名字――NAT Server(服务器映射)。

下面来看下防火墙上的NAT Server是如何配置和实现的。

在防火墙上配置如下命令,就能将上图中服务器的私网地址10.1.1.2映射成公网地址1.1.1.1

[FW] nat server global 1.1.1.1 inside 10.1.1.2                                         

但是,如果一台服务器同时存在多种协议和端口的服务项,按照上述配置会将服务器上所有服务项都发布到公网,这无疑会带来很大的安全风险。华为防火墙支持配置指定协议的NAT Server,只将服务器上特定的服务项对公网发布,从而避免服务项全发布带来的风险。例如,我们可以按如下方式配置,将服务器上80端口的服务项映射为9980端口供公网用户访问。

[FW] nat server protocol tcp global 1.1.1.1 9980 inside 10.1.1.2 80                       

这里将80端口映射为9980端口而不是直接映射为80端口是因为,一些地区的运营商会阻断新增的8080008080端口的业务,从而导致服务器无法访问。

小伙伴们是否还记得安全策略篇 ASPF:隐形通道中提到的Server-map表,NAT server配置完成之后,也会生成Server-map表来保存映射关系。不过与ASPF Server-map表项的动态老化不同的是,NAT ServerServer-map表项是静态的,只有当NAT Server配置被删除时,对应的Server-map表项才会被删除。

上图就是NAT ServerServer-map表项。图中红框标注的字段就记录着服务器私网地址端口和公网地址端口的映射关系。[]内为服务器私网地址和端口、[]外为服务器公网地址和端口。我们将表项翻译成文字就是:任意客户端(any)向(->)1.1.1.1:9980发起访问时,报文的目的地址和端口都会被转换成10.1.1.2:80。具体的流程如下:

当客户端通过1.1.1.1:9980访问服务器时,防火墙收到报文的首包后,首先是查找并匹配到Server-map表项,将报文的目的地址和端口转换为10.1.1.2:80。然后根据目的地址判断出报文在哪两个安全区域间流动,报文通过域间安全策略检查后,防火墙会建立如下的会话表,并将报文转发到私网。

之后,服务器对客户端的请求做出响应。响应报文到达防火墙后匹配到上面的会话表,防火墙将报文的源地址和端口转换为1.1.1.1:9980,而后发送至公网。后续客户端继续发送给服务器的报文,防火墙都会直接根据会话表对其进行地址和端口转换,而不会再去查找Server-map表项了。

在防火墙的前后抓包,能很清楚地看到NAT Server的效果:

A、转换客户端发往服务器的报文的目的地址和端口。

B、转换服务器响应客户端的报文的源地址和端口。

以上就是防火墙NAT Server的基本配置和工作原理,通过强叔的讲解,小伙伴们想必已掌握其中的奥妙了吧。

但这些仅仅是NAT Server的基础知识,知道这些只能算是初窥门径。要想成为能从容应对现网中各种NAT Server配置的顶级高手,小伙伴们还需要研习并掌握强叔自创的NAT Server三十二字真言:

                      一正一反,出入自如  去反存正,自断出路

                      一分为二,源进源回  虚实变换,合二为一

接下来的两期中强叔将会向小伙伴们阐释这三十二字真言的内涵所在,敬请期待。

强叔提问:

本篇开头的组网中,强叔只给出了NAT Server的配置,那安全策略如何配置呢?

 

 

 

上一篇 NAT篇 一墙当关,万夫上网――源NAT(下篇)

下一篇 NAT篇 NAT Server 三十二字真言(上篇)

汇总贴

本帖被以下专题推荐:

  • x
  • 常规:

点评 回复

跳转到指定楼层
小信
小信   发表于 2014-5-28 14:53:18 已赞(0) 赞(0)

强叔如今是还在一年呢还是去做培训,出书了
  • x
  • 常规:

点评 回复

爱ping才会赢
爱ping才会赢   发表于 2014-5-29 17:11:26 已赞(0) 赞(0)

强叔有个问题想要请教下:

FTP Server-------(DMZ)-FW-(untrust)--------Router----------FTP Client

 

我在FTP Client上用被动模式访问FTP Server获取不取文件列表,不知道哪里出了问题?(用主动模式可以访问)

[2014-05-29 16:48]FtpClient:QUIT
[2014-05-29 16:48]FtpClient:221 Goodbye.

[2014-05-29 16:48]FtpClient:220 FtpServerTry FtpD for free

[2014-05-29 16:48]FtpClient:USER 1
[2014-05-29 16:48]FtpClient:331 Password required for 1 .

[2014-05-29 16:48]FtpClient:PASS 1
[2014-05-29 16:48]FtpClient:230 User 1 logged in , proceed

[2014-05-29 16:48]FtpClient:PWD
[2014-05-29 16:48]FtpClient:257 "/" is current directory

[2014-05-29 16:48]FtpClient:TYPE A
[2014-05-29 16:48]FtpClient:200 Type set to ASCII.

[2014-05-29 16:48]FtpClient:PASV
[2014-05-29 16:48]FtpClient:227 Entering Passive Mode (172,16,1,2,8,4)

[2014-05-29 16:48]FtpClient:LIST

 

防火墙配置:

interface GigabitEthernet0/0/0
 alias GE0/MGMT
 ip address 192.168.0.1 255.255.255.0
 dhcp select interface
 dhcp server gateway-list 192.168.0.1
#
interface GigabitEthernet0/0/1
 ip address 12.1.1.2 255.255.255.0
#
interface GigabitEthernet0/0/2
 ip address 192.168.1.1 255.255.255.0
#
interface GigabitEthernet0/0/3
 ip address 172.16.1.1 255.255.255.0
#
interface GigabitEthernet0/0/4
#
interface GigabitEthernet0/0/5
#
interface GigabitEthernet0/0/6
#
interface GigabitEthernet0/0/7
#
interface GigabitEthernet0/0/8
#
interface NULL0
 alias NULL0
#
firewall zone local
 set priority 100
#
firewall zone trust
 set priority 85
 add interface GigabitEthernet0/0/0
 add interface GigabitEthernet0/0/2
#
firewall zone untrust
 set priority 5
 add interface GigabitEthernet0/0/1
#
firewall zone dmz
 set priority 50
 add interface GigabitEthernet0/0/3
#
aaa
 local-user admin password cipher %$%$LF)UR:e!]LN<|~>gz8)6i!ul%$%$
 local-user admin service-type web terminal telnet
 local-user admin level 15
 authentication-scheme default
 #
 authorization-scheme default
 #
 accounting-scheme default
 #
 domain default
 #
#
nqa-jitter tag-version 1

#
 ip route-static 0.0.0.0 0.0.0.0 12.1.1.1
#
 banner enable
#
user-interface con 0
 authentication-mode none
user-interface vty 0 4
 authentication-mode none
 protocol inbound all
#
 slb
#
right-manager server-group
#
 sysname SRG
#
 l2tp domain suffix-separator @
#
 firewall packet-filter default permit interzone local trust direction inbound
 firewall packet-filter default permit interzone local trust direction outbound
 firewall packet-filter default permit interzone local untrust direction outbound

 firewall packet-filter default permit interzone local dmz direction outbound
 firewall packet-filter default permit interzone trust untrust direction outbound

 firewall packet-filter default permit interzone dmz untrust direction inbound
 firewall packet-filter default permit interzone dmz untrust direction outbound
#
 nat address-group 1 12.1.1.10 12.1.1.20
 nat server 0 global interface GigabitEthernet0/0/1 inside 172.16.1.2
#
 ip df-unreachables enable
#
 firewall ipv6 session link-state check
 firewall ipv6 statistic system enable
#
 dns resolve
#
 firewall statistic system enable
#
 pki ocsp response cache refresh interval 0
 pki ocsp response cache number 0
#
 undo dns proxy
#
 license-server domain lic.huawei.com
#
 web-manager enable
#
policy interzone dmz untrust inbound
 policy 1
  action permit
  policy source 222.1.1.3 0
#
nat-policy interzone trust untrust outbound
 policy 1
  action source-nat
  policy source 192.168.1.0 0.0.0.255
  address-group 1
#
nat-policy interzone dmz untrust outbound
 policy 1
  action source-nat
  policy source 172.16.1.0 0.0.0.255
  address-group 1
#


 

  • x
  • 常规:

点评 回复

heiyan
heiyan   发表于 2014-5-30 15:59:21 已赞(0) 赞(0)

只能膜拜你老了,,,,。。。
  • x
  • 常规:

点评 回复

强叔侃墙
强叔侃墙 官方号 发表于 2014-5-30 18:48:48 已赞(0) 赞(0)

回复 13 楼

FTP控制通道没有建立起来,从抓包信息看,FTP服务器给FTP客户端回的Passive报文中还是服务器的私网地址,估计是这个原因导致FTP客户端无法主动向这个私网地址发起连接。

在Untrust和DMZ的域间配置detect ftp试试。

  • x
  • 常规:

点评 回复

安宁庄前街东口
安宁庄前街东口   发表于 2014-5-31 18:14:35 已赞(0) 赞(0)

支持强叔~~
  • x
  • 常规:

点评 回复

x00151571
x00151571   发表于 2014-5-12 16:19:15 已赞(0) 赞(0)

坐等强叔揭秘NAT Server玄机
  • x
  • 常规:

点评 回复

user_18761
user_18761   发表于 2014-5-12 17:28:33 已赞(0) 赞(0)

内容太少了,感觉还不过瘾
  • x
  • 常规:

点评 回复

Sophoni
Sophoni  版主 发表于 2014-5-12 17:31:21 已赞(0) 赞(0)

引用 3 楼

内容太少了,感觉还不过瘾
13832828*** 发表于 2014-05-12 17:28

强叔看见会很开心!强叔,论坛有诉求啊,连载要加快,篇幅要加大哟!
  • x
  • 常规:

点评 回复

强叔侃墙
强叔侃墙 官方号 发表于 2014-5-12 18:01:47 已赞(0) 赞(0)

回复 3 楼

多谢支持啊,今天晚上回去努把力,争取明天把三十二字真言的前十六个字的内容发出来~~~
  • x
  • 常规:

点评 回复

发表回复
您需要登录后才可以回帖 登录 | 注册

警告 内容安全提示:尊敬的用户您好,为了保障您、社区及第三方的合法权益,请勿发布可能给各方带来法律风险的内容,包括但不限于政治敏感内容,涉黄赌毒内容,泄露、侵犯他人商业秘密的内容,侵犯他人商标、版本、专利等知识产权的内容,侵犯个人隐私的内容等。也请勿向他人共享您的账号及密码,通过您的账号执行的所有操作,将视同您本人的行为,由您本人承担操作后果。详情请参看“隐私声明
如果附件按钮无法使用,请将Adobe Flash Player 更新到最新版本!
登录参与交流分享

登录参与交流分享

登录