• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

路由器NAT inbound入方向动态地址转换经验案例

2019-11-28 发表
  • 1关注
  • 8收藏 17523浏览
粉丝:2人 关注:0人

组网及说明

入方向动态地址转换功能通常与接口上的出方向动态地址转换(nat outbound)、内部服务器(nat server)或出方向静态地址转换(nat static outbound)配合,用于实现双向NAT应用,不建议单独使用。

之所以不建议单独使用,是因为nat inbound在单独使用时无法实现同outbound一样,在公网设备没有私网路由的时候,内网设备也能ping通外网。nat inbound动态地址转换在单独使用时,一般应用于内网环境,在访问某设备时,如果想隐藏自己原本的IP地址,让目的地址看来并不是本来的源地址发起的访问,这种环境下可以使用nat inbound实现。有的局点不愿意使用nat outbound,想要通过nat inbound实现流量入方向进行动态地址的转换。


问题描述

例如如上环境,现场想在RTA经过RTB访问RTC时,在RTB的入方向接口G0/1进行入方向的动态地址转换,在RTC上观察报文,源地址为nat inbound转换后的地址。


过程分析

RTB NAT inbound相关配置:

#

interface GigabitEthernet0/1

 port link-mode route

 combo enable copper

 ip address 192.168.10.1 255.255.255.0

 nat inbound 3000 address-group 1    

#

#

acl advanced 3000

 rule 0 permit ip

#

nat address-group 1

 address 192.168.30.1 192.168.30.1       //配置NAT地址组地址,前后分别为起始地址和终止地址

#

在RTA和RTC上分别配置默认路由,指向RTB(RTC只要有到NAT地址组地址的路由,指向RTB即可),但是配置完路由后发现RTA无法ping通RTC:

[RTA]ping 192.168.20.2

Ping 192.168.20.2 (192.168.20.2): 56 data bytes, press CTRL_C to break

Request time out

Request time out

Request time out

Request time out

Request time out

 

--- Ping statistics for 192.168.20.2 ---

5 packet(s) transmitted, 0 packet(s) received, 100.0% packet loss


此时在RTB上通过display nat session verbose命令查看NAT会话(注意需要在设备系统视图下通过session statistics enable命令打开会话计数统计)


[RTB]display nat session verbose

Slot 0:

Initiator:

  Source      IP/port: 192.168.10.2/219

  Destination IP/port: 192.168.20.2/2048

  DS-Lite tunnel peer: -

  VPN instance/VLAN ID/Inline ID: -/-/-

  Protocol: ICMP(1)

  Inbound interface: GigabitEthernet0/1

Responder:

  Source      IP/port: 192.168.20.2/6

  Destination IP/port: 192.168.30.1/0

  DS-Lite tunnel peer: -

  VPN instance/VLAN ID/Inline ID: -/-/-

  Protocol: ICMP(1)

  Inbound interface: GigabitEthernet0/2

State: ICMP_REQUEST

Application: OTHER

Role: -

Failover group ID: -

Start time: 2019-11-28 20:29:10    TTL: 57s

Initiator->Responder:            5 packets        420 bytes

Responder->Initiator:            0 packets          0 bytes

Total sessions found: 1

通过会话发现,在RTB的入方向上确实进行了地址转换,RTC在回包时的目的地址并不是192.168.10.2,而是转换后的地址192.168.30.1。但是观察报文时我们发现,RTB上可以记录到初始方向报文,但是回包却没有计数,这是因为在配置入方向动态地址转换时有这样一条限制:

对于入方向动态地址转换,如果指定了add-route参数,则有报文命中该配置时,设备会自动添加路由表项:目的地址为本次地址转换使用的地址组中的地址,出接口为本配置所在接口,下一跳地址为报文的源地址;如果没有指定add-route参数,则用户需要在设备上手工添加路由。由于自动添加路由表项速度较慢,通常建议手工添加路由。






解决方法

根据限制描述,我们有如下两种方法在NAT inbound设备上添加路由:

方法一:手动添加路由,目的地址为转换地址组中的地址,出接口为本配置所在接口,下一跳地址为报文的源地址

[RTB]ip route-static 192.168.30.1 32 GigabitEthernet 0/1 192.168.10.2

方法二:在nat inbound后面指定add-route参数,有报文命中该配置时,设备会自动添加对应的路由表项

[RTB-GigabitEthernet0/1]nat inbound 3000 address-group 1 no-pat add-route

指定add-route参数,RTA发起ping RTC后,display ip routing-table能够看到自动添加的表项:

[RTB]display ip routing-table

Destinations : 17       Routes : 17 

Destination/Mask   Proto   Pre Cost        NextHop         Interface

0.0.0.0/32         Direct  0   0           127.0.0.1       InLoop0

127.0.0.0/8        Direct  0   0           127.0.0.1       InLoop0

127.0.0.0/32       Direct  0   0           127.0.0.1       InLoop0

127.0.0.1/32       Direct  0   0           127.0.0.1       InLoop0

127.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0

192.168.10.0/24    Direct  0   0           192.168.10.1    GE0/1

192.168.10.0/32    Direct  0   0           192.168.10.1    GE0/1

192.168.10.1/32    Direct  0   0           127.0.0.1       InLoop0

192.168.10.255/32  Direct  0   0           192.168.10.1    GE0/1

192.168.20.0/24    Direct  0   0           192.168.20.1    GE0/2

192.168.20.0/32    Direct  0   0           192.168.20.1    GE0/2

192.168.20.1/32    Direct  0   0           127.0.0.1       InLoop0

192.168.20.255/32  Direct  0   0           192.168.20.1    GE0/2

192.168.30.1/32    Static  1   0           192.168.10.2    GE0/1

224.0.0.0/4        Direct  0   0           0.0.0.0         NULL0

224.0.0.0/24       Direct  0   0           0.0.0.0         NULL0

255.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0


但是在ping包时发现,自动添加表项的速度较慢,没有路由表项或路由表项老化后首次发起ping报文时,ping包时因为没有迅速下发表项而导致了丢包,这也是为什么推荐手工添加路由

[RTA]ping 192.168.20.2    //没有路由表项时,自动添加路由表项会产生少量丢包

Ping 192.168.20.2 (192.168.20.2): 56 data bytes, press CTRL_C to break

Request time out

56 bytes from 192.168.20.2: icmp_seq=1 ttl=254 time=1.638 ms

56 bytes from 192.168.20.2: icmp_seq=2 ttl=254 time=1.588 ms

56 bytes from 192.168.20.2: icmp_seq=3 ttl=254 time=1.201 ms

56 bytes from 192.168.20.2: icmp_seq=4 ttl=254 time=1.749 ms


添加路由后在RTB上再次查看NAT会话,地址转换和来回报文计数都正常:

[RTB]display nat session verbose

Slot 0:

Initiator:

  Source      IP/port: 192.168.10.2/233

  Destination IP/port: 192.168.20.2/2048

  DS-Lite tunnel peer: -

  VPN instance/VLAN ID/Inline ID: -/-/-

  Protocol: ICMP(1)

  Inbound interface: GigabitEthernet0/1

Responder:

  Source      IP/port: 192.168.20.2/233

  Destination IP/port: 192.168.30.1/0

  DS-Lite tunnel peer: -

  VPN instance/VLAN ID/Inline ID: -/-/-

  Protocol: ICMP(1)

  Inbound interface: GigabitEthernet0/2

State: ICMP_REPLY

Application: OTHER

Role: -

Failover group ID: -

Start time: 2019-11-28 21:25:30    TTL: 23s

Initiator->Responder:            5 packets        420 bytes

Responder->Initiator:            5 packets        420 bytes

在RTC入接口上抓包,可以看到源地址成功转换为了192.168.30.1:

该案例对您是否有帮助:

您的评价:1

若您有关于案例的建议,请反馈:

0 个评论

该案例暂时没有网友评论

编辑评论

举报

×

侵犯我的权益 >
对根叔知了社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔知了社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作