40楼#
发布于:2007-05-08 17:03
cyliu在帮帮忙。
我现在下载了openvpn-2.0.9-gui-1.0.3-install.exe。 准备在单网卡的windows系统下安装。作为vpn的服务器,作为vpn的网关。 虽然现在遇到一些小挫折,按照网上的介绍,还没有成功。但是这个我应该可以自己搞定。 想问你: 1.数据包通过物理网卡发往vpn服务器后,vpn服务器对该数据包作何动作,在转发出去的。 2.那一对10开头的ip对,是怎么生成的。是vpn服务器指定传给client的吗?还是client自己生成的。 3.有没有什么好的介绍,关于windows下openvpn服务器的配置的。我今天刚配完2003下系统自带的vpn服务。但是openvpn总是不行,不知道哪里配错了,我右键server.ovpn启动服务。老是说error. |
|
|
41楼#
发布于:2007-05-08 17:06
还有什么是防火墙(这个我大概清楚)
什么是应用服务器呢。 我是想要像一般vpn一样的功能。 算是什么呢? |
|
|
42楼#
发布于:2007-05-08 17:26
1.数据包通过物理网卡发往vpn服务器后,vpn服务器对该数据包作何动作,在转发出去的。
服务器会转发数据。但是常见的是client与server相互通信,也是默认配置。client-client需要手工配置。 2.那一对10开头的ip对,是怎么生成的。是vpn服务器指定传给client的吗?还是client自己生成的。 配置文件中指定。 3.有没有什么好的介绍,关于windows下openvpn服务器的配置的。我今天刚配完2003下系统自带的vpn服务。但是openvpn总是不行,不知道哪里配错了,我右键server.ovpn启动服务。老是说error. 到openvpn网站应该有配置文档。 因为现在我不做windows产品,有些windows事情无法验证,只要靠你自己了。 |
|
|
43楼#
发布于:2007-05-08 17:30
问题1。服务器会原封不动的转发数据吗?
假设一个数据包经过虚拟网卡后,被应用程序得到后 建立起一个socket后在包装发送出去。 这时本来的数据包就有两个包头了对吗?就是包头1+包头2+DATA发送到vpn服务器上。 这时的服务器怎么作呢,去掉第一个包头发出去??? |
|
|
44楼#
发布于:2007-05-08 17:32
问题2:
那一对10开头的ip好像没有在什么配置文件里面看到啊。 而且每一次都会变动 感觉应该不是固定在什么ovpn的配置文件当中的 |
|
|
45楼#
发布于:2007-05-08 17:35
问题3:
我这个到底算是防火墙啊还是一般的vpn服务器。 其实实现的就是一般的vpn的功能。 架一台服务器,然后几台client配置好后,就像在同一个局域网内 |
|
|
46楼#
发布于:2007-05-08 19:57
问题1
转发就是socket数据发送过程。 问题2 服务端配置文件中可以配置client ip池 问题3 就是一般的vpn服务器 |
|
|
47楼#
发布于:2007-05-08 20:41
问题1不太清楚,虽然这个对我现在来讲没有多大的影响 但是还是想了解得更清楚一点.
client从虚拟网卡中拿到packet1(包含MAC),这时到了client的应用程序当中, 建立一个socket将packet1,再封装成一个tcp或udp。这时的packet1再加上一个包头(12+20+20)。 变成packet2。发送到vpn的服务器。这时的vpn的服务器怎么处理这个packet2呢。解开第一重包头恢复成packet1,发送出去? 这个问题不太明白。 问题2,这个client ip池我知道。 但是这是个池,里面有很多ip的。最后具体到某个ip应该是vpn服务器选定一个然后将这个信息发往client的吧。然后client再对自己的虚拟网卡进行设定的吧。 |
|
|
48楼#
发布于:2007-05-09 11:54
应该很好分析了!
client: 虚拟网卡接受到数据传给应用层守护进程,数据格式:(mac1 +) ip1 head + 数据. ip1 head中ip地址是虚拟网卡地址。 守护进程把整个数据包通过socket发送出去,该socket关联的是真实物理网卡地址。 最终发送出去的数据格式:mac2 + ip2 head + (mac1 +) ip1 head + 数据. server端相反处理。 这里说明一点是mac地址在传导守护进程过程中是否去掉了,我没有检查过。你可以抓包看看。其实抓了包什么都明白了 |
|
|
49楼#
发布于:2007-05-09 13:37
你指的是服务器剥掉mac2 + ip2 head ,然后将数据包发送出去是吗?
呵呵 我想知道的是 服务器是怎么运作的。 我今天将openvpn配置起来,发现客户端有一个虚拟网卡,服务器端也有一个。 想知道这个服务器端的虚拟网卡是怎么运行的。 首先服务器的物理网卡会收到客户端发来的数据包。 然后呢,也是服务器的守护程序得到这个数据包,将他写入虚拟网卡中。 这时怎么处理 我就不太明白了 |
|
|
50楼#
发布于:2007-05-09 15:23
看了你们的讨论,受益非浅,先占个座位
![]() |
|
|
51楼#
发布于:2007-05-09 15:26
客户端和服务器关于网卡部分工作原理都一样的,不一样的部分就是上层应用层的逻辑流程。
注意上层应用socket+ip流程处理结合起来。主要还是把流程高清楚了,就都可以了 |
|
|
52楼#
发布于:2007-05-09 15:50
那么服务器端的接收客户端数据包的流程是怎样呢?请老大明讲
|
|
|
53楼#
发布于:2007-05-09 16:04
还有我按照网上的配置,配置完了openvpn服务器端和客户端。
是有CA证书和KEY的,现在可以使用了。 我还自己配置了win2003自带的vpn服务器,这也可以用了。 但是很奇怪的一点是,win2003下的vpn不需要什么证书啊和key的。 客户端只需要新建一个连接就行了。 不需要像openvpn一样还要从服务器上拷贝一些证书密钥文件过来。 我想应该是可以用2003vpn服务器,然后用openvpn的客户端。 或者用openvpn的服务器,用wingdows的新建一个vpn连接来当客户端。 我这个想法应该是有可行性的吧。??? 如果是,那么我怎么配置openvpn呢? 才能使他不需要这些证书啊,KEY的。 和win2003的一样 |
|
|
54楼#
发布于:2007-05-10 09:32
前辈你好
问几个问题,希望你有时间的话。给我个回答。 1.vpn的服务器端是怎么工作的。他接收到客户端的数据包后。服务器端在自己的虚拟网卡和应用程序,怎么动作。现在已经比较明白客户端的流程了,想知道服务器的流程。 (虚拟网卡接受到数据传给应用层守护进程,数据格式:(mac1 +) ip1 head + 数据. ip1 head中ip地址是虚拟网卡地址。守护进程把整个数据包通过socket发送出去,该socket关联的是真实物理网卡地址。最终发送出去的数据格式:mac2 + ip2 head + (mac1 +) ip1 head + 数据.)上面这是客户端数据包的改变情况。那么服务器端呢。这个数据包是在哪里被转发出去的。包的组成呢。 2.您用过win2003的自带的vpn服务吗?我想是否是可以win2003自带的vpn作为服务器,然后自己的openvpn作为客户端。或者相反。openvpn作为vpn的服务器。windows新建一个连接作为客户端。 呵呵,这个想发比较幼稚。但是还是想打听一下。我是觉得应该可以。 |
|
|
55楼#
发布于:2007-05-10 09:56
1 已经说过了,服务器和客户端的数据转发原理是相同的。没有什么区别。剩下的自己研究一下代码吧,我已经不研究这些了。
2 vpn有好多种类,但是必须要同类使用。我不知道win2003 vpn是什么类型。但是openvpn是ssl加密数据,输入socket层vpn,其他还有ipsec,l2tp等。ipsec当然不能和openvpn使用。 不知道你到底要做什么,如果是做vpn,那就多研究一下;如果是虚拟网卡转发数据,研究一下驱动的数据转发就可以了,切忌一把抓,什么都抓不住 |
|
|
56楼#
发布于:2007-05-10 10:34
谢谢版主了 被我纠缠了这么久
主要是想多了解openvpn 如果要做数据转发的话。 个人觉得就不用看这个了 自己用mux的方法来实现 可能更好一些 不需要数据从驱动转到应用再到驱动这么麻烦,效率不高 |
|
|
57楼#
发布于:2007-05-10 12:03
openvpn属于ssl vpn之类,该类vpn正在大行其道,不能单从性能不高而言。和ipsec,l2tp他们只是各有用途,使用场合不同。而且ssl使用范围正在不断扩大。
|
|
|
58楼#
发布于:2007-05-10 12:08
想了解openvpn,可以从ssl原理+vpn原理+网络数据流程出发。openvpn中用到的ssl是openssl库。ok,就写这么多了,慢慢学习吧,急不得!
|
|
|
59楼#
发布于:2007-05-10 13:46
再次膜拜之
|
|
|
上一页
下一页