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 在论坛上讨论太累了 呵呵 |
|
|
21楼#
发布于:2007-04-30 15:54
首先前提这些都是在windows下的吧,我没用过linux。基本linux什么东西我都不懂。
1.我研究了一下,在拦截包上,netpas是使用更改路由的方式,将所有数据默认路由指向虚拟网卡。 我想问一下,openvpn是怎么添加路由的。我知道最简单的方法是cmd下route add *** 想知道在openvpn下,是怎么做的呢,在哪个应用程序下实现的。 2.在发送数据上,里面的第五步,我不太明白是什么意思。 “字符设备从数据队列中取数据,然后送给应用层,应用层把数据转发给物理网卡” 这个应用层是指应用程序吗?感觉应该不是吧。应用程序怎么能把一个ip数据包叫物理网卡发出去呢。 3.接收数据的时候,问题更大了。第一步下的“应用空间”是指什么。应用程序??? 我觉得也不太可能。应该还是指驱动中的虚拟网卡驱动吧。 4.最后一个问题:怎么才能像netpas一样给虚拟出来的网卡一个10.*.*.*的ip呢。让他也像一个正常的网卡一样连接上。而不是断开的连接呢。搞了半天了,也给他不了一个内网的地址。气愤 |
|
|
22楼#
发布于:2007-04-30 16:18
1 添加路由,修改路由。如果实在windows下,有现成的api函数,具体是什么我不记得了。好像是ipxxx之类的。
2 这里的应用层是openvpn的用户空间的deamon. 3 应用空间值得仍然是用户空间的deamon 4 使用api函数可以设置网卡ip地址,这没有问题。前提是网卡处在up状态 |
|
|
23楼#
发布于:2007-04-30 16:56
用户空间的deamon 是什么
呵呵 实在不懂 找了一下 都是虚拟光驱的 我搜索了一下openvpn的代码 没有啊 呵呵 真的不知道这个单词在项目中的意义了 |
|
|
24楼#
发布于:2007-04-30 17:02
网卡处在up状态 ???
什么意思 我手动配置这个虚拟网卡的ip和网关之类的 没有效果 还是打叉 |
|
|
25楼#
发布于:2007-04-30 23:03
sorry,up是unix用语,表示网卡有效。
openvpn是两部分组成,应用层守护程序+驱动程序。deamon这里指的是守护程序。 |
|
|
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给自己分配一个地址。呵呵,不懂啊。 |
|
|
27楼#
发布于:2007-05-06 17:18
很重要的一个问题,现在如果想让我的虚拟网卡(tap0801)从断开的状态变为连接上的状态。
并且被分配一个内网的ip(10.103.160.*)。 是不是就得再拿一台主机,安装上openvpn的linux服务器版本。就行了。 还是说我还要在windows下配置什么应用程序,什么“守护程序”。 现在看看感觉在windows下openvpn没有什么好改的(专指tap_win32)。 需要的功能要改的绝大部分都集中在linux下(譬如改数据包)。 不知道这个想法对不对 |
|
|
28楼#
发布于:2007-05-06 17:26
感觉openvpn已经很强大很完整了
要是要做vpn的直接编译编译,配个服务器。不就可以了吗? 加密也很强大,功能也完整。感觉不出还要修改什么。 小弟见识浅,刚接触vpn没一个多星期。不要笑啊 |
|
|
29楼#
发布于:2007-05-06 21:08
不需要任何修改啊。linux?这里不关linux任何事情啊
1 通过应用层socket直接发送数据到真实物理网卡:修改ip地址为物理网卡地址,并send(socket, buffer,len)就可以了 |
|
|
30楼#
发布于:2007-05-06 21:40
呵呵 今天和开心和天融信的jxxy大侠聊了一个晚上 收获巨大 对vpn有了更好的了解
主要是很多思想性的问题当时都很迷惑,现在解决得差不多了 |
|
|
31楼#
发布于:2007-05-06 21:44
可惜他只知道vpn。不了解openvpn。
再问几个小问题吧。现在简单很多了。 客户端的虚拟驱动是tap_win32. 那个客户端的应用程序是哪一个呢。 就是要得到从虚拟网卡拿到数据包,然后建立sock将数据报发往物理网卡的那个应用程序源代码是哪个? |
|
|
32楼#
发布于:2007-05-06 21:48
现在要将这个虚拟网卡从中断状态变为连接状态。要做的事情就只有两个了
1。在一台linux服务器上安装openvpn的服务器版本。配制好。 2。在客户端再安装上一个应用程序,配制一下vpn的网关就ok拉。 应该就是这样了 ,还有什么补充的吗? |
|
|
33楼#
发布于:2007-05-06 22:12
还有一个问题 client将从虚拟网卡得到的数据包(包含MAC)通过建立sock从物理网卡发送出去。
那么等于在原来包的基础上再封装了一层传到vpn网关.这时的vpn网关是怎么做呢? 最终对包 是怎么分解改装传到最终要到达的目的地。 还想了解这个问题 |
|
|
34楼#
发布于:2007-05-08 09:08
cyliu
请在帮帮忙 啊 |
|
|
35楼#
发布于:2007-05-08 09:52
如果我想openvpn的服务器端也是windows下的。不是linux下的。
怎么办? 有没有相关的啊 谢谢 |
|
|
36楼#
发布于:2007-05-08 12:04
有没有人回答一下啊 ,就是openvpn的服务器端 可以用windows的吗?
这一点很重要,openvpn的开源代码有没有包含这一段的 |
|
|
37楼#
发布于:2007-05-08 13:55
刚刚按照网上的介绍,自己给自己配置了win2003的vpn服务器了
然后给自己用另一台xp的机子当作客户端,小试了一下 。可以用。 现在我想 如果我用win2003作服务器 跟上面同样的配置 然后在自己的一台机子上用openvpn的客户端(不用的windows的客户端), 这样可行吗?能兼容吗? 帮忙一下。谢谢 我觉得如果是协议相同的话,应该是没有问题的啊。 通讯当作是透明的。 但就是不知道它们彼此是否协议相通,因为里面包含很多加密的内容 |
|
|
38楼#
发布于:2007-05-08 14:55
通过找资料 知道openvpn可以配置在windows下
现在想知道的是服务器需要两张物理网卡吗? 一张内网 一张外网 |
|
|
39楼#
发布于:2007-05-08 16:13
openvpn可以在windows/linux两个系统下运行,无论是服务器还是客户端。
openvpn是属于ssl vpn方面,ssl工作的层次应该都知道(ipsec和l2tp的工作层次比较低,因此一般都是在内核实现)。 openvpn服务器可以使用一块物理网卡,也可以使用多块网卡,主要看服务器在网络拓扑的位置。如果是作为防火墙,安放到外网的入口处,则需要多块网卡;如果是作为应用服务器,则需要一块网卡即可。 |
|
|