NAT原理总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NAT原理总结相关的知识,希望对你有一定的参考价值。

参考技术A

由于网络的飞速发展和网络应用的极速增多,致使IPv4可用地址空间逐渐枯竭。尽管IPv6可以在根本上解决地址枯竭问题,但IPv4发展到IPv6还需要一个过渡,而这便产生了NAT。

IP地址分为公网IP与私网IP。一般情况下,在互联网中,公网IP可直接访问,私网IP无法直接访问。而NAT则是将私网IP地址转换为公网IP地址(将IP报文头部的私网IP地址改为可以提供访问的公网IP地址),从而实现用户上网功能或服务器在互联网上提供服务。NAT还可以使得一个公网IP代表多个不同的内网IP,这样便节省了IP地址资源。

NAT分为静态转换、动态转换、端口转换

公司(有固定公网IP地址)上网访问某网站简易过程

实现SNAT和DNAT都需要开启内核数据转发功能

基于nat表的target,适用于固定的公网IP

SNAT选项:

语法:

范例:

nat表的target,适用于端口映射,即可重定向到本机,也可以支持重定向至不同主机的不同端口,但不支持多目标,即不支持负载均衡功能

DNAT选项:

DNAT语法:

范例:

CentOS 7、8

CentOS 6

iptables-restore选项

用规则文件保存各规则,开机时自动载入此规则文件中的规则

在/etc/rc.d/rc.local文件添加

范例: CentOS 7,8 使用 iptables-services

LVS由前端的负载均衡器(Load Balancer,LB)和后端的真实服务器(Real Server,RS)群组成。RS间可通过局域网或广域网连接。LVS的这种结构对用户是透明的,用户只能看见一台作为LB的虚拟服务器(Virtual Server),而看不到提供服务的RS群。当用户的请求发往虚拟服务器,LB根据设定的包转发策略和负载均衡调度算法将用户请求转发给RS。RS再将用户请求结果返回给用户。

1.当客户端的请求到达负载均衡器的内核空间时,首先会到达PREROUTING链。

2.当内核发现请求数据包的目的地址是本机时,将数据包送往INPUT链。

3.LVS由用户空间的ipvsadm和内核空间的IPVS组成,ipvsadm用来定义规则,IPVS利用ipvsadm定义的规则工作,IPVS工作在INPUT链上,当数据包到达INPUT链时,首先会被IPVS检查,如果数据包里面的目的地址及端口没有在规则里面,那么这条数据包将被放行至用户空间。

4.如果数据包里面的目的地址及端口在规则里面,那么这条数据报文将被修改目的地址为事先定义好的后端服务器,并送往POSTROUTING链。

5.最后经由POSTROUTING链发往后端服务器。

注意:在NAT模式中,Real Server的网关必须指向LVS,否则报文无法送达客户端。

注意:需要设置lo接口的VIP不能响应本地网络内的arp请求。

①.客户端将请求发往前端的负载均衡器,请求报文源地址是CIP,目标地址为VIP。

②.负载均衡器收到报文后,发现请求的是在规则里面存在的地址,那么它将在客户端请求报文的首部再封装一层IP报文,将源地址改为DIP,目标地址改为RIP,并将此包发送给RS。

③.RS收到请求报文后,会首先拆开第一层封装,然后发现里面还有一层IP首部的目标地址是自己lo接口上的VIP,所以会处理次请求报文,并将响应报文通过lo接口送给eth0网卡直接发送给客户端。

注意:需要设置lo接口的VIP不能在共网上出现。

LVS的调度算法分为静态与动态两类。

以上是关于NAT原理总结的主要内容,如果未能解决你的问题,请参考以下文章

NAT原理总结iptables实现SNAT和DNAT。

网络原理6

计算机网络 - NAT的工作基本原理

计算机网络 - NAT的工作基本原理

nat路由器的工作原理

NAT的工作原理啥