网络地址转换协议——NAT(恐怕是最全的版本)
前天我说第二天要跟大家讲一下NAT的,结果放假有些懒,所以就放在今天更新,希望大家不要凶我,哈哈哈。
目录
一、什么是NAT
1.NAT简介
NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。
这种方法需要在专用网(私网IP)连接到因特网(公网IP)的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址(公网IP地址)。这样,所有使用本地地址(私网IP地址)的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。
另外,这种通过使用少量的全球IP地址(公网IP地址)代表较多的私有IP地址的方式,将有助于减缓可用的IP地址空间的枯竭。在RFC 2663中有对NAT的说明。
2.NAT作用
将内部(私有)地址转换成外部(共有)地址
3.NAT内网地址的范围
A:10.0.0.0-10.255.255.255
B:172.16.0.0-172.31.255.255
C:192.168.0.0-192.168.255.255
4.主要应用方向:
1.没有足够的公网P连接到Internet
2.当更换ISP需要重新编址
3.合并两个使用重叠地址空间的内部网络
4.使用单个IP地址支持基本的负载分担
5.NAT的优点:
1.节省了公网IP地址
2.能够处理编址方案重叠的情况
3.网络发生改变时不需要重新编址
4.隐藏了真正的IP地址
二、NAT的几种类型
类型 | 特指 |
静态NAT | 一个内网地址对一个公网地址 |
动态NAT——PAT | 多个内网地址对多个公网地址 |
easyip | 多个内网地址对一个接口 |
静态PAT | 一对一,但是外网映射内网的服务 |
三、NAT类型的对应实验
出口路由器上需要配置默认路由
iproute0.0.0.0 0.0.0.0指向运营商对接的路由器IP
1.静态NAT
代码
R1:
[001]int g0/0/0//进入接口
[001-GigabitEthernet0/0/0]ip add 192.168.1.1 24//配置ip和子网掩码长度
[001-GigabitEthernet0/0/0]un shu//开启接口
[001-GigabitEthernet0/0/0]int g0/0/1//进入接口
[001-GigabitEthernet0/0/1]ip add 202.10.100.1 24//配置ip和子网掩码长度
[001-GigabitEthernet0/0/1]un shu//开启接口
[001-GigabitEthernet0/0/1]q
[001]ip route-static 0.0.0.0 0 202.10.100.2//配置默认路由,下一跳入接口 202.10.100.2
[001]int g0/0/1 //进入接口
[001-GigabitEthernet0/0/1]nat static global 15.0.0.10 inside 192.168.1.10 netmask 255.255.255.255 //添加PC1到15.0.0.10的IP映射
ISP服务商:
[ISP]int g0/0/0//进入接口
[ISP-GigabitEthernet0/0/0]ip add 202.10.100.2 24//配置ip和子网掩码长度
[ISP-GigabitEthernet0/0/0]un shu//开启接口
[ISP-GigabitEthernet0/0/0]q
[ISP]ip route-static 15.0.0.10 32 202.10.100.1//配置默认路由,下一跳入接口 202.10.100.1
重点部分
进入出接口nat static global出口公网IP地址(此地址必须不是外网口IP,是另外的租用的公网地址)inside 私网的某台PC的IP地址 netmask 255.255.255. 255
查看静态NAT映射情况
display nat static
ISP段:
[]ip route-static 15.0.0.10 32 202.10.100.1//ISP回执一条路由指向公司出口网关IP
PC机设置
ping测试
pc1可以通,pc2是不通的。
2.动态NAT--PAT
代码
R1:
[001]int g0/0/0//进入接口
[001-GigabitEthernet0/0/0]ip add 192.168.1.1 24//配置ip和子网掩码长度
[001-GigabitEthernet0/0/0]un shu//开启接口
[001-GigabitEthernet0/0/0]int g0/0/1//进入接口
[001-GigabitEthernet0/0/1]ip add 202.10.100.1 24//配置ip和子网掩码长度
[001-GigabitEthernet0/0/1]un shu//开启接口
[001-GigabitEthernet0/0/1]q
[001]ip route-static 0.0.0.0 0 202.10.100.2//配置默认路由,下一跳入接口 202.10.100.2
[001]nat address-group 1 15.0.0.10 15.0.0.11//配置NAT外网地址池
[001]acl 2000//创建标准访问控制列表2000
[001-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255//配置ACL抓取内网地址段
[001]int g0/0/1//进入接口
[001-GigabitEthernet0/0/1]nat outbound 2000 address-group 1//在外网口调用acl2000
[001]dis nat outbound//查询出接口信息
NAT Outbound Information:
--------------------------------------------------------------------------
Interface Acl Address-group/IP/Interface Type
--------------------------------------------------------------------------
GigabitEthernet0/0/1 2000 1 pat
--------------------------------------------------------------------------
Total : 1
ISP服务商:
[ISP]int g0/0/0//进入接口
[ISP-GigabitEthernet0/0/0]ip add 202.10.100.2 24//配置ip和子网掩码长度
[ISP-GigabitEthernet0/0/0]un shu//开启接口
[ISP-GigabitEthernet0/0/0]q
[ISP]ip route-static 15.0.0.0 24 202.10.100.1//配置默认路由,下一跳入接口 202.10.100.1
重点部分
1.配置NAT地址池
全局下打nat address-group 1 15.0.0. 10 15.0.0. 112.配置ACL抓取内网地址段
acl 2000
rule permit source 192.168.10.0 0.0.0.2553.外网口上调用
接口下打nat outbound 2000 address-group 1 (不加no-pat表示地址可重复使用,建议不加)
ISP[]ip route-static 15.0.0.0 32 202.10.100.1
[] display nat outbound
PC机设置
ping测试
两个都能测试成功
三.Easyip
代码
R1:
[R1]int g0/0/0 //进入接口g0/0/0 //进入接口g0/0/0
[R1-GigabitEthernet0/0/0]undo shut //开启物理接口
[R1-GigabitEthernet0/0/0]ip add 192.168.1.1 24 //配置IP地址及子网掩码长度
[R1-GigabitEthernet0/0/0]int g0/0/1 //进入接口g0/0/1
[R1-GigabitEthernet0/0/1]undo shut //开启物理接口
[R1-GigabitEthernet0/0/1]ip add 202.10.100.1 24 //配置IP地址及子网掩码长度
[R1]acl 2000 //创建标准访问控制列表2000
[R1-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255 //配置ACL抓取内网地址段
[R1-acl-basic-2000]int g0/0/1 //进入接口g0/0/1
[R1-GigabitEthernet0/0/1]nat outbound 2000 //在外网口打下此命令
[R1-GigabitEthernet0/0/1]display nat outbound//查看是否成功
ISP:
[ISP]int g0/0/0 //进入接口g0/0/0
[ISP-GigabitEthernet0/0/0]undo shut //开启物理接口
[ISP-GigabitEthernet0/0/0]ip add 202.10.100.2 24 //配置IP地址及子网掩码长度
重点内容:
进入外网口
接口下打nat outbound_ 2000 (接口下调用ACL列表,列表是之前定义的内网地址段)查询出接口信息
[] display nat outbound
ISP[]ip route-static 15.0.0.0 32 202.10.100.1
PC机设置
ping通测试
都可以进行ping通
四.静态PAT
代码
R1:
[R1]int g0/0/0 //进入接口g0/0/0
[R1-GigabitEthernet0/0/0]undo shut //开启物理接口
[R1-GigabitEthernet0/0/0]ip add 192.168.1.1 24 //配置IP地址及子网掩码长度
[R1-GigabitEthernet0/0/0]int g0/0/1 //进入接口g0/0/1
[R1-GigabitEthernet0/0/1]undo shut //开启物理接口
[R1-GigabitEthernet0/0/1]ip add 202.10.100.1 24 //配置IP地址及子网掩码长度
[R1-GigabitEthernet0/0/1]nat server protocol tcp global 15.0.0.10 21 inside 192.168.1.10 21
//在外网接口下打nat server 协议为tcp,global 自己设定公网地址 ftp/21 inside 目的IP地址192.168.1.10 ftp/21
[R1]ip route-static 0.0.0.0 0 202.10.100.2 //配置默认路由,下一跳入接口 202.10.10.2
[R1]display nat server //查看地址映射是否成功
ISP运营商:
[ISP]int g0/0/0 //进入接口g0/0/0
[ISP-GigabitEthernet0/0/0]undo shut //开启物理接口
[ISP-GigabitEthernet0/0/0]ip add 202.10.100.2 24 //配置IP地址及子网掩码长度
[ISP]ip route-static 15.0.0.10 32 202.10.100.1 //配置静态路由,目的网段15.0.0.10,掩码长度32,下一跳入接口202.10.100.1
//[ISP]nat alg ftp enable//开启ftp服务器功能
重点内容:
进入外网口
接口下打nat server protocol tcp global 15. 0.0.10 23/telnet inside 192. 168. 10. 100 23/telnet,
[] display nat server
注: FTP服务默认数据端口没有开启,需要手工去开
全局下打nat alg ftp enable(开启FTP服务)
nat alg dns enable (DNS服务 也需要开)
nat alg all enable(所有服务开)
服务器设置
PC机设置
FTP上传测试
代码
主要内容:
<ISP>ftp 15.0.0.10 //访问ftp服务器
[ISP-ftp]ls //列出文件夹
[ISP-ftp]get test.txt //下载文件
<ISP>ftp 15.0.0.10 //进行ftp链接登录
Trying 15.0.0.10 ...
Press CTRL+K to abort
Connected to 15.0.0.10.
220 FtpServerTry FtpD for free
User(15.0.0.10:(none)):
331 Password required for .
Enter password:
230 User logged in , proceed
[ISP-ftp]ls//查询ftp服务器的内容
200 Port command okay.
150 Opening ASCII NO-PRINT mode data connection for ls -l.
2021-08-30_132751.png
2021-08-30_133011.png
2021-08-30_133021.png
2021-08-30_133031.png
2021-08-30_133040.png
sea.txt
代码.txt
226 Transfer finished successfully. Data connection closed.
FTP: 134 byte(s) received in 0.050 second(s) 2.68Kbyte(s)/sec.
[ISP-ftp]get sea.txt//下载指定的内容
200 Port command okay.
150 Sending sea.txt (10 bytes). Mode STREAM Type BINARY
226 Transfer finished successfully. Data connection closed.
FTP: 10 byte(s) received in 0.170 second(s) 58.82byte(s)/sec.
[ISP-ftp]put sea.txt//打开指定的文件
200 Port command okay.
150 Opening BINARY data connection for sea.txt
100%
226 Transfer finished successfully. Data connection closed.
FTP: 10 byte(s) sent in 0.290 second(s) 34.48byte(s)/sec.
[ISP-ftp]
总结:
本次内容有些多,但是不难理解,主要还是动态nat和最后的静态pat的比较重要。