为了更好地理解NAT技术,首先普及一些前提的知识:
IPv4地址私有和公有:
私有地址:标识本地唯一,即你主机所在的内网唯一性,且不可以在因
特网中参与通信。也就是说你主机的IP地址可能会和别人的内网中主机
地址一样。无需付费就可以在内网中使用。
私有地址有以下这些:
A:10.0.0.0/8
B: 172.16.0.0/16-172.31.0.0/16
C: 192.168.0.0/24-192.168.255.0/24
不妨查看一下自己主机的IP是不是属于以上内容呢:
方法Win+R打开运行 ,输入cmd, 在打开的界面输入ifconfig
公有地址: 标识全球唯一性。在因特网中公有地址只有唯一的一个;由
Inter NIC(Internet Network Information Center 因特网信息中心)负责。
这些IP地址分配给注册并向Inter NIC提出申请的组织机构。通过它直接访
问因特网。
DNS的作用:一般访问网站是否能成功,要看是否能成功解析到此域名
所对应的IP地址,此时要用到DNS服务器。做域名和IP地址间解析的服
务器叫DNS服务器。什么情况下需要配DNS?通过域名有访问网站需求
时需要用配DNS。
DNS 也不是必配参数。什么时候配DNS?通过域名来访问网站的时候,
也就是说有域名解析需求的时候。比如访问百度可以直接用你本地对应
的百度IP进行访问,但是IP地址不便于记忆,所以我们经常用百度网址
进行访问。(每个主机所处的网络位置不同所以访问百度时候百度IP也
不同,这是因为百度的服务器不可能只有那么一台,为了更好地服务百
度在各地都有服务器所以你访问百度的IP也就不同了。)你可以直接用
命令ping www.baidu.com查看你本地对应的百度IP。
例如查看我主机到百度的IP方法:
还有最后记住一点:
当内网访问外网使用缺省+NAT:
缺省路由可以让内网的路由出去到外网,但是单单出去是不可以的,通信时
双向的所以要让路由回到内网就要用NAT回来。
接下来是NAT的详细内容:
NAT中文名称:网络地址转换
原理:数据包在内网与外网间互相通信时,对数据包IP地址进行转换
从而达到与外网通信的目的。(内网表示的是你主机所在的网络环境
,外网表示互联网)
注意:由内网访问外网修改源IP地址;由外网访问内网修改目的IP地址。
分类:NAT分为一对一(静态),一对多(动态又叫PAT),多对多(可以静
态可以动态)。
具体用配置实现NAT技术:
模拟实验拓扑环境如下图:
思路:先创建VLAN,并按照实验要求把接口划入VLAN,然后交换机和路由器之间
做trunk;然后做路由,配置接口ip地址,最后用路由协议将R1和R0建立通信;PC2
和PC3由DHCP技术获取IP地址,当然路由器R1要做子接口技术。最好在路由器连接
交换机的接口做被动接口,来优化路由。
注意:得到网络拓扑之后第一时间不是直接配置,而是要实现想到该如何部署,如何策划不可以一头扎进配置中。而忘了理论知识去死学网络。
配置内容:
路由器SW1
1.创建VLAN
Switch(config)#vlan 2
Switch(config-vlan)#vlan 3
2.接口划入VLAN
Switch(config)#inter f0/23
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 2
Switch(config-if)#inter f0/24
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 3
3.与路由器建立trunk干道
Switch(config-if)#inter f0/1
Switch(config-if)#switchport mode trunk
路由部分:
按照实验拓扑为路由器接口分配地址:
路由器配置ip就不在叙述,我们现在为PC分配ip地址
PC0和PC1直接用静态的方式分配地址分别为192.168.1.2/24、
192.168.1.3/24各自网关指向192.168.1.1/24
重点是PC2和PC3的ip地址:
1.在R1做子接口并分配地址:
Router(config)#inter f0/1
Router(config-if)#no shutdown
Router(config-if)#inter f0/1.1
Router(config-subif)#encapsulation dot1Q 2 //修改接口封装模式,并表示为VLAN2的地址,dot1Q后边跟VLAN号
Router(config-subif)#ip add 192.168.2.1 255.255.255.128 //分配地址
Router(config-subif)#inter f0/1.2
Router(config-subif)#encapsulation dot1Q 3
Router(config-subif)#ip add 192.168.2.129 255.255.255.128
2.在R1做DHCP为PC2和PC3分配地址
ip dhcp pool vlan2 //全剧模式下命令,vlan2为地址池名称
network 192.168.2.0 255.255.255.128 //分配ip地址池塘
default-router 192.168.2.1 //指定默认网关
dns-server 8.8.8.8 //指定dns地址
ip dhcp pool vlan3
network 192.168.2.128 255.255.255.128
default-router 192.168.2.129
dns-server 8.8.8.8
3.让内网之间可以通信
在R0和R1之间启用动态路由协议eigrp;
然后为了减少路由条目数量在内网边界路由器接口R1的f0/0汇总
Router(config-if)#inter f0/0
Router(config-if)#ip summary-address eigrp 100 192.168.2.0 255.255.255.0
4.内网路由器与交换机接口处做被动接口
Router(config-if)#router eigrp 100
Router(config-router)#passive-interface f0/1.1 //子接口一定要跟详细的接口号
Router(config-router)#passive-interface f0/1.2
5.在内网与外网边界做缺省为内网访问外网的第一条件
Router(config-router)#inter f0/0 //为内网下放缺省
Router(config-if)#ip summary-address eigrp 100 0.0.0.0 0.0.0.0
Router(config)#ip route 0.0.0.0 0.0.0.0 12.1.1.2 //指向外网
最后就是NAT路由了,下面介绍详细的NAT配置;
1.NAT配置必须在内网网边界路由器上定义让路由器知道内部接口和外部接口(必须配置)
Router(config)#inter f0/0
Router(config-if)#ip nat inside
Router(config-if)#inter f0/1.1
Router(config-subif)#ip nat inside
Router(config-subif)#inter f0/1.2
Router(config-subif)#ip nat inside
Router(config-subif)#inter f1/0
Router(config-if)#ip nat outside
一对一(静态NAT):固定的将一个ip地址转换为另外一个ip地址
例如让PC0可以访问PC4
Router(config)#ip nat inside source static 192.168.1.2 12.1.1.1 //内网某ip(内网本地)转为内网全局ip
查看结果:
不妨试试其他的PC访问PC4
一对多: 将多个ip地址转换为一个ip地址(端口地址转换,用端口号标识区分源ip地址)
例如让内网所有主机可以访问因特网
Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255 //用ACL抓取感兴趣的流量
Router(config)#access-list 1 permit 192.168.2.0 0.0.0.255
Router(config)#ip nat inside source list 1 interface f1/0 overload //调用ACL执行NAT