话说小p曾经去某公司面试网络工程师一职,面试官问到nat相关知识时,我回答:“nat有三种模式:动态nat,静态nat和pat ......”刚回答到此,被面试官打断,一脸鄙视的表情看着我,说道:“nat有三种模式?我怎么没有听说过?你不会是在忽悠我吧?”那时的我,年轻气盛;不懂得收敛,和面试官争执起来,最后的结果可想而知。
其实,遇到这种情况,可以耐心和面试官解释,把三种模式详细解释给面试官。这样可以给自己加分。得到offer的几率也比较大,千万别学那时的我。
Ok。有点扯远了,进入正题。
.................................................................................................................................
NAT
中文名:网络地址转换
英文名:Network Address Translation
nat属于接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。
NAT不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
NAT的实现方式有三种,即静态转换Static Nat、动态转换Dynamic Nat 和端口多路复用OverLoad。
静态转换是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址。借助于静态转换,可以实现外部网络对内部网络中某些特定设备(如服务器)的访问。
动态转换是指将内部网络的私有IP地址转换为公用IP地址时,IP地址是不确定的,是随机的,所有被授权访问上Internet的私有IP地址可随机转换为任何指定的合法IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。动态转换可以使用多个合法外部地址集。当ISP提供的合法IP地址略少于网络内部的计算机数量时。可以采用动态转换的方式。
端口多路复用(Port address Translation,PAT)是指改变外出数据包的源端口并进行端口转换,即端口地址转换(PAT,Port Address Translation).采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自internet的攻击。因此,目前网络中应用最多的就是端口多路复用方式。
这三种模式具体配置,网上很多,这里就不一一举例。说一下我工作中用到的模式;
一:动态+静态 缺点是一般动态地址很少,isp不可能给你多少公网ip地址,我见过20兆“紫金”光纤最多就给32个公网ip地址
二:pat+静态:找个ip做pat,其他公网ip做静态nat。企业常用到
举一个真实的案例:(因为涉及到真实环境,所以绿色ip被我随即修改成555开头)
interface GigabitEthernet0/0 外网口
ip address 555.135.66.134 255.255.255.252
ip nat outside
ip virtual-reassembly in
duplex auto
speed auto
!
interface GigabitEthernet0/1 内网口 三层和路由使用100.1和100.2连接
ip address 192.168.100.1 255.255.255.0
ip nat inside
ip virtual-reassembly in
duplex auto
speed auto
下面是pat配置:
ip nat pool passion 555.135.66.134 555.135.66.134 netmask 255.255.255.252
ip nat inside source list 1 pool passion overload
下面是静态nat配置:
ip nat inside source static tcp 192.168.11.2 3690 555.135.66.135 3690 extendable
ip nat inside source static tcp 192.168.7.2 80 555.135.66.136 80 extendable
ip nat inside source static 192.168.7.2 555.135.66.137
ip nat inside source static tcp 192.168.11.50 3389 555.135.66.138 3389 extendabl
access-list 1 permit 192.168.0.0 0.0.255.255
只贴pat和静态nat相关的配置文件,都是从运行中的设备复制出来的
route#sh ip nat translations
Pro Inside global Inside local Outside local Outside global
udp 555.135.66.134:137 192.168.8.3:137 192.168.13.9:137 192.168.13.9:137
配置中的具体参数含义我就不解释了!有什么不明白的可以留言大家交流交流!
++++++++++++++++++++++++++++++++
补充:
如果做了静态的nat,内网机器想通过公网ip地址直接访问静态映射的机器。有点晕~
用上面的配置举个例子吧!
ip nat inside source static 192.168.7.2 555.135.66.137 做了静态映射之后
局域网内的192.168.8.x的机器想通过555.135.66.1访问192.168.7.2,(你会说干嘛不直接访问7.2呢!其实都一样!但是有时候开发各种需求!我们也没办法。)
如果你不做任何配置,你会发现访问555.135.66.137 根本无法正常得到7.2提供的服务。
其实很简单,在路由器上添加一条路由即可:
ip route 555.135.66.137 255.255.255.255 192.168.100.2
# 192.168.100.2是路由和三层的连接地址,路由的内网卡是100.1
从之前的老博客转出。