网络中的代理(proxy)是什么意思?
答:
proxy是一种网络服务,允许一个网络终端(一般为客户端)通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接。
例如:A机不能访问C机,但可以访问B机;
B机可以访问C机;
B机提供了proxy服务;
A机可以通过B机提供的proxy服务,来访问C机。
NAT是什么意思?
NAT类似于一个动态的端口映射,基本工作原理是,当私有网主机和公共网主机通信的IP包经过NAT网关时,将IP包中的源IP或目的IP的私有IP双向转换为NAT的公共IP。
大白话就是,将内网地址翻译成外网地址。
SNAT和DNAT
- DNAT:
Destination Network Address Translation
目的网络地址转换 - SNAT:
Source Network Address Translation
源网络地址转换,其作用是将ip数据包的源地址转换成另外一个地址,
可能有人觉得奇怪,好好的为什么要进行ip地址转换啊,为了弄懂这个问题,我们要看一下局域网用户上公网的原理,
假设内网主机A(192.168.2.8)要和外网主机B(61.132.62.131)通信,A向B发出IP数据包,如果没有SNAT
对A主机进行源地址转换,
A与B主机的通讯会不正常中断,因为当路由器将内网的数据包发到公网IP后,公网IP会给你的私网IP回数据包,这时,公网IP根本就无法知道你的私网IP应该如何走了。
所以问它上一级路由器,当然这是肯定的,因为从公网上根本就无法看到私网IP,因此你无法给他通信。为了实现数据包的正确发送及返回,
网关必须将A的址转换为一个合法的公网地址,同时为了以后B主机能将数据包发送给A,这个合法的公网地址必须是网关的外网地址,如果是其它公网地址的话,
B会把数据包发送到其它网关,而不是A主机所在的网关,A将收不到B发过来的数据包,所以内网主机要上公网就必须要有合法的公网地址,
而得到这个地址的方法就是让网关进行SNAT(源地址转换)
,将内网地址转换成公网址(一般是网关的外部地址),所以大家经常会看到为了让内网用户上公网,
我们必须在routeros
的firewall
中设置snat
,俗称IP地址欺骗
或伪装(masquerade)