(1)客户机将数据包发给运行NAT的计算机 。
(2)NAT主机表示包的端口和私有IP地址在其自己的端口号和通用IP地址中,并将包发送到远程网络上的远程控制,并将跟踪信息存储在显示表中,向客户端发送响应消息 。
(3)外部网络将信息发送回NAT主机 。
(4)NAT主机是指在自己的端口和内部网络的私有IP地址中接收到的数据包的端口号和官方IP地址,并将其发送给客户 。
文章插图
借助于NAT,私有(保留)地址的"内部"网络通过路由器发送数据包时,私有地址被转换成合法的IP地址,一个局域网只需使用少量IP地址(甚至是1个)即可实现私有地址网络内所有计算机与Internet的通信需求 。
NAT将自动修改IP报文的源IP地址和目的IP地址,IP地址校验则在NAT处理过程中自动完成 。有些应用程序将源IP地址嵌入到IP报文的数据部分中,所以还需要同时对报文的数据部分进行修改,以匹配IP头中已经修改过的源IP地址 。否则,在报文数据部分嵌入IP地址的应用程序就不能正常工作 。
① client(终端) 的 gateway (网关)设定为 NAT 主机,所以当要连上 Internet 的时候,该封包就会被送到 NAT 主机,这个时候的封包 Header 之 source IP 为 192.168.1.100 ;
②而透过这个 NAT 主机,它会将 client 的对外联机封包的 source IP ( 192.168.1.100 ) 伪装成 ppp0 ( 假设为拨接情况 )这个接口所具有的公共 IP,因为是公共 IP 了,所以这个封包就可以连上 Internet 了,同时 NAT 主机并且会记忆这个联机的封包是由哪一个 ( 192.168.1.100 ) client 端传送来的;
③由 Internet 传送回来的封包,当然由 NAT主机来接收了,这个时候,NAT 主机会去查询原本记录的路由信息,并将目标 IP 由 ppp0 上面的公共 IP 改回原来的 192.168.1.100 ;
④最后则由 NAT 主机将该封包传送给原先发送封包的 Client 。
DNAT:若包是被送往PREROUTING链的,并且匹配了规则,则执行DNAT或REDIRECT目标 。为了使数据包得到正确路由,必须在路由之前进行DNAT 。
路由:内核检查信息包的头信息,尤其是信息包的目的地 。
处理本地进程产生的包:对nat表OUTPUT链中的规则实施规则检查,对匹配的包执行目标动作 。
SNAT:若包是被送往POSTROUTING链的,并且匹配了规则,则执行SNAT或MASQUERADE目标 。系统在决定了数据包的路由之后才执行该链中的规则 。
【局域网中NAT具体工作过程详解】
推荐阅读
- 网络交换机接口知识总结!
- Java新手如何学习Spring、Struts、Hibernate三大框架?
- VLAN工作原理之TRUNK:Native Vlan收到不带VLAN的Frame如何处理
- Python一秒搭建ftp服务器,帮助你在局域网共享文件
- 如何监控记录局域网内的邮件收发
- 局域网MAC地址认证上网如何实现
- arp网络攻击,局域网要瘫痪了,网络工程师教你怎么做
- 局域网IP限速怎么配置,限速多少比较合适
- JAVA三大框架Struts、hibernate和spring的各自作用是什么?
- Win10局域网两台电脑如何共享文件?