aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
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.
周维彬
aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
41楼#
发布于:2007-05-08 17:06
还有什么是防火墙(这个我大概清楚)
什么是应用服务器呢。
我是想要像一般vpn一样的功能。

算是什么呢?
周维彬
cyliu
论坛版主
论坛版主
  • 注册日期2003-06-13
  • 最后登录2014-04-11
  • 粉丝5
  • 关注0
  • 积分1238分
  • 威望2531点
  • 贡献值0点
  • 好评度577点
  • 原创分14分
  • 专家分10分
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事情无法验证,只要靠你自己了。
走走看看开源好 Solaris vs Linux
aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
43楼#
发布于:2007-05-08 17:30
问题1。服务器会原封不动的转发数据吗?
假设一个数据包经过虚拟网卡后,被应用程序得到后 建立起一个socket后在包装发送出去。
这时本来的数据包就有两个包头了对吗?就是包头1+包头2+DATA发送到vpn服务器上。
这时的服务器怎么作呢,去掉第一个包头发出去???
周维彬
aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
44楼#
发布于:2007-05-08 17:32
问题2:
那一对10开头的ip好像没有在什么配置文件里面看到啊。
而且每一次都会变动
感觉应该不是固定在什么ovpn的配置文件当中的
周维彬
aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
45楼#
发布于:2007-05-08 17:35
问题3:
我这个到底算是防火墙啊还是一般的vpn服务器。
其实实现的就是一般的vpn的功能。
架一台服务器,然后几台client配置好后,就像在同一个局域网内
周维彬
cyliu
论坛版主
论坛版主
  • 注册日期2003-06-13
  • 最后登录2014-04-11
  • 粉丝5
  • 关注0
  • 积分1238分
  • 威望2531点
  • 贡献值0点
  • 好评度577点
  • 原创分14分
  • 专家分10分
46楼#
发布于:2007-05-08 19:57
问题1

转发就是socket数据发送过程。

问题2

服务端配置文件中可以配置client ip池

问题3

就是一般的vpn服务器
走走看看开源好 Solaris vs Linux
aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
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再对自己的虚拟网卡进行设定的吧。
周维彬
cyliu
论坛版主
论坛版主
  • 注册日期2003-06-13
  • 最后登录2014-04-11
  • 粉丝5
  • 关注0
  • 积分1238分
  • 威望2531点
  • 贡献值0点
  • 好评度577点
  • 原创分14分
  • 专家分10分
48楼#
发布于:2007-05-09 11:54
应该很好分析了!

client:

虚拟网卡接受到数据传给应用层守护进程,数据格式:(mac1 +) ip1 head + 数据. ip1 head中ip地址是虚拟网卡地址。

守护进程把整个数据包通过socket发送出去,该socket关联的是真实物理网卡地址。

最终发送出去的数据格式:mac2 + ip2 head + (mac1 +) ip1 head + 数据.

server端相反处理。

这里说明一点是mac地址在传导守护进程过程中是否去掉了,我没有检查过。你可以抓包看看。其实抓了包什么都明白了
走走看看开源好 Solaris vs Linux
aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
49楼#
发布于:2007-05-09 13:37
你指的是服务器剥掉mac2 + ip2 head ,然后将数据包发送出去是吗?
呵呵 我想知道的是 服务器是怎么运作的。
我今天将openvpn配置起来,发现客户端有一个虚拟网卡,服务器端也有一个。
想知道这个服务器端的虚拟网卡是怎么运行的。

首先服务器的物理网卡会收到客户端发来的数据包。
然后呢,也是服务器的守护程序得到这个数据包,将他写入虚拟网卡中。
这时怎么处理 我就不太明白了
周维彬
mayin_15
驱动牛犊
驱动牛犊
  • 注册日期2002-12-24
  • 最后登录2021-08-27
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望32点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
  • 社区居民
50楼#
发布于:2007-05-09 15:23
看了你们的讨论,受益非浅,先占个座位
小帅厨
cyliu
论坛版主
论坛版主
  • 注册日期2003-06-13
  • 最后登录2014-04-11
  • 粉丝5
  • 关注0
  • 积分1238分
  • 威望2531点
  • 贡献值0点
  • 好评度577点
  • 原创分14分
  • 专家分10分
51楼#
发布于:2007-05-09 15:26
客户端和服务器关于网卡部分工作原理都一样的,不一样的部分就是上层应用层的逻辑流程。

注意上层应用socket+ip流程处理结合起来。主要还是把流程高清楚了,就都可以了
走走看看开源好 Solaris vs Linux
aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
52楼#
发布于:2007-05-09 15:50
那么服务器端的接收客户端数据包的流程是怎样呢?请老大明讲
周维彬
aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
53楼#
发布于:2007-05-09 16:04
还有我按照网上的配置,配置完了openvpn服务器端和客户端。
是有CA证书和KEY的,现在可以使用了。
我还自己配置了win2003自带的vpn服务器,这也可以用了。

但是很奇怪的一点是,win2003下的vpn不需要什么证书啊和key的。
客户端只需要新建一个连接就行了。
不需要像openvpn一样还要从服务器上拷贝一些证书密钥文件过来。

我想应该是可以用2003vpn服务器,然后用openvpn的客户端。
或者用openvpn的服务器,用wingdows的新建一个vpn连接来当客户端。

我这个想法应该是有可行性的吧。???

如果是,那么我怎么配置openvpn呢? 才能使他不需要这些证书啊,KEY的。
和win2003的一样
周维彬
aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
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新建一个连接作为客户端。
    呵呵,这个想发比较幼稚。但是还是想打听一下。我是觉得应该可以。
周维彬
cyliu
论坛版主
论坛版主
  • 注册日期2003-06-13
  • 最后登录2014-04-11
  • 粉丝5
  • 关注0
  • 积分1238分
  • 威望2531点
  • 贡献值0点
  • 好评度577点
  • 原创分14分
  • 专家分10分
55楼#
发布于:2007-05-10 09:56
1 已经说过了,服务器和客户端的数据转发原理是相同的。没有什么区别。剩下的自己研究一下代码吧,我已经不研究这些了。

2 vpn有好多种类,但是必须要同类使用。我不知道win2003 vpn是什么类型。但是openvpn是ssl加密数据,输入socket层vpn,其他还有ipsec,l2tp等。ipsec当然不能和openvpn使用。

不知道你到底要做什么,如果是做vpn,那就多研究一下;如果是虚拟网卡转发数据,研究一下驱动的数据转发就可以了,切忌一把抓,什么都抓不住
走走看看开源好 Solaris vs Linux
aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
56楼#
发布于:2007-05-10 10:34
谢谢版主了 被我纠缠了这么久
主要是想多了解openvpn
如果要做数据转发的话。
个人觉得就不用看这个了
自己用mux的方法来实现 可能更好一些
不需要数据从驱动转到应用再到驱动这么麻烦,效率不高
周维彬
cyliu
论坛版主
论坛版主
  • 注册日期2003-06-13
  • 最后登录2014-04-11
  • 粉丝5
  • 关注0
  • 积分1238分
  • 威望2531点
  • 贡献值0点
  • 好评度577点
  • 原创分14分
  • 专家分10分
57楼#
发布于:2007-05-10 12:03
openvpn属于ssl vpn之类,该类vpn正在大行其道,不能单从性能不高而言。和ipsec,l2tp他们只是各有用途,使用场合不同。而且ssl使用范围正在不断扩大。
走走看看开源好 Solaris vs Linux
cyliu
论坛版主
论坛版主
  • 注册日期2003-06-13
  • 最后登录2014-04-11
  • 粉丝5
  • 关注0
  • 积分1238分
  • 威望2531点
  • 贡献值0点
  • 好评度577点
  • 原创分14分
  • 专家分10分
58楼#
发布于:2007-05-10 12:08
想了解openvpn,可以从ssl原理+vpn原理+网络数据流程出发。openvpn中用到的ssl是openssl库。ok,就写这么多了,慢慢学习吧,急不得!
走走看看开源好 Solaris vs Linux
aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
59楼#
发布于:2007-05-10 13:46
再次膜拜之
周维彬
上一页 下一页
游客

返回顶部