NAT,先实验,后学习

NAT,先做实验,后学习

前言

往往要用到才开始学习整理。

实验

实验环境:HCL模拟器

实验要求:
1.用户内网有2台服务器使用202.1.100.26这个公网地址对外提供web和ftp服务。
2.内网192.168.1.0网段用户需要上网使用公网接口地址。
3.内网用户需要使用公网地址访问内网的web服务器及ftp服务器。

拓补如图所示:
请添加图片描述

实验步骤

1.第一步是很重要的一步,搭建拓补,把信息好好地写在机子旁边,方便后续做实验。

2.设备重命名,该配的地址都配好,该配的路由都配好。
初步配置如下:

[H3C]sysname web
[web]int g0/0
[web-GigabitEthernet0/0]ip address 192.168.1.100 255.255.255.0
[web-GigabitEthernet0/0]qu
[web]ip route-static 0.0.0.0 0 192.168.1.1
[web]
-------web配置ip地址和默认路由(后续交换机采用三层模式,所以这里要配)

[sw]
[sw]interface Vlan-interface1
[sw-Vlan-interface1] ip address 192.168.1.1 255.255.255.0
[sw-Vlan-interface1]qu
[sw]interface GigabitEthernet1/0/3
[sw-GigabitEthernet1/0/3] port link-mode route//开启三层交换
[sw-GigabitEthernet1/0/3]ip address 172.16.200.1 255.255.255.252
[sw-GigabitEthernet1/0/3]qu
[sw]ip route-static 0.0.0.0 0 172.16.200.2
[sw]
------配置web和pc的网关,并配置路由

[rt]interface GigabitEthernet0/0
[rt-GigabitEthernet0/0]ip address 172.16.200.2 255.255.255.252
[rt-GigabitEthernet0/0]interface GigabitEthernet0/1
[rt-GigabitEthernet0/1]ip address 172.16.1.1 255.255.255.0
[rt-GigabitEthernet0/1]interface GigabitEthernet0/2
[rt-GigabitEthernet0/2] ip address 202.1.100.25 255.255.255.0
[rt-GigabitEthernet0/2]qu
[rt] ip route-static 192.168.1.0 24 172.16.200.1
[rt]
-----同样基础配置该配的配好

<FTP>sys
System View: return to User View with Ctrl+Z.
[FTP]interface GigabitEthernet0/0
[FTP-GigabitEthernet0/0]ip address 172.16.1.100 255.255.255.0
[FTP-GigabitEthernet0/0]qu
[FTP] ip route-static 0.0.0.0 0 172.16.1.1
[FTP]

[Internet]interface GigabitEthernet0/0
[Internet-GigabitEthernet0/0]ip address 202.1.100.1 255.255.255.0
[Internet-GigabitEthernet0/0]
----此时测试pc ping web和ftp服务器都是通的。当然ping不通internet的,要做nat转换。

现在就让拓补全连通吧!
做第二个要求:
内网192.168.1.0网段用户需要上网使用公网接口地址。
这里采用easy ip模式。

先简单学习easy ip怎么配,一般就是在公网的出接口配置acl感兴趣流,允许它通过,再一个outbound就结束了。来看看吧!

[rt]acl basic 2000
[rt-acl-ipv4-basic-2000]rule 0 permit source 192.168.1.0 0.0.0.255
[rt-acl-ipv4-basic-2000]interface GigabitEthernet0/2
[rt-GigabitEthernet0/2]nat outbound 2000
[rt-GigabitEthernet0/2]

看,pc可以访问外网了。当然外网不能随意访问内网的!外网是ping不通内网的现在。
<H3C>ping 202.1.100.1
Ping 202.1.100.1 (202.1.100.1): 56 data bytes, press CTRL_C to break
56 bytes from 202.1.100.1: icmp_seq=0 ttl=253 time=1.031 ms
56 bytes from 202.1.100.1: icmp_seq=1 ttl=253 time=0.950 ms
56 bytes from 202.1.100.1: icmp_seq=2 ttl=253 time=1.195 ms
56 bytes from 202.1.100.1: icmp_seq=3 ttl=253 time=1.069 ms
56 bytes from 202.1.100.1: icmp_seq=4 ttl=253 time=1.016 ms

--- Ping statistics for 202.1.100.1 ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.950/1.052/1.195/0.081 ms

还没完,看一下包的转换再进行下一步吧!

<rt>t m
The current terminal is enabled to display logs.
<rt>t d
The current terminal is enabled to display debugging logs.
<rt>de
<rt>debugging nat p
<rt>debugging nat packet
<rt>

然后pc再ping一下外网

获取包
<rt>*Aug 15 21:46:13:063 2024 rt NAT/7/COMMON:
 PACKET: (GigabitEthernet0/2-out-config) Protocol: ICMP
    192.168.1.10:  172 -     202.1.100.1: 2048(VPN:    0) ------>
    202.1.100.25:    2 -     202.1.100.1: 2048(VPN:    0)
*Aug 15 21:46:13:063 2024 rt NAT/7/COMMON:
 PACKET: (GigabitEthernet0/2-in-session) Protocol: ICMP
     202.1.100.1:    2 -    202.1.100.25:    0(VPN:    0) ------>
     202.1.100.1:  172 -    192.168.1.10:    0(VPN:    0)
     看不懂就gtp!
     gtp说:它记录了ICMP(Internet Control Message Protocol,互联网控制消息协议)数据包在网络接口GigabitEthernet0/2上的进出情况。
     前面其实就是说源地址从192.168.1.10转换成了202.1.100.25,目的地址没变,还是202.1.100.1
     然后回包,源地址没变还是202.1.100.25,目的地址进行了转换,从202.1.100.25变成了192.168.1.10

再想想easy ip

Easy IP也称为基于接口的地址转换。在地址转换时对数据包的IP地址、协议类型、传输层端口号同时转换。但Easy IP直接使用相应公网接口IP地址作为转换后的源地址。由于不必事先配置公网地址池,Easy IP适用于动态获得公网地址的场合。

好了到这里我们学会了easy ip 的配置方法。真是可喜可贺,可喜可贺。。。


进行下一步吧!
来实现这个!
内网用户需要使用公网地址访问内网的web服务器及ftp服务器。
这里需要思考,同网段内网PC使用公网地址访问内部服务器 与 不同网段内网PC使用公网地址访问内部服务器怎么配

简单说一下吧。
前者:配置将内网服务器(IP地址)映射到公网接口,端口和ip映射,然后在靠近服务器的那边接口配置NAT Hairpin
后者:配置将内网服务器(IP地址)映射到公网接口,端口和ip映射。在靠近服务器的一侧配置NAT Hairpin,在内网访问的那一段网址的接口上也需要配置NAT Hairpin。就是下面实验中的g0/0与g0/1都需要进行配置。

请添加图片描述

来敲命令吧!

首先别忘记把服务开起来!
[web]telnet server enable
[web]line vty 0 63
[web-line-vty0-63] authentication-mode none

[rt]int g0/2
[rt-GigabitEthernet0/2]nat server protocol tcp global 202.1.100.25 9890 inside 1
92.168.1.100 23
[rt-GigabitEthernet0/2]qu
[rt]int g0/0
[rt-GigabitEthernet0/0]nat hairpin enable

[rt-GigabitEthernet0/2]dis this
#
interface GigabitEthernet0/2
 port link-mode route
 combo enable copper
 ip address 202.1.100.25 255.255.255.0
 nat outbound 2000
 nat server protocol tcp global 202.1.100.25 9890 inside 192.168.1.100 23
#
return

看一下pc能不能远程登录!

<H3C>telnet 202.1.100.25 9890
Trying 202.1.100.25 ...
Press CTRL+K to abort
Connected to 202.1.100.25 ...

******************************************************************************
* Copyright (c) 2004-2021 New H3C Technologies Co., Ltd. All rights reserved.*
* Without the owner's prior written consent,                                 *
* no decompiling or reverse-engineering shall be allowed.                    *
******************************************************************************
<web>

--------------同网段内网PC使用公网地址访问内部服务器做好了------------------

老样子,开服务
[FTP]telnet server enable
[FTP]line vty 0 63
[FTP-line-vty0-63] authentication-mode none
[FTP-line-vty0-63]

[rt-GigabitEthernet0/2]nat server protocol tcp global 202.1.100.25 4433 inside 1
72.16.1.100 23
[rt-GigabitEthernet0/2]
[rt]int g0/1
[rt-GigabitEthernet0/1]nat hairpin enable

测试!
<H3C>telnet 202.1.100.25 4433
Trying 202.1.100.25 ...
Press CTRL+K to abort
Connected to 202.1.100.25 ...

******************************************************************************
* Copyright (c) 2004-2021 New H3C Technologies Co., Ltd. All rights reserved.*
* Without the owner's prior written consent,                                 *
* no decompiling or reverse-engineering shall be allowed.                    *
******************************************************************************

<FTP>
-------------不同网段内网PC使用公网地址访问内部服务器做好了-----------------

看包转换过程。

<H3C>telnet 202.1.100.25 9890

<rt>*Aug 15 22:26:23:658 2024 rt NAT/7/COMMON:
 PACKET: (GigabitEthernet0/2-out-config) Protocol: TCP
    192.168.1.10:17094 -    202.1.100.25: 9890(VPN:    0) ------>
    202.1.100.25: 1029 -    202.1.100.25: 9890(VPN:    0)---源转换
*Aug 15 22:26:23:658 2024 rt NAT/7/COMMON:
 PACKET: (GigabitEthernet0/0-in-config) Protocol: TCP
    202.1.100.25: 1029 -    202.1.100.25: 9890(VPN:    0) ------>
    202.1.100.25: 1029 -   192.168.1.100:   23(VPN:    0)--目的转换
*Aug 15 22:26:23:659 2024 rt NAT/7/COMMON:
 PACKET: (GigabitEthernet0/0-in-session) Protocol: TCP
   192.168.1.100:   23 -    202.1.100.25: 1029(VPN:    0) ------>
    202.1.100.25: 9890 -    202.1.100.25: 1029(VPN:    0)
*Aug 15 22:26:23:659 2024 rt NAT/7/COMMON:
 PACKET: (GigabitEthernet0/0-out-session) Protocol: TCP
    202.1.100.25: 9890 -    202.1.100.25: 1029(VPN:    0) ------>
    202.1.100.25: 9890 -    192.168.1.10:17094(VPN:    0)


遇事不决喂gtp,其实就是前面源地址从192.168.1.10映射到202.1.100.25,目的地址没变;202.1.100.25: 1029 -    202.1.100.25: 9890然后202.1.100.25: 9890转变成192.168.1.100:   23(这里,不就是我们的目的吗?)
然后就回包呀。内网地址192.168.1.100的23端口响应来自公网地址202.1.100.25的1029端口的请求。映射为202.1.100.25: 9890 -    202.1.100.25: 1029,然后202.1.100.25: 1029其实是一开始192.168.1.10:17094映射为202.1.100.25: 1029,看看这样不是绕回来了。

提问!
nat server protocol tcp global 202.1.100.25 9890 (外部地址、端口)inside 192.168.1.100 23(内部的服务器)是什么映射?
NAT Server。内部服务器:将(外部地址、端口)映射到内部的服务器上,使外部网络可访问内部服务器
配置如下:
nat server protocol pro-type global global-addr [ global-port ] inside host-addr [ host-port ]
注:拨号接口Global使用当前接口IP地址:current-interface

再提问!
nat hairpin 是什么?
通过在内网侧接口上使能NAT hairpin功能,可以实现内网用户使用NAT地址访问内网服务器或内网其它用户。NAT hairpin功能需要与内部服务器(nat server)、出方向动态地址转换(nat outbound)或出方向静态地址转换(nat static outbound)配合工作,且这些配置所在的接口必须在同一个接口板,否则NAT hairpin功能无法正常工作。
该功能在不同工作方式下的具体转换过程如下:NAT在内网接口上同时转换访问内网服务器的报文的源和目的IP地址,其中,目的IP地址转换通过匹配某外网接口上的内部服务器配置来完成—nat server protocol tcp global 202.1.100.25 9890 (外部地址、端口)inside 192.168.1.100 23(内部的服务器)----,源地址转换通过匹配内部服务器所在接口上的出方向动态地址转换–outbound 2000—或出方向静态地址转换来完成。

看下一个包吧

<H3C>telnet 202.1.100.25 4433


<rt>*Aug 15 22:52:25:704 2024 rt NAT/7/COMMON:
 PACKET: (GigabitEthernet0/2-out-config) Protocol: TCP
    192.168.1.10:17097 -    202.1.100.25: 4433(VPN:    0) ------>
    202.1.100.25: 1032 -    202.1.100.25: 4433(VPN:    0)
*Aug 15 22:52:25:704 2024 rt NAT/7/COMMON:
 PACKET: (GigabitEthernet0/0-in-config) Protocol: TCP
    202.1.100.25: 1032 -    202.1.100.25: 4433(VPN:    0) ------>
    202.1.100.25: 1032 -    172.16.1.100:   23(VPN:    0)
*Aug 15 22:52:25:704 2024 rt NAT/7/COMMON:
 PACKET: (GigabitEthernet0/1-in-session) Protocol: TCP
    172.16.1.100:   23 -    202.1.100.25: 1032(VPN:    0) ------>
    202.1.100.25: 4433 -    202.1.100.25: 1032(VPN:    0)
*Aug 15 22:52:25:704 2024 rt NAT/7/COMMON:
 PACKET: (GigabitEthernet0/0-out-session) Protocol: TCP
    202.1.100.25: 4433 -    202.1.100.25: 1032(VPN:    0) ------>
    202.1.100.25: 4433 -    192.168.1.10:17097(VPN:    0)

这里就不再做包的解释了。

还剩最后一个任务。
用户内网有2台服务器使用202.1.100.26这个公网地址对外提供web和ftp服务。

[rt]interface GigabitEthernet0/2
[rt-GigabitEthernet0/2]nat server protocol tcp global 202.1.100.26 21 inside 172
.16.1.100 21
[rt-GigabitEthernet0/2]nat server protocol tcp global 202.1.100.26 80 inside 192
.168.1.100 80
[rt-GigabitEthernet0/2]
-----------------结束了。

再加一步吧,看看外网能不能远程登录内部服务器

[rt-GigabitEthernet0/2]nat server protocol tcp global 202.1.100.27 23 inside 172
.16.1.100 23
[rt-GigabitEthernet0/2]nat server protocol tcp global 202.1.100.27 1010 inside 1
92.168.1.100 23

结果:
<Internet>telnet 202.1.100.27 23
Trying 202.1.100.27 ...
Press CTRL+K to abort
Connected to 202.1.100.27 ...

******************************************************************************
* Copyright (c) 2004-2021 New H3C Technologies Co., Ltd. All rights reserved.*
* Without the owner's prior written consent,                                 *
* no decompiling or reverse-engineering shall be allowed.                    *
******************************************************************************

<FTP>

<Internet>telnet 202.1.100.27 1010
Trying 202.1.100.27 ...
Press CTRL+K to abort
Connected to 202.1.100.27 ...

******************************************************************************
* Copyright (c) 2004-2021 New H3C Technologies Co., Ltd. All rights reserved.*
* Without the owner's prior written consent,                                 *
* no decompiling or reverse-engineering shall be allowed.                    *
******************************************************************************

<web>

结语

哪里说的不对,请指正。关于nat的几种模式,之后再总结吧~

  • 15
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

桂花香呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值