aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
20楼#
发布于:2007-04-30 15:33
呵呵 谢谢cyliu大侠的无私奉献
小问几个问题。
我测试过netpas了,确实客户端登陆以后,route print会出现很多的路由信息,这是未登陆以前没有的。
netpas添加改变了很多路由  我举个路由信息的例子如下:
Network Destination     Netmask       Gateway     Interface Metric
    58.176.0.0     255.254.0.0   10.103.160.173 10.103.160.174     1
这边可以看出netpas将访问地址为58.176.0.0的B段地址 网关改为了10.103.160.173
而interface 改为的10.103.160.174,正是本机虚拟出来的网卡的ip地址 。

大侠 你有没有QQ啊。我的是40056399
在论坛上讨论太累了 呵呵
周维彬
aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
21楼#
发布于:2007-04-30 15:54
首先前提这些都是在windows下的吧,我没用过linux。基本linux什么东西我都不懂。

1.我研究了一下,在拦截包上,netpas是使用更改路由的方式,将所有数据默认路由指向虚拟网卡。
我想问一下,openvpn是怎么添加路由的。我知道最简单的方法是cmd下route add ***
想知道在openvpn下,是怎么做的呢,在哪个应用程序下实现的。

2.在发送数据上,里面的第五步,我不太明白是什么意思。
“字符设备从数据队列中取数据,然后送给应用层,应用层把数据转发给物理网卡”
这个应用层是指应用程序吗?感觉应该不是吧。应用程序怎么能把一个ip数据包叫物理网卡发出去呢。

3.接收数据的时候,问题更大了。第一步下的“应用空间”是指什么。应用程序???
我觉得也不太可能。应该还是指驱动中的虚拟网卡驱动吧。

4.最后一个问题:怎么才能像netpas一样给虚拟出来的网卡一个10.*.*.*的ip呢。让他也像一个正常的网卡一样连接上。而不是断开的连接呢。搞了半天了,也给他不了一个内网的地址。气愤
周维彬
cyliu
论坛版主
论坛版主
  • 注册日期2003-06-13
  • 最后登录2014-04-11
  • 粉丝5
  • 关注0
  • 积分1238分
  • 威望2531点
  • 贡献值0点
  • 好评度577点
  • 原创分14分
  • 专家分10分
22楼#
发布于:2007-04-30 16:18
1 添加路由,修改路由。如果实在windows下,有现成的api函数,具体是什么我不记得了。好像是ipxxx之类的。

2 这里的应用层是openvpn的用户空间的deamon.

3 应用空间值得仍然是用户空间的deamon

4 使用api函数可以设置网卡ip地址,这没有问题。前提是网卡处在up状态
走走看看开源好 Solaris vs Linux
aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
23楼#
发布于:2007-04-30 16:56
用户空间的deamon 是什么
呵呵 实在不懂
找了一下 都是虚拟光驱的
我搜索了一下openvpn的代码 没有啊

呵呵 真的不知道这个单词在项目中的意义了
周维彬
aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
24楼#
发布于:2007-04-30 17:02
网卡处在up状态   ???
什么意思
我手动配置这个虚拟网卡的ip和网关之类的

没有效果 还是打叉
周维彬
cyliu
论坛版主
论坛版主
  • 注册日期2003-06-13
  • 最后登录2014-04-11
  • 粉丝5
  • 关注0
  • 积分1238分
  • 威望2531点
  • 贡献值0点
  • 好评度577点
  • 原创分14分
  • 专家分10分
25楼#
发布于:2007-04-30 23:03
sorry,up是unix用语,表示网卡有效。

openvpn是两部分组成,应用层守护程序+驱动程序。deamon这里指的是守护程序。
走走看看开源好 Solaris vs Linux
aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
26楼#
发布于:2007-05-06 17:12
再追加几个问题
1.通过改路由 可以将本来发送给物理网卡的数据包先发给虚拟网卡。但是怎么通过虚拟网卡再转发给物理网卡呢。毕竟这个数据包是要通过物理网卡出去 到达服务器的。我看了tap_win32的代码,好像没有把这个数据包转发给物理网卡的adapter。

2.通过改路由。我看到我用route print打印出来的信息。
Network Destination   Netmask     Gateway   Interface Metric
  58.176.0.0   255.254.0.0   10.103.160.173 10.103.160.174   1
这边可以看出netpas将访问地址为58.176.0.0的B段地址 网关改为了10.103.160.173 ,
而10.103.160.174正是我虚拟网卡所分配的地址。
从netpas的log文件当中看
2007-04-27 10:40:40 ADAPTER: Setting a DHCP IP of 10.103.160.174 on interface {C44628AB-EAAF-4346-ACF0-47EB25351FEE} [DHCP-serv: 10.103.160.173, lease-time: 172800]

上次你说这一对地址当中其中有一个是假的没用的。我现在觉得很奇怪。这一对ip地址。其中一个是虚拟网卡所分配的dhcp地址。另一个是DHCP-serv的地址,我在猜想这个地址是不是远程的地址,但是这个10是本地的地址啊,难道是自己模拟dhcp给自己分配一个地址。呵呵,不懂啊。
周维彬
aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
27楼#
发布于:2007-05-06 17:18
很重要的一个问题,现在如果想让我的虚拟网卡(tap0801)从断开的状态变为连接上的状态。
并且被分配一个内网的ip(10.103.160.*)。
是不是就得再拿一台主机,安装上openvpn的linux服务器版本。就行了。
还是说我还要在windows下配置什么应用程序,什么“守护程序”。

现在看看感觉在windows下openvpn没有什么好改的(专指tap_win32)。
需要的功能要改的绝大部分都集中在linux下(譬如改数据包)。
不知道这个想法对不对
周维彬
aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
28楼#
发布于:2007-05-06 17:26
感觉openvpn已经很强大很完整了
要是要做vpn的直接编译编译,配个服务器。不就可以了吗?
加密也很强大,功能也完整。感觉不出还要修改什么。

小弟见识浅,刚接触vpn没一个多星期。不要笑啊
周维彬
cyliu
论坛版主
论坛版主
  • 注册日期2003-06-13
  • 最后登录2014-04-11
  • 粉丝5
  • 关注0
  • 积分1238分
  • 威望2531点
  • 贡献值0点
  • 好评度577点
  • 原创分14分
  • 专家分10分
29楼#
发布于:2007-05-06 21:08
不需要任何修改啊。linux?这里不关linux任何事情啊

1 通过应用层socket直接发送数据到真实物理网卡:修改ip地址为物理网卡地址,并send(socket, buffer,len)就可以了
走走看看开源好 Solaris vs Linux
aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
30楼#
发布于:2007-05-06 21:40
呵呵 今天和开心和天融信的jxxy大侠聊了一个晚上 收获巨大 对vpn有了更好的了解
主要是很多思想性的问题当时都很迷惑,现在解决得差不多了
周维彬
aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
31楼#
发布于:2007-05-06 21:44
可惜他只知道vpn。不了解openvpn。
再问几个小问题吧。现在简单很多了。
客户端的虚拟驱动是tap_win32.
那个客户端的应用程序是哪一个呢。
就是要得到从虚拟网卡拿到数据包,然后建立sock将数据报发往物理网卡的那个应用程序源代码是哪个?
周维彬
aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
32楼#
发布于:2007-05-06 21:48
现在要将这个虚拟网卡从中断状态变为连接状态。要做的事情就只有两个了
1。在一台linux服务器上安装openvpn的服务器版本。配制好。
2。在客户端再安装上一个应用程序,配制一下vpn的网关就ok拉。

应该就是这样了 ,还有什么补充的吗?
周维彬
aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
33楼#
发布于:2007-05-06 22:12
还有一个问题 client将从虚拟网卡得到的数据包(包含MAC)通过建立sock从物理网卡发送出去。
那么等于在原来包的基础上再封装了一层传到vpn网关.这时的vpn网关是怎么做呢?
最终对包 是怎么分解改装传到最终要到达的目的地。
还想了解这个问题
周维彬
aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
34楼#
发布于:2007-05-08 09:08
cyliu
请在帮帮忙 啊
周维彬
aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
35楼#
发布于:2007-05-08 09:52
如果我想openvpn的服务器端也是windows下的。不是linux下的。
怎么办?
有没有相关的啊 谢谢
周维彬
aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
36楼#
发布于:2007-05-08 12:04
有没有人回答一下啊 ,就是openvpn的服务器端 可以用windows的吗?
这一点很重要,openvpn的开源代码有没有包含这一段的
周维彬
aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
37楼#
发布于:2007-05-08 13:55
刚刚按照网上的介绍,自己给自己配置了win2003的vpn服务器了
然后给自己用另一台xp的机子当作客户端,小试了一下 。可以用。
现在我想 如果我用win2003作服务器 跟上面同样的配置
然后在自己的一台机子上用openvpn的客户端(不用的windows的客户端),
这样可行吗?能兼容吗?
帮忙一下。谢谢

我觉得如果是协议相同的话,应该是没有问题的啊。
通讯当作是透明的。

但就是不知道它们彼此是否协议相通,因为里面包含很多加密的内容
周维彬
aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
38楼#
发布于:2007-05-08 14:55
通过找资料 知道openvpn可以配置在windows下
现在想知道的是服务器需要两张物理网卡吗?
一张内网 一张外网
周维彬
cyliu
论坛版主
论坛版主
  • 注册日期2003-06-13
  • 最后登录2014-04-11
  • 粉丝5
  • 关注0
  • 积分1238分
  • 威望2531点
  • 贡献值0点
  • 好评度577点
  • 原创分14分
  • 专家分10分
39楼#
发布于:2007-05-08 16:13
openvpn可以在windows/linux两个系统下运行,无论是服务器还是客户端。

openvpn是属于ssl vpn方面,ssl工作的层次应该都知道(ipsec和l2tp的工作层次比较低,因此一般都是在内核实现)。

openvpn服务器可以使用一块物理网卡,也可以使用多块网卡,主要看服务器在网络拓扑的位置。如果是作为防火墙,安放到外网的入口处,则需要多块网卡;如果是作为应用服务器,则需要一块网卡即可。
走走看看开源好 Solaris vs Linux
游客

返回顶部