什么是nat回流

2023-03-19 11:31 46次浏览 攻略

概述读者将学习如何配置Hairpin NAT以与Destination NAT一起使用。

注意&要求:

适用于安装有最新 EdgeOS 固件的所有 EdgeRouter 型号。 使用者需要了解命令行(CLI)配置和基础的网络知识。 更多信息可以查看 相关文章 。

本次测试使用的型号是:

  • EdgeRouter-4

FAQ

  1. 当我使用端口转发功能时需要开启 hairpin NAT 功能吗?
  2. 当我使用 destination NAT 功能时需要开启 hairpin NAT 功能吗?

网络图解

下图为本次测试的拓扑图,主要接口如下:

  • eth0 (WAN) – 203.0.113.1
  • eth1 (LAN) – 192.168.1.1/24

我们将会通过应用 Hairpin NAT 功能实现,内网 192.168.1.0/24 网段内的终端,能够通过路由器外网地址(203.0.113.1:443)来访问 UNMS 服务器。

Hairpin 和 Destination NAT


图形化界面: 登陆图形化界面修改配置。

1. 添加一个允许 HTTPS 流量去往 UNMS 服务器的防火墙策略。

Firewall/NAT > Firewall Policies > WAN_IN > Actions > Edit Ruleset > Add New Rule

标注: https
行为: Accept
协议: TCP
目的 > 端口: 443

2. 添加一个转换 TCP port 443 的 Destination NAT 。

Firewall / NAT > NAT > +Add Destination NAT Rule

标注: https443
进接口: eth0
转化地址: 192.168.1.10
转化端口: 443
协议: TCP
目的地址: 203.0.113.1
目的端口: 443

注意: 上面的目的 NAT 规则需要在 eth0 (WAN) in 方向调用。

3. 根据上面的目的 NAT 添加第一个 Hairpin NAT 规则 (这条规则几乎是上面的副本,也是目的 NAT )。

Firewall / NAT > NAT > +Add Destination NAT Rule

标注: hairpin443
进接口: eth1
转化地址: 192.168.1.10
转化端口: 443
协议: TCP
目的地址: 203.0.113.1
目的端口: 443

注意: 上面的目的 NAT 规则需要在 eth1 (LAN) in 方向调用 。

4. 创建一个源 NAT 作为第二个 Hairpin NAT (伪装)。

Firewall / NAT > NAT > +Add Source NAT Rule

标注: hairpin
出接口: eth1
转化: Use Masquerade
协议: TCP
源地址: 192.168.1.0/24
目的地址: 192.168.1.10
目的端口: 443

注意: 上面的源 NAT 调用在 eth1 (LAN) 的 out 接口。

使用向导配置 port-forwarding 功能,你可以在 CLI 界面看到生成的等效命令。

CLI: 使用 CLI 界面你可以通过 GUI 界面上方的调试按钮或者使用 PuTTY 接入。

configure
set firewall name WAN_IN rule 21 action accept
set firewall name WAN_IN rule 21 description https
set firewall name WAN_IN rule 21 destination port 443
set firewall name WAN_IN rule 21 log disable
set firewall name WAN_IN rule 21 protocol tcp
set service nat rule 1 description https443
set service nat rule 1 destination address 203.0.113.1
set service nat rule 1 destination port 443
set service nat rule 1 inbound-interface eth0
set service nat rule 1 inside-address address 192.168.1.10
set service nat rule 1 inside-address port 443
set service nat rule 1 log disable
set service nat rule 1 protocol tcp
set service nat rule 1 type destination
set service nat rule 2 description hairpin443
set service nat rule 2 destination address 203.0.113.1
set service nat rule 2 destination port 443
set service nat rule 2 inbound-interface eth1
set service nat rule 2 inside-address address 192.168.1.10
set service nat rule 2 inside-address port 443
set service nat rule 2 log disable
set service nat rule 2 protocol tcp
set service nat rule 2 type destination
set service nat rule 5011 description hairpin
set service nat rule 5011 destination address 192.168.1.10
set service nat rule 5011 destination port 443
set service nat rule 5011 log disable
set service nat rule 5011 outbound-interface eth1
set service nat rule 5011 protocol tcp
set service nat rule 5011 source address 192.168.1.0/24
set service nat rule 5011 type masquerade
commit ; save

相关推荐