NAT

发布时间 2023-08-20 12:49:42作者: 楚颖i

NAT


NAT(Network Address Translations):网络地址转换


公网IP与私网IP

  • 公网IP只能在公网上使用
  • 私网IP只能在内网上使用
  • 公网路由器不会给私网IP路由(会被丢弃)
  • 私网IP可以在不同内网重复使用

私有IP地址范围:

1)10.0.0.0/8 (10开头的)

10.0.0.0 ——— 10.255.255.255

2)172.16.0.0/16 - 172.31.0.0/16 (172.16开头的一直到172.31开头的)

172.16.0.0——— 172.16.255.255

3)192.168.0.0/16 (192.168开头的)

192.168.0.0———192.168.255.255


使用NAT原因:ipv4地址严重不够用了-->内网使用私网IP-->NAT进行公私网IP地址转换,然后完成整个通信

NAT主要实现公私有IP地址的转换,一般是在路由器或者防火墙上来完成,不建议在三层交换机上配置

tips:NAT路由器上先定义内外网端口,包从内到外时修改源IP地址,从外到内时修改目标IP地址


NAT地址转换表

路由器会先通过NAT地址转换表进行地址转换,后匹配路由表

转换表内容不固定,不同类型内容应该不一样


NAT类型

静态NAT、动态NAT、NAPT(PAT)

静态NAT

原理:手动在NAT路由器上配置内网IP与公网IP对应关系:192.1--100.1(这里是简写),当数据包到达路由器时,进行地址转换,将包头里的源IP修改为公网IP100.1,再路由出去。


特点:

  • 一对一映射
  • 支持双向通信(在静态NAT表上配置了映射就可以通过外网一对一访问内网)

缺点:只能一人上网,当内网其他的人想要上网时,需要购买其他的公网IP(穷,买不起)进行映射。

注:当有多个公网IP时,不需要配公网IP于接口上(除去子接口的话,接口本身就只能有一个IP),只需将该公网IP体现在地址转换表上即可
地址池:在本文中指存放公/私网IP的池子,又称内部池和外部池


动态NAT

内网的某人上网时,从外部池中拿一个公网IP来映射,之后的过程和静态NAT一样,只不过转换表条目不用自己配(动态映射),当该人不使用一段时间后(默认10分钟),就会把该映射关系清除,公网IP又返回外部池。


特点:

  • 一对一映射
  • 只能内网访问外网(因为是动态生成,当外网访问内网时,由于没有条目进行匹配,就被丢弃了)

缺点一样,不能给内网的人同时上网。除非购买大量公网IP在地址池里。


NAPT(PAT)

NAPT (Network Address Port Translation):网络地址端口转换(端口复用技术)(现在叫的NAT,一般是NAPT)

原理:假设192.1的数据包源IP192.1,源端口号5000(发送信息时会随机使用一个未使用的端口号发送数据),到达NAT路由器内部时,将192.1修改成100.1,源端口号5000修改成1(会使用路由器的端口),如图中红框框(这就是建立的映射关系),目标IP,目标端口号不变,将数据包路由出去。

192.2的包通过overload复用公网IP,然后使用路由器不同的端口号进行TCP/UDP头的封装(设备端口号的范围一般为0-65535),然后再路由。

注:路由器端口号不重复,除非上一个映射条目通信结束后消失才能继续使用。


特点:

  • 多对多映射

NAPT可分成两类:锥型和对称型,如图。

完全锥形NAT