网络地址转换(NAT)

NAT概述

NAT的概念与实现方式

NAT的工作原理:网络地址转换

NAT实现方式:

静态转换

动态转换

端口多路复用

​ NAT的术语与转换表

访问外部服务器的过程:先查询路由表再查看NAT表进行转换

数据包回来的过程:先查询NAT表进行转换再查询路由表

NAT包含四类地址

​ 内部局部地址

​ 外部局部地址

​ 内部全局地址

​ 外部全局地址

NAT的转换条目

简单转换条目
扩展转换条目

NAT的优缺点

NAT的优点

​ 节省公有合法IP地址

​ 处理地址重叠

​ 增强灵活性

​ 安全性

NAT的缺点

​ 延迟增大

​ 配置和维护的复杂性

​ 不支持某些应用,可以通过静态NAT映射来避免

​ NAT实现方法的工作过程

​ NAT的特征

NAT的的配置

NAT配置步骤

1、接口IP地址配置

2、使用访问控制列表定义那些主机能做NAT

3、决定采用什么公有地址,静态和地址池

Router(config)#ip nat pool pool-name star-ip end-ip {netmask netmask | prefix-length prefix-length} [type rotary]

4、指定地址转换映射

Router(config)#ip nat inside source static local-ip global-ip [extendable]

Router(config)#ip nat inside source list access-list-number pool pool-name [overload]

5、在内部和外部端口上启用NAT

静态NAT配置实例

将内网地址192.168.100.2 / 192.168.100.3静态转换为合法的外部地址61.159.62.131 / 61.159.62.132,以便访问外部网络或被外部网络访问
NAT配置(一)_第1张图片

设置外部端口的IP地址:

router(config)#interface FastEthernet 0/0
router(config-if)#ip address 61.159.62.130 255.255.255.248
router(config-if)#no shut

设置内部端口的IP地址:

router(config)#interface FastEthernet 1/0
router(config-if)#ip address 192.168.100.1 255.255.255.0
router(config-if)#no shut

建立静态地址转换:

router(config)#ip nat inside source static 192.168.100.2 61.159.62.130
router(config)#ip nat inside source static 192.168.100.3 61.159.62.131

在内部和外部端口上启用NAT:

router(config)#inerface FastEthernet 0/0
router(config)#ip nat outside
router(config)#interface FastEthernet 1/0
router(config)#ip nat inside

配置默认路由

router(config)#ip router 0.0.0.0 0.0.0.0 61.159.62.129

实验:静态NAT配置

实验拓扑图
NAT配置(一)_第2张图片

R2接口配置

输入以下命令:
conf t
int f0/0
ip add 12.0.0.2 255.255.255.0
no shut
int f0/1
ip add 13.0.0.1 255.255.255.0
no shut
ex
ip route 0.0.0.0 0.0.0.0 12.0.0.1

NAT配置(一)_第3张图片

sw接口配置

输入以下命令:
conf t
no ip routing
int f1/2
speed 100
dup full
ex
NAT配置(一)_第4张图片

R1接口配置

输入以下命令:
conf t
int f0/0
ip add 192.168.100.1 255.255.255.0
no shut
int f0/1
ip add 12.0.0.1 255.255.255.0
no shut
ex
ip route 0.0.0.0 0.0.0.0 12.0.0.2
NAT配置(一)_第5张图片

配置PC机地址

分别输入以下命令:
PC1> ip 192.168.100.10 192.168.100.1
PC2> ip 192.168.100.20 192.168.100.1
PC3> ip 13.0.0.2 13.0.0.1
NAT配置(一)
NAT配置(一)
NAT配置(一)

测试全网是否互通

输入以下命令:
PC1> ping 192.168.100.20
PC1> ping 13.0.0.2
NAT配置(一)_第6张图片

静态NAT地址转换配置

输入以下命令:
ip nat inside source static 192.168.100.10 12.0.0.10
ip nat inside source static 192.168.100.10 12.0.0.20
int f0/0
ip nat inside
int f0/1
ip nat outside
end
debug ip nat
NAT配置(一)_第7张图片

测试NAT地址转换配置结果
NAT配置(一)
NAT配置(一)_第8张图片

实验:NAT静态端口映射

实验需求:

Linux搭建的一台Web服务器,局域网地址为192.168.100.100,默认端口为80端口

局域网的网关192.168.100.1

广域网的客户机无法直接访问100.100地址,如果想访问的话就需要做端口映射

映射地址:192.168.100.100:80—>12.0.0.100:8080
win7作为广域网的客户端
CentOS 7做为Web服务器

实验拓扑图
NAT配置(一)_第9张图片

在CentOS7的终端做以下配置

yum install httpd -y
vim /var/www/html/index.html

this is inside web


systemctl start httpd
systemctl stop firewalld.service
setenforce 0

NAT配置(一)_第10张图片

输入本地地址,对网站进行自测
NAT配置(一)_第11张图片

对CentOS7绑定VMnet1网卡,并配置固定ip192.168.100.100

vim /etc/sysconfig/network-scripts/ifcfg-ens33
将第4行的dhcp改为static
IPADDR=192.168.100.100
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
NAT配置(一)_第12张图片

将win10绑定VMnet2网卡,并配置固定ip12.0.0.12
NAT配置(一)_第13张图片

配置路由器网关地址

conf t
int f0/0
ip add 192.168.100.1 255.255.255.0
no shut
ex
int f0/1
ip add 12.0.0.1 255.255.255.0
no shut
ex
NAT配置(一)_第14张图片

静态NAT地址转换配置

ip nat inside source static tcp 192.168.100.100 80 12.0.0.100 8080 extendable
int f0/0
ip nat inside
int f0/1
ip nat outsid
end
debug ip nat
NAT配置(一)_第15张图片

再次尝试使用公网地址在win10进行访问,此时可以成功,并且debug可以抓取到地址转换过程
NAT配置(一)_第16张图片
NAT配置(一)_第17张图片