忘记密码   免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 46571 | 回复: 50

[vpn] FreeBSD 下用OpenVPN 架设虚拟局域网[原] [复制链接]

论坛徽章:
0
发表于 2006-09-19 16:27 |显示全部楼层
FreeBSD 下用OpenVPN 架设虚拟局域网

1 环境及需求
    4 个房间,分别通过4 个802.1X 帐号连接到学校校园网。4 个房间属于一个课题组,需要共享资料,4 个房间内计算机需要相互访问文件共享,能访问一台用于提供软件及个人备份文件共享服务器,一台Web 服务器,以及打印机。
    4 个802.1X 帐号中有一个是可以上国外网的帐号,另外3 个可以上国内网,希望4 个房间的计算机上国内网络时通过本房间的帐号出去,上国外网时都通过1 个固定的国外帐号出去。

2 解决方案
    方案:使用OpenVPN 连接4 个房间的网络组成虚拟专用网。4 个房间都有专用的电脑做该房间的网关,使用FreeBSD 系统(个人喜好,用别的操作系统配置差不多)。网关通过802.1X 拨号连接到校园网,各个房间的网络通过网关NAT 共享上网。
    A,B,C,D 房间内部分别是192.168.10.0/24,192.168.11.0/24,192.168.12.0/24,192.168.13.0/24 网段,192.168.10.1,192.168.11.1,192.168.12.1,192.168.13.1 分别是4 个房间的网关,172.16.37.83 等地址为4 个机器的校园网地址。192.168.10.1 用作vpn server,B,C,D 房间的网关分别为vpn client1,vpn client2,vpn client3(下文client 为这3 个vpn 客户端的总称)。网络结构图见图1。

网络结构

网络结构

图1 网络结构

       vpn 客户端内部网络上国外网络的数据通过vpn server 的NAT 出去,上国内网络的数据通过自身NAT 出去。vpn client2 和vpn client3 上网数据的路由同vpn client1,图里没有画出。本文主要讲OpenVPN 的配置。OpenVPN 有路由VPN 和以太网桥接VPN 两种模式,桥接VPN 相当于用网桥把多个网络连接,多个网络可以使用同一个网段。本文使用路由模式,可配置性强,功能也更强。参考信息见OpenVPN Install.htm,OpenVPN 2_0 HOWTO.htm和OpenVPN 2_0_x Man Page.htm

3 安装OpenVPN
      4 台用于VPN的机器都需要安装。OpenVPN依赖OpenSSL库,加密用;LZO库,数据压缩用,不使用该库也没有关系。FreeBSD 6.0 默认安装带了OpenSSL库,就不说了。没有安装的去http://www.openssl.org/下载安装即可。或者用FreeBSD的ports安装。

LZO去http://www.oberhumer.com/opensource/lzo/下载源代码包。
或者用ports 安装:
cd /usr/ports/archivers/lzo && make install 即可。
源代码安装:
./configure && make && make install
比较简单,就不说了。

我用源代码安装OpenVPN,从http://www.openvpn.net下载openvpn-2.0.7.tar.tar
./configure --with-lzo-headers=/usr/local/include --with-lzo-lib=/usr/local/lib && make &&
make install
如果不使用LZO 库则
./configure --disable-lzo && make && make install

4 生成证书和密钥
cd /home/xdkui/openvpn-2.0.7/easy-rsa/
vi vars
根据自己的情况设置KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG,
KEY_EMAIL,比如我的
export KEY_COUNTRY=CN
export KEY_PROVINCE=Beijing
export KEY_CITY=Beijing
export KEY_ORG=BUAA
export KEY_EMAIL="xdkui@163.com"
然后保存
. ./vars //注意两个点中间有空格
./clean-all
./build-ca
build-ca 命令使用openssl 命令生成certificate authority (CA) certificate 和密钥:
./build-ca
Generating a 1024 bit RSA private key
....++++++
.......++++++
writing new private key to 'ca.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [CN]:
State or Province Name (full name) [Beijing]:
Locality Name (eg, city) [Beijing]:
Organization Name (eg, company) [BUAA]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:xdkui-ca //这里随便输入即可
Email Address [xdkui@163.com]:
4.1 为vpn server 产生证书和私钥
./build-key-server server
Common Name 处填server,其他默认,为上面编辑vars 文件时设置的值。"Sign the certificate?
[y/n]" 和"1 out of 1 certificate requests certified, commit? [y/n]"两处选y。
4.2 为vpn clients 产生证书和密钥
./build-key client1
./build-key client2
./build-key client3
Common Name 处分别填client1 client2 client3,别的同vpn server 设置。
4.3 生成Diffie Hellman 参数
./build-dh
    现在生成了所需的文件。目录keys 下生成的文件中,ca.crt 是所有vpn 机器都需要的。vpn server 需要ca.crt ca.key dh1024.pem server.crt server.key,拷贝到vpn server 的/etc/openvpn目录。vpn client1 需要ca.crt client1.crt client1.key,拷贝到vpn client1 的/etc/openvpn 目录。client2,client3 和client1 同,只是client1.crt 和client1.key 分别用client2 和client3 的对应文件。vpn client2 和vpn client3 也把对应的密钥文件拷贝到各自的/etc/openvpn 目录。各个文件的用途可以参看下表(来自HOWTO):

表1

表1


5 配置vpn server 和client
      server.conf 使用代码包目录sample-config-files 里的server.conf 修改即可。配置文件里的
选项含义可以参考OpenVPN 2.0.x Man Page,比如keepalive, ifconfig-push 选项等。如下:
  1. #################################################
  2. # Sample OpenVPN 2.0 config file for #
  3. # multi-client server. #
  4. # Comments are preceded with '#' or ';' #
  5. #################################################
  6. ;local a.b.c.d 绑定的IP 地址,可以不填
  7. port 1194 绑定的端口
  8. proto udp 选择udp 协议,也可用tcp
  9. # "dev tun" will create a routed IP tunnel,
  10. # "dev tap" will create an ethernet tunnel.
  11. ;dev tap
  12. #使用tun 设备,路由IP 通道。FreeBSD 默认支持TUN/TAP 驱动。
  13. dev tun
  14. #下面4 处填上面为vpn server 生成的证书和密钥
  15. ca ca.crt
  16. cert server.crt
  17. key server.key # This file should be kept secret
  18. dh dh1024.pem
  19. #配置vpn 虚拟网段,会在vpn server 建立一条10.0.0.1 >10.0.0.2 的点对点虚拟链路。
  20. server 10.0.0.0 255.255.255.0
  21. #记录client 对应得虚拟地址,默认600 秒更新一次
  22. ifconfig-pool-persist ipp.txt
  23. #等价于ping 10 和ping-restart 120,对于vpn 机器有可能断开外网联线或者重起的,
  24. #或者vpn client 先于vpn server 运行的情况下很重要。Client 会重新连接。
  25. keepalive 10 120
  26. #开启压缩支持。如果编译的时候没有使用LZO 库则注释本行
  27. comp-lzo
  28. #初始化完成后改变OpenVPN 进程的用户ID 为nobody
  29. user nobody
  30. #同上,改变进程的组ID 为nobody。如果是Windows 系统,注释掉这两行
  31. group nobody
  32. persist-key
  33. persist-tun
  34. #默认每分钟更新状态文件,可以看到client 的真实IP 虚拟IP 等信息。
  35. status openvpn-status.log
  36. verb 3
复制代码

    client1.conf 使用源代码包目录sample-config-files 里的client.conf 修改即可。如下:
  1. ##############################################
  2. # Sample client-side OpenVPN 2.0 config file #
  3. # for connecting to multi-client server. #
  4. # On Windows, you might want to rename this #
  5. # file so it has a .ovpn extension #
  6. ##############################################
  7. client
  8. dev tun
  9. proto udp #和server.conf 一致即可
  10. remote 172.16.37.83 1194 #指定vpn server 的IP 地址和端口
  11. resolv-retry infinite #如果解析vpn server 失败则无限次重试
  12. nobind
  13. user nobody
  14. group nobody
  15. persist-key
  16. persist-tun
  17. ca ca.crt
  18. cert client1.crt #这2 行填给client1 生成的密钥文件。client2 client3 相应更改。
  19. key client1.key
  20. comp-lzo
  21. keepalive 10 120
复制代码

      vpn client2 和vpn client3 的客户端配置文件client2.conf 和client3.conf 同上,只是改cert和key 选项为对应的密钥文件。
    对于vpn server,运行openvpn 后会建立一条本地ip 为10.0.0.1,对端ip 为10.0.0.2 的点对点虚拟链路,这样所有server.conf 里的route 选项都会路由到10.0.0.2,即openvpn 里面,然后由openvpn 处理。
    对于client,则会选在一对ip 作为客户端的点对点虚拟链路,比如本地10.0.0.10,对端10.0.0.9。并把第一次分配给client 的ip 记录在ipp.txt(server.conf 里ifconfig-pool-persist 指定)里,下次对应的client 连接的时候可以分配先前被指定的地址,但man 手册说不保证每次会指定同一个ip。
    我需要给每个client 指定固定的vpn 地址,用ifconfig-push 指令即可。Windows 下,由于TAP-Win32 驱动的限制,虚拟IP 对只能在/30 子网选择,最后2 个2 进制位,除去全0的网络地址和全1 的广播地址,虚拟IP 只能选择01 和10,故虚拟IP 对只能是[1, 2] [5, 6] [9, 10]等(详见HOWTO)。Unix 客户端则没有这个限制,可以随便设置IP,比如client 分别设置成本地IP 为10.0.0.2, 10.0.3, 10.0.4 对端IP 都为10.0.0.1。考虑到以后client 可能会用Windows,故本文中遵循这个限制。给vpn client1, vpn client2, vpn client3 分配的虚拟客户端和服务器端IP 对分别为[10.0.0.5 10.0.0.6],[10.0.0.9 10.0.0.10],[10.0.0.13 10.0.0.14]。见图2。

VPN

VPN

图2 指定VPN 的虚拟IP 地址对

    给server.confi 添加如下行:
  1. client-config-dir ccd
复制代码

    并在vpn server 的/etc/openvpn 目录建立ccd 子目录,并在ccd 目录下建立文件client1,client2,client3(这里的文件名对应”为vpn clients 产生证书和密钥”步骤里的Common Name),当对应得client 连接时,vpn server 会读去对应文件里的配置信息。文件client1 里输入:
  1. ifconfig-push 10.0.0.5 10.0.0.6
复制代码
,即给vpn client1 指定10.0.0.5,对端10.0.0.6 的虚拟链路。
client2 内容:
  1. ifconfig-push 10.0.0.9 10.0.0.10
复制代码

client3 内容:
  1. ifconfig-push 10.0.0.13 10.0.0.14
复制代码

    分别拷贝server.conf,client1.conf,client2.conf,client3.conf 到vpn server 和对应的client。分别在各个vpn 计算机启动vpn server 和vpn client
openvpn --config /etc/openvpn/server.conf --cd /etc/openvpn/
openvpn --config /etc/openvpn/client1.conf --cd /etc/openvpn/等
    如果是Windows,改.conf 为.ovpn,然后右键选择Start OpenVPN on this config file 即可
启动。
    如果都出现“Initialization Sequence Completed”表示VPN 建立成功,否则检查vpn server的防火墙是否屏蔽了UDP 1194 端口。如果客户端是Windows,检查DHCP Client 服务是否启动。到这一步,VPN 客户端和服务端可以相互通讯了。10.0.0.1 应该可以ping 通10.0.0.5,10.0.0.9,10.0.0.13。10.0.0.5,10.0.0.9,10.0.0.13 也可以ping 通10.0.0.1。但10.0.0.5,10.0.0.9,10.0.0.13 还不能相互ping 通,即vpn 客户端之间还不能相通。

5.1 vpn client 访问vpn server 所在192.168.10.0/24 网段内计算机
      第一种方法,添加如下行到server.conf
  1. push "route 192.168.10.0 255.255.255.0"
复制代码

push 选项是把选项内容给连接的vpn 客户端执行,也就是在vpn 客户端执行“route 192.168.10.0 255.255.255.0”,即当client 连接时,添加路由到client 的路由表里。对于vpn client1,该选项相当于在vpn client1 的路由表里添加到网络192.168.10.0/24,下一跳为10.0.0.6的路由,这里10.0.0.6 为给vpn client1 分配的虚拟IP 对的服务器端IP,相当于路由到vpn server。
    第二种方法,如果不改变server.conf,在vpn client1 里route add –net 192.168.10.0 10.0.0.6 255.255.255.0 效果一样,也可route add –net 192.168.10.0 10.0.0.1 255.255.255.0 直接路由到vpn server 的本端IP 也可,但这样需要在所有的vpn 客户端改变路由表。
    这样在vpn 客户端可以ping 通192.168.10.0/24 网段内部计算机了。到此,B,C,D 房间的
网关可以访问A 房间的所有计算机了。

5.2 vpn server 访问vpn client 网段内计算机
      以vpn client1 为例,是vpn server 能访问192.168.11.0/24 网段内计算机。同样有2 种方法,一是改server.conf 让openvpn 程序添加路由,另一种是手动添加路由。
    第一种方法,添加如下行到server.conf
  1. route 192.168.11.0 255.255.255.0
复制代码

从OpenVPN 的man 手册可知,route 选项用于改变路由表。这里在vpn server 添加到网络192.168.11.0/24,下一跳为10.0.0.2 的路由,即把192.168.11.0/24 路由到openvpn 内部。然后添加如下行到/etc/openvpn/ccd/client1
  1. iroute 192.168.11.0 255.255.255.0
复制代码

告诉openvpn 192.168.11.0/24 的网段路由到vpn client1。route 选项用于修改从操作系统内核到OpenVPN 服务端的路由,iroute 用于控制OpenVPN 服务端到OpenVPN 客户端的路由。现在从vpn server 或者其内部192.168.10.0/24 内机器都能ping 通192.168.11.0/24 内部的机器了。
    第二种方法,手动修改vpn server 路由表,route add -net 192.168.63.0 10.0.0.2
255.255.255.0 或者route add -net 192.168.63.0 10.0.0.5 255.255.255.0然后添加iroute 192.168.11.0 255.255.255.0 到/etc/openvpn/ccd/client1(注意:两种方法都必须有这一步)。
    可以明显看到修改OpenVPN 配置文件的方法要简便些,不用顾及VPN 计算机分配的虚拟IP,对于多个VPN 客户端,只需要修改server.conf 即可,而且路由条目都是建立VPN时动态添加,VPN 断开时自动删除。本文选择这第一种方法配置VPN。提到两种方法是想说明OpenVPN 里的选项对于操作系统路由的影响,用于对比,更能理解OpenVPN 的选项。
    vpn client2 和vpn client3 的修改类似vpn client1。总结所有修改如下:
添加如下行到server.conf
  1. route 192.168.11.0 255.255.255.0 #使vpn server 能访问B 房间计算机
  2. route 192.168.12.0 255.255.255.0 #使vpn server 能访问C 房间计算机
  3. route 192.168.13.0 255.255.255.0 #使vpn server 能访问D 房间计算机
复制代码

添加如下行到vpn server 里/etc/openvpn/ccd/client1
  1. iroute 192.168.11.0 255.255.255.0 #B 房间计算机路由到client1
复制代码
添加如下行到vpn server 里/etc/openvpn/ccd/client2
  1. iroute 192.168.12.0 255.255.255.0 #C 房间计算机路由到client2
复制代码
添加如下行到vpn server 里/etc/openvpn/ccd/client3
  1. iroute 192.168.13.0 255.255.255.0 #D 房间计算机路由到client3
复制代码
到这一步,A 房间的计算机能访问B,C,D 房间的所有计算机了,B,C,D 房间的计算机
也能访问A 房间的计算机了。

5.3 各个vpn client 之间的网段相互访问
下面配置B,C,D 房间的计算机相互访问。
添加如下行到server.conf:
  1. client-to-client
复制代码
这样B,C,D 房间的网关(即10.0.0.5,10.0.0.9,10.0.0.13)可以相互ping 通了。现在B,
C,D 房间的网关还没有到相互内部网段的路由。类似上面push vpn 服务端的内部网段到vpn
客户端,添加如下行到server.conf
  1. push "route 192.168.11.0 255.255.255.0"
  2. push "route 192.168.12.0 255.255.255.0"
  3. push "route 192.168.13.0 255.255.255.0"
复制代码
分别在vpn client1,vpn client2,vpn client3 添加3 条路由,对于vpn client1,192.168.11.0/24是其内部网段, vpn client1 上的openvpn 程序不会执行"route 192.168.11.0 255.255.255.0"选项,可以从openvpn 启动的信息看出。同上面一样,也可以手动修改3 个VPN 客户端的路由表,这里就不说了。到这一步,A,B,C,D4 个房间的计算机都可以相互访问了。

6 配置出国和非出国数据的路由(只是理论想法,由于所在校园网还没通,没有测试)
    A房间网关,即vpn server,使用可以上国外网的802.1X 帐号,3 个vpn client3 使用只能上国内网的帐号。在server.conf 中利用push 选项在vpn 客户端添加路由,把国外IP 地址路由到vpn server,并通过vpn server 的NAT 出去,不需要修改vpn 客户端设置。这样,vpn客户端所在的B,C,D 房间的计算机上国内网直接通过他们的网关出去,上国外网则路由到A 房间网关再出去。A 房间的上网数据都通过A 房间网关出去。当然,也可以不修改server.conf,直接在3 个vpn 客户端手动添加路由。
添加如下行到server.conf:
#下面是国外网络的网段
push "route xxx.xxx.xxx.xxx 255.255.255.0"
……..

7 总结
    在vpn server 的/etc/rc.local 文件添加如下行:
openvpn --config /etc/openvpn/server.conf --cd /etc/openvpn/ &
    在vpn client1 的/etc/rc.local 文件添加如下行:
openvpn --config /etc/openvpn/client1.conf --cd /etc/openvpn/ &
     vpn client2 和vpn client3 类似vpn client1。使openvpn 程序在系统启动时自动运行。
   修改vpn server 的防火墙配置,我使用ipfw 防火墙。添加如下规则允许通过vpn server
的侦听端口。
pass in quick on rl0 proto udp from any to any port = 1194 keep state
    在vpn server安装Apache+phpBB为内部论坛,4 个房间所有计算机浏览http://10.0.0.1即可
访问。在vpn client1 安装Samba做文件共享服务器,浏览\\10.0.0.5即可访问到共享。打印机
安装在A房间的内部Windwos计算机上,通过共享安装网络打印机即可。
    这样完成了所有的配置。下面总结如下:
    vpn server 的目录/etc/openvpn 下有文件ca.crt,ca.key,dh1024.pem,server.crt,server.key和server.conf 以及子目录ccd。/etc/openvpn/ccd 目录下有文件client1,client2 和client3。
/etc/openvpn/server.conf 内容如下:
  1. ;local a.b.c.d
  2. port 1194
  3. proto udp
  4. dev tun
  5. ca ca.crt
  6. cert server.crt
  7. key server.key # This file should be kept secret
  8. dh dh1024.pem
  9. server 10.0.0.0 255.255.255.0
  10. ifconfig-pool-persist ipp.txt
  11. keepalive 10 120
  12. comp-lzo
  13. user nobody
  14. group nobody
  15. persist-key
  16. persist-tun
  17. status openvpn-status.log
  18. verb 3
  19. client-config-dir ccd
  20. #使vpn clients 能访问vpn server 内部网段计算机
  21. push "route 192.168.10.0 255.255.255.0"
  22. route 192.168.11.0 255.255.255.0 #使vpn server 能访问B 房间计算机
  23. route 192.168.12.0 255.255.255.0 #使vpn server 能访问C 房间计算机
  24. route 192.168.13.0 255.255.255.0 #使vpn server 能访问D 房间计算机
  25. client-to-client #使vpn clients 相互之间可以访问
  26. push "route 192.168.11.0 255.255.255.0"
  27. push "route 192.168.12.0 255.255.255.0"
  28. push "route 192.168.13.0 255.255.255.0"
  29. /etc/openvpn/ccd/client1 内容如下:
  30. ifconfig-push 10.0.0.5 10.0.0.6
  31. iroute 192.168.11.0 255.255.255.0
  32. /etc/openvpn/ccd/client2 内容如下:
  33. ifconfig-push 10.0.0.9 10.0.0.10
  34. iroute 192.168.12.0 255.255.255.0
  35. /etc/openvpn/ccd/client3 内容如下:
  36. ifconfig-push 10.0.0.13 10.0.0.14
  37. iroute 192.168.13.0 255.255.255.0
复制代码

    vpn client1 的目录/etc/openvpn 下有文件ca.crt,client1.crt,client1.key 和client1.conf。
/etc/openvpn/client1.conf 内容如下:
  1. ##############################################
  2. # Sample client-side OpenVPN 2.0 config file #
  3. # for connecting to multi-client server. #
  4. ##############################################
  5. client
  6. dev tun
  7. proto udp
  8. remote 172.16.37.83 1194
  9. resolv-retry infinite
  10. nobind
  11. user nobody
  12. group nobody
  13. persist-key
  14. persist-tun
  15. ca ca.crt
  16. cert client1.crt
  17. key client1.key
  18. comp-lzo
  19. verb 3
  20. keepalive 10 120
复制代码

    vpn client2 和vpn client3 类似vpn client1。这里就不说了。

附件包括pdf版文档,参考资料及各个配置文件。

[ 本帖最后由 xdkui 于 2006-11-28 14:51 编辑 ]

OpenVPN总结.part1.rar

195.31 KB, 下载次数: 1086

附件part1

OpenVPN总结.part2.rar

195.31 KB, 下载次数: 1006

附件part2

OpenVPN总结.part3.rar

46.06 KB, 下载次数: 776

附件part3

论坛徽章:
0
发表于 2006-09-25 09:49 |显示全部楼层
写了这么多,居然没人看
顶一个

论坛徽章:
0
发表于 2006-09-25 10:29 |显示全部楼层
我觉得对于普通的openvpn应用来说,如果流量比较大,最好使用lzo库,如果可能的话,不使用ssl加密,而是让应用层去加密。
如果是跑流媒体比较多的话,我觉得最好不使用lzo库和ssl加密。

论坛徽章:
0
发表于 2006-09-25 14:21 |显示全部楼层
原帖由 sailer_sh 于 2006-9-25 10:29 发表
我觉得对于普通的openvpn应用来说,如果流量比较大,最好使用lzo库,如果可能的话,不使用ssl加密,而是让应用层去加密。
如果是跑流媒体比较多的话,我觉得最好不使用lzo库和ssl加密。


lzo是在带宽和性能之间找一个平衡点
ssl是在安全和性能之间找一个平衡点

论坛徽章:
0
发表于 2006-09-25 14:22 |显示全部楼层
楼主这个环境

因为是在学校,IP相对固定,因为在内网,安全也不是大问题

其实直接用Linux下面的IP in IP效率高。

论坛徽章:
0
发表于 2006-10-01 22:39 |显示全部楼层
我在FreeBSD6.1下用Ports安装了OpenVPN2.0.6,怎么没有/home/xdkui/openvpn-2.0.7/easy-rsa;/etc/openvpn等这些目录?

论坛徽章:
0
发表于 2006-10-02 20:26 |显示全部楼层
在Freebsd下没有用port安装过,所以不知道这些脚本是否会安装到系统里

不过可以在port的源代码目录找到这些脚本。

/etc/openvpn目录自己创建

论坛徽章:
0
发表于 2006-10-05 18:41 |显示全部楼层
原帖由 FinSUN 于 2006-10-1 22:39 发表
我在FreeBSD6.1下用Ports安装了OpenVPN2.0.6,怎么没有/home/xdkui/openvpn-2.0.7/easy-rsa;/etc/openvpn等这些目录?


/etc/openvpn目录都是自己建的
/home/xdkui/openvpn-2.0.7/easy-rsa这个目录是openvpn源代码里的目录,如果使用ports安装,用pkg_info -L看下安装openvpn生成了哪些目录即可知道

[ 本帖最后由 xdkui 于 2006-10-7 13:59 编辑 ]

论坛徽章:
0
发表于 2006-10-05 21:41 |显示全部楼层
请问楼主OpenVPN是7层的还是几层的?

论坛徽章:
0
发表于 2006-10-07 14:03 |显示全部楼层
原帖由 phpman 于 2006-10-5 21:41 发表
请问楼主OpenVPN是7层的还是几层的?

对于桥接模式,只是相当于网桥,是物理层的转发
路由模式,是3层的转发

openvpn程序本身则通过udp或者tcp端口通讯
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:wangnan@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP