异想天开

What's the true meaning of light, Could you tell me why

virtualbox虚拟机NAT的类型

日期:2013-10-25 20:13:52
  
最后更新日期:2015-06-26 10:15:17
一.NAT的类型

二.virtualbox的NAT网络类型

NAT类型分为以下四种

1.Full Cone NAT

2.Restricted Cone NAT

3.Port Restricted Cone NAT

4.Symmetric NAT
解释:
用语定义:
内部Tuple: 主机程序发送报文的私有地址,端口的二元组
外部Tuple:主机报文到达网关,映射后的公有地址,端口二元组
目标Tuple: 服务器对该报文公有地址,端口二元组
Full Cone NAT: 所有来自同一 个内部Tuple X的请求均被NAT转换至同一个外部Tuple Y
Restricted Cone NAT: Full Cone NAT的限制版本,当内部主机曾经发送给外部主机的IP后,NAT设备才转发外部主机发给内部主机的报文
Port Restricted Cone NAT: Restricted Cone NAT的增强版本,只有当内部主机发送给一个目标Tuple,该目标Tuple的报文才会被转发
Symmetric NAT: 只有来自于同一个内部Tuple 、且针对同一目标Tuple的请求才被NAT转换至同一个外部Tuple,否则的话,NAT将为之分配一个新的外部Tuple

前面三种nat的某台主机相同的ip:port访问外网时都会映射为一个nat_ip:nat_port,最后一种NAT,访问不同的外网时,会重新分配nat_ip:nat_port,比如nat上只有一个公网ip时,那么会重新分配port。这种类型的nat,网上说可以用端口预测的办法,既然是预测那么就不可能百分之百成功。
virtualbox的NAT网络类型:

实验一:

虚拟机用10.0.2.15:1234连接主机192.168.237.89:3666,192.168.237.89:3667(这个ip是我的主机ip,在虚拟机中对应为网关)。服务端程序打印出接受到的连接ip:port(这个经过了虚拟机nat映射后的)。

虚拟机:

1
主机:

11
 

实验二:

虚拟机用10.0.2.15:1234连主机192.168.237.89:3666,10.0.2.15:1233连192.168.237.89:3666。客户端程序,执行两次查看结果。

虚拟机:

3
主机:

31
结论:
对于同一个ip:port访问不同的外网ip:port映射为不同的ip:nat_port,说明这是对称的NAT。这种NAT相对前面三种NAT安全性高,难以被穿透。