VPV + NAT

来源:互联网 发布:linux 获得变量长度 编辑:程序博客网 时间:2024/06/08 03:31
一,虚拟专用网VPN私有地址块:10.0.0.0/8         172.16.0.0/12             192.168.0.0/16简单VPN如图: 一个机构,有两个子公司AB,,各个子公司内部可以用私有IP相互通信。但是AB相距很远,如果AB要通信,有两种方法,一是租用电信公司的专用通信线路为本机构专用(其他不能用,因为保证了私密性),但这很昂贵,二是利用公网的因特网作用本机构各个专用网的通信载体,这样的专用网就是VPN(虚拟专用网)。(不过第二种,在VPN上跑的数据要先加密,因为是在公用网上面)采用第二种方法,需要构建自己的VPN,必须给每个场所(这里如AB)购买专用的硬件和软件,并进行配置,如这个的路由器R1R2,使得每个VPN系统都知道其他场所的地址。在这里就是,R1知道如果要转发目的第为10.2.x.x的包,就转发到192.4.5.6这个Route上面,反过来也一样。(注意:R1的内部ip为私有的10.1.x.x,但外部接口必须是全球IPR2也一样,且加密解密过程在两个专用的Route中进行。)(从R1R2,中间可能经过了很多的Route,但从逻辑上看,好像是从R1直接到R2的)还有另外的一种类型的VPN,即有的公司机构可能并没分布在各地,但是有很多流动的员工,公司须和他们随时保持联系,还可能开电视电话会以,但也要保密性,这时候远程接入VPN派上用场,员工们的PC中的VPN软件可以在员工和公司之间建立如上图的VPN线路。二,网络地址转换NAT上面说到的是在本地机构间的通信,但是如果某机构(内部的主机还是用的私有IP,仅在本地使用)现在又想和因特网主机通信(这个不需要加密),这个时候就是NAT派上用场了,(因为申请全球IP可能不现实)。NAT方式如图: 这种方法需要在专用网链接到因特网的路由器上安装NAT软件,装有NAT软件的路由器叫做NAT路由器,它至少有一个全球的IP地址。(全球的路由器都不转发目的地址为私有IP的数据包)这里有一个问题,即在私有ip往外面发包的时候,可以正确地发出去,但是,外面的包要发给相应的私有ip呢?因为进来的包的目的ip肯定是NAT路由器的ip,但是NAT路由器怎样把包发给正确的私有ip呢?在早期的NAT路由器中,维护了一张表。是这样的,如图:那这就造成了一个问题,即NAT路由器好像要有很多的IP(全球IP)才能保证转包的正确性(即n个私有ip,需要NAT路由器有n个全球ip),既然这样,那不是多此一举吗?其实仔细想想,是n个私有ip同时和外面通信才需要nNAT全球IP,但是,我有3*n个私有ip,我可以轮流地使用这N个全球NATip呀,轮流使用就可以达到多个私有ip共享少数的全球NATip了,这只需要维护好NAT地址转换表即可。不过,这里还有一个问题就是: 即用到了端口号。NAT转换表如图: 当私有ip .3发送数据给外面时候,它选择30000端口(其实这里不选也没关系,关键是在NAT路由器中要有不同的选择),在NAT路由器转发时候,它在表中记录.3NAT路由器的40001端口对应。如果是.4,NAT路由器将其和40002端口对应。这样就可有用一个NAT 全球IP让多个私有ip同时internet联系。现在的问题是,私有ip怎样当服务器,即外面的包先来会怎样呢?
0 0
原创粉丝点击