个人工具
119.28.94.63
该IP地址的讨论
登录
查看“OpenVPN server”的源代码 - Ubuntu中文
页面
讨论
查看源代码
历史
搜索
导航
首页
最近更改
随机页面
页面分类
帮助
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
特殊页面
页面信息
查看“OpenVPN server”的源代码
来自Ubuntu中文
←
OpenVPN server
跳转至:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
=== OpenVPN === 我们可以把处于LAN环境下的特定计算机设置为一个[http://baike.baidu.com/view/480950.htm?fromtitle=VPN VPN]服务器,这个服务器可以让处于LAN之外的远程客户端和LAN上的计算机进行加密通信(通过VPN服务器接入). 当两台终端建立[http://baike.baidu.com/view/480950.htm?fromtitle=VPN VPN] 连接通道(服务端和客户端)时,[http://openvpn.net/ OpenVPN] 使用 [http://baike.baidu.com/view/7615.htm PKI(Public Key Infrastructure)]对其进行加密. VPN 服务器的硬件需求取决于最大的并发通信隧道的数量.通俗的来讲,最为普通配置的电脑可以胜任一台并发连接数不大于10的VPN服务器.而一台不大于100个并发连接数的VPN服务器则需要较高的内存和CPU配置.网络连接也是一个限制因素,所以,高配的网卡也是必须的(至少支持千兆网卡). ==== 使用桥接模式 ==== OpenVPN 服务器通常使用桥接模式.一个网络(如:eth0)连接到WAN(互联网),这个连接用来接入VPN请求,另外一个(如:eth1)连接到LAN(局域网),VPN数据的流动在这两个网络间可以理解为被”桥接”了.查看[[Ubuntu:Jaunty#Network_Interfaces_Bridging|Network Interface Bridging]]获取详情. ==== OpenVPN 服务器的安装 ==== *安装 OpenVPN: sudo apt-get install openvpn easy-rsa ==== 服务器证书 ==== *创建OpenVPN服务器证书. :*复制 easy-rsa 目录到 /etc/openvpn. 这个操作确保在包更新后脚本内容不会丢失. sudo mkdir /etc/openvpn/easy-rsa/ sudo cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/ /etc/openvpn/easy-rsa/ :*编辑 /etc/openvpn/easy-rsa/vars 根据实际情况在其中修改相应的环境变量: export KEY_COUNTRY="US" export KEY_PROVINCE="CA" export KEY_CITY="''MyCity''" export KEY_ORG="''MyCompany''" export KEY_EMAIL="''webmaster@mycompany.com''" :*运行脚本,创建服务器证书: cd /etc/openvpn/easy-rsa/easy-rsa source vars ./clean-all ./build-dh ./pkitool --initca ./pkitool --server server cd keys openvpn --genkey --secret ta.key sudo cp server.crt server.key ca.crt dh1024.pem ta.key /etc/openvpn/ ==== 客户端证书 ==== *为了能让VPN客户端在运行时能够通过服务器认证,需要生成一个客户端证书. *创建证书: cd /etc/openvpn/easy-rsa/ source vars ./pkitool ''hostname'' :说明: 用需要连接到VPN服务器的客户端计算机名替换 ''hostname''(不含双引号). *拷贝前面生成的下述认证文件到客户端: :* /etc/openvpn/easy-rsa/''hostname''.ovpn :* /etc/openvpn/easy-rsa/ca.crt :* /etc/openvpn/easy-rsa/''hostname''.crt :* /etc/openvpn/easy-rsa/''hostname''.key :* /etc/openvpn/easy-rsa/ta.key :说明: 请拷贝和你的客户端机器名("hostname")相符的文件. ==== 服务器配置 ==== *在OpenVPN服务器上修改 /etc/openvpn/server.conf *可以通过示例文件修改: sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/ sudo gzip -d /etc/openvpn/server.conf.gz *修改 etc/openvpn/server.conf: sudo nano /etc/openvpn/server.conf :*根据实际情况更改下述选项: local 172.18.100.101 dev tap0 server-bridge 172.18.100.101 255.255.255.0 172.18.100.105 172.18.100.200 push "route 172.18.100.1 255.255.255.0" push "dhcp-option DNS 172.18.100.20" push "dhcp-option DOMAIN example.com" tls-auth ta.key 0 # This file is secret user nobody group nogroup :说明: ::local: 指桥接接口的IP地址. ::server-bridge: 使用桥接模式时需要配置. 172.18.100.101 255.255.255.0 这一部分是桥接接口的IP和掩码. 172.18.100.105 172.18.100.200 是要分配给客户端的IP地址池; ::push: 为客户端指定需要添加的IP配置. ::user and group: 配置OpenVPN后台服务所依赖的用户和组; ::根据实际网络情况替换上述所有的IP地址和域名k. *创建脚本,添加TAP接口到网桥. :* 创建 /etc/openvpn/up.sh: sudo nano /etc/openvpn/up.sh ::添加以下内容: #!/bin/sh # BR=$1 DEV=$2 MTU=$3 /sbin/ifconfig $DEV mtu $MTU promisc up /usr/sbin/brctl addif $BR $DEV :*创建 /etc/openvpn/down.sh: sudo nano /etc/openvpn/down.sh ::添加以下内容: #!/bin/sh # BR=$1 DEV=$2 # /usr/sbin/brctl delif $BR $DEV /sbin/ifconfig $DEV down :*设置脚本权限为可执行: sudo chmod 755 /etc/openvpn/down.sh sudo chmod 755 /etc/openvpn/up.sh :*重启 OpenVpn服务: sudo /etc/init.d/openvpn restart ====客户端配置 ==== *复制示例文件: sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn *修改配置文件: sudo nano /etc/openvpn/client.conf :*参考下面的内容进行修改: dev tap remote ''vpn.mycompany.com'' 1194 cert ''hostname''.crt key ''hostname''.key tls-auth ta.key 1 :说明: 用你VPN服务器的服务器名替换''vpn.mycompany.com'', 根据你使用的.crt和.key文件名(这两个文件名应该一致)替换"hostname". *重启 OpenVpn服务: sudo /etc/init.d/openvpn restart *通过VPN服务器远程连接到LAN. ==== 其它资源 ==== * [https://help.ubuntu.com/14.04/serverguide/openvpn.html Ubuntu 14.04 服务器指南 OpenVPN]
返回至
OpenVPN server
。