当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 12 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : Ubuntu 下建立OPENVPN 服务器/WINDOWS 客户端配置(原创)
帖子发表于 : 2010-12-01 21:07 

注册: 2010-12-01 17:16
帖子: 7
送出感谢: 0 次
接收感谢: 0 次
刚接触Ubuntu,感觉是一个十分人性易容的系统!!
最近一直研究OPENVPN ,因为想在Linux下架设个VPN服务器,所以选择了OPENVPN,由于刚入手Ubuntu,所以当然希望能在Ubuntu论坛上找到想要的啦,可惜很失望,虽说是找到了,但却是寥寥数篇,却也有一段时日,使我深感怀疑 :em06 而且照搬照弄,还是失败,于是转战百度或Google,终于还是让我成功了,所以这次决定亲自操刀,为广大想在Ubuntu 建立的VPN的同仁们做点贡献! :em09

下文在我空间首发,由于无有弄空间存储图片,所以下文无法将贴图奉上,所以我另制作一个Word 文档,内附贴图,若诸位还觉麻烦,不妨移步到我空间
http://user.qzone.qq.com/285239191/blog/1291194056

Word 文档 下载:http://u.115.com/file/f6177ba4d6

断断续续大半月时间,虽然耗时不少,但也少有收获,终于还是将它搞定---OPENVPN。
网上的例子实在多不胜数,虽我阅资不少,但可惜大多都是成分残缺,要就是有中心无重点,要就是有重点无中心(官网?算了吧,以我的英文程度,或许奥巴马讲不赢我),看得我梦里看花,不知所云云...Ubuntu 论坛虽然也有几篇是关于架设VPN的文章,可惜我百般尝试,照搬照弄,但也以失败告终....
所以在此分享成果,也当作笔录以便日后翻阅,也望能帮助同样困惑的你,此文若能帮助一二,小弟无幸欢欣。
构建环境:Ubuntu 10.10
以下步骤建议在root 下进行,除去权限之闷!!
#由于Ubuntu 是不建议实用root的,所以若想使用root的话,必先在你当前用户下,在终端中输入:sudo password root 更改root密码!
第一步;运行终端,安装OPENVPN
sudo apt-get install openvpn

第二步;配置OPENVPN
终端下输入
sudo cp -a /usr/share/doc/openvpn/examples/easy-rsa/2.0/ /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa/
sudo ln -s easy-rsa/keys /etc/openvpn/keys #其实这个是快捷方式的意思
sudo mkdir /var/lib/openvpn/
然后编辑 vars 文件(由于我是懒人,对VI命令又不常用,所以不如直接找到文件打开进行编辑来的快,谁让可爱的Ubuntu是图形界面叻)

主要编辑以下部分,注意KEY_COUNTRY 和 KEY_PROVINCE 都以两个大写字母表示
export KEY_COUNTRY="" #这里国家
export KEY_PROVINCE="" #省份
export KEY_CITY="" #城市
export KEY_ORG="" #机构
export KEY_EMAIL="" #Email
编辑完后保存!
终端输入命令进入 cd /etc/openvpn/easy-rsa/ #进入刚COPY的目录进行配置!
输入以下命令
source ./vars
./clean-all
./build-ca
./build-key-server server
./build-key client
./build-dh
注意:./build-key-server 与 ./build-key 使用默认选项即可。
若日后需添加新的客户端,直接运行以下命令
source ./vars
./build-key client2
./build-key client3
./build-key client3......

第三步;进行服务器文件的配置
终端下输入:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
sudo gunzip server.conf.gz #运行这条记得路径是在 /etc/openvpn/ 中!
#以上是将实例文件copy然后解压到我们所在的配置的文件夹 /etc/openvpn/ 中!
打 server.conf 开进行配置
由于注解太多,所以删除了不少边幅,但不妨碍运行,作为参考修改!当然你也可以复制~
#OpenVPN的监听地址
local xxx.xxx.xxx.xxx
#OpenVPN的监听端口
port 1194
#使用UDP Server
proto udp
#使用tun通道
dev tun
#相对路径 /etc/openvpn
ca keys/ca.crt
cert keys/server.crt
key keys/server.key

dh keys/dh1024.pem
#OpenVPN的子网地址
server 10.8.0.0 255.255.255.0
#客户端的Internet访问使用OpenVPN通道
push "redirect-gateway def1"
#Windows客户端会使用此DNS地址
push "dhcp-option DNS 208.67.222.222" #这样填DNS需根据实际
push "dhcp-option DNS 208.67.220.220"
#记录客户端分配的ip地址情况,如果OpenVPN服务重启,
#客户端重新连接的时候会按照此文件分配原先的地址。
ifconfig-pool-persist /var/lib/openvpn/ipp.txt
#每10秒ping一次,120秒内客户端没有动作就断开连接
keepalive 10 120
#客户端之间可以互相访问
client-to-client
#对OpenVPN链接进行压缩,客户端的配置文件必须同时使用
comp-lzo
#OpenVPN的用户和用户组
user nobody
group nobody
#如果user和group的用户和用户组没有访问key的权限
#避免产生权限不足的bug
persist-key
persist-tun
#日志文件
status /var/lib/openvpn/status.log
#日志文件的记录级别
verb 3

以上为server.conf 的配置主要

然后运行OPENVPN!
运行OPENVPN 有两种方式:
第一种:
终端下输入:openvpn /etc/openvpn/server.conf

若如上显示,那么恭喜你,你的OPENVPN已在运行当中了!
按 Ctrl+C 可以停止运行.
第二种:
在终端下输入:sudo openvpn service openvpn

当提示如上时,那么OPENVPN已经运行当中了。
相对而言,第一种运行比较直观看到OPENVPN的运行详细,所以用于测试较好!而第二种就是直接运行,相当于直接投入使用。

配置到这里,客户端已经是可以进行连接的了,但是连接上却是不能上网的,因为还需要设置数据转发!!
在终端中输入如下命令
sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
这时候即可~!
后来我发现存在一个问题,就是但我重启Ubuntu后,发现客户端连上后上不了网,之后我再重新输入
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
这时候又可以正常上网,所以我估计是Ubuntu关机后把这条命令给消了(不知道其他人会不会有这个现象),所以我将这条命令放到开机启动时运行,找到 /etc/rc.lcacl 并打开

将命令写上(注意位置!),那么下次开机的时候它就会自动运行这条命令,那么就不用担心重启后客户端上不了网了。

第二部分 客户端配置
我现在知道为什么网上的文章大多都省略佐客户端不讲或讲个大概了,写到这里我有点手软了,所以请容休息半刻,吃个吉仔先~
**********************************************************************************************************
好,吃完,吉仔有点酸--继续.....
客户端环境:Windows XP sp3 (版本?当然是中国式正版啦!)
首先在刚才我们在配置OPENVPN 的时候,配置过客户端文件(别问我不知什么时候配置过),现在是用它们的时候了
它们在这里

就以上这个三个文件,将其复制打包,发送或传输等等方法将其送到客户端机上,这里提供两种方法
1,打包后,用Email发送。
2,用 这个,不会用问百度兄或GOOGLE弟,报个名上去就帮到你。

然后到OPENVPN 官网下载 windows client
下载链接:http://openvpn.net/release/openvpn-2.1.3-install.exe
版本 openvpn-2.1.3
下载完后直接安装!基本无他,反正是GUI,一路NEXT便是~
这时候桌面多了 ,当然还有右下角的这个

进入:C:\Program Files\OpenVPN\sample-config

将 连同配置的那三个客户端文件一并复制到以下路径
C:\Program Files\OpenVPN\config


双击对 进行配置
同上,修修边幅,让世界变得更加美好~!!
以下是配置内容:

#号和;号都是注释

# 定义是一个客户端
client

# 定义使用路由IP模式,与服务端一致
;dev tap
dev tun

# 定义Windows下使用的网卡名称,linux不需要
;dev-node 我的连接

# 定义使用的协议,与服务端一致
;proto tcp
proto udp

# 指定服务端地址和端口,可以用多行指定多台服务器
# 实现负载均衡(从上往下尝试)
remote 192.168.35.88 1194 (因为我在内网测试,所以地址为私有,若公网进行端口映射后,填公网IP即可)
;remote my-server-2 1194

# 若上面配置了多台服务器,让客户端随机连接
;remote-random

# 解析服务器域名
# Keep trying indefinitely to resolve the
# host name of the OpenVPN server. Very useful
# on machines which are not permanently connected
# to the internet such as laptops.
resolv-retry infinite

# 客户端不需要绑定端口
# Most clients do not need to bind to
# a specific local port number.
nobind

# 也是为了让Openvpn也nobody运行(安全)
# 注意:Windows不能设置
user nobody
group nobody

# Try to preserve some state across restarts.
persist-key
persist-tun

# 若客户端通过HTTP Proxy,在这里设置
# 要使用Proxy,不能使用UDP为VPN的通讯协议
;http-proxy-retry # retry on connection failures
;http-proxy [proxy server] [proxy port #]

# 无线网络有很多多余的头文件,设置忽略它
;mute-replay-warnings

# 重点,就是指定ca和客户端的证书
# 注意,下面的两个号是连在一起的,之间没有空格
ca ca.crt
cert client.crt
key client.key
# 如果服务端打开了PAM认证模块,客户端需要另其有效
;auth-user-pass

# 一些安全措施
# Verify server certificate by checking
# that the certicate has the nsCertType
# field set to "server". This is an
# important precaution to protect against
# a potential attack discussed here:
# http://openvpn.net/howto.html#mitm
#
# To use this feature, you will need to generate
# your server certificates with the nsCertType
# field set to "server". The build-key-server
# script in the easy-rsa folder will do this.
;ns-cert-type server

# If a tls-auth key is used on the server
# then every client must also have the key.
;tls-auth ta.key 1

# Select a cryptographic cipher.
# If the cipher option is used on the server
# then you must also specify it here.
;cipher x

# 使用lzo压缩,与服务端一致
comp-lzo

# Set log file verbosity.
verb 3

# Silence repeating messages
;mute 20

然后保存!

现在运行OpenVPN GUI,打开后其图标出现在菜单栏右下角 ,对其右击,选择 Connect

它会弹个框出来显示其连接的运行状态,所以莫惊讶~


直到它隐藏后,右下角OPENVPN图标变绿,且气泡提示所分配到的IP


然后 PING 下 VPN SERVER 等地址,看能否PING通,若 PING 通了

那么就大功告成~!!可以开香槟庆祝下~


页首
 用户资料  
 
2 楼 
 文章标题 : Re: Ubuntu 下建立OPENVPN 服务器/WINDOWS 客户端配置(原创)
帖子发表于 : 2010-12-03 16:40 

注册: 2010-12-03 15:44
帖子: 1
送出感谢: 0 次
接收感谢: 0 次
咋没图片呢?


页首
 用户资料  
 
3 楼 
 文章标题 : Re: Ubuntu 下建立OPENVPN 服务器/WINDOWS 客户端配置(原创)
帖子发表于 : 2010-12-08 20:08 

注册: 2010-10-11 1:01
帖子: 3
送出感谢: 0 次
接收感谢: 0 次
不错 Common Name 不用填??


页首
 用户资料  
 
4 楼 
 文章标题 : Re: Ubuntu 下建立OPENVPN 服务器/WINDOWS 客户端配置(原创)
帖子发表于 : 2010-12-08 20:51 
头像

注册: 2005-12-28 1:16
帖子: 3916
地址: 火星
系统: Ubuntu 12.10 X64
送出感谢: 1
接收感谢: 0 次
注释还是别写了,基本都不准确,还有明显错的离谱的


_________________
目前负债150多万


页首
 用户资料  
 
5 楼 
 文章标题 : Re: Ubuntu 下建立OPENVPN 服务器/WINDOWS 客户端配置(原创)
帖子发表于 : 2010-12-10 12:03 

注册: 2010-07-21 15:59
帖子: 4
送出感谢: 0 次
接收感谢: 0 次
:em04


页首
 用户资料  
 
6 楼 
 文章标题 : Re: Ubuntu 下建立OPENVPN 服务器/WINDOWS 客户端配置(原创)
帖子发表于 : 2010-12-14 13:13 

注册: 2010-12-01 17:16
帖子: 7
送出感谢: 0 次
接收感谢: 0 次
lian514 写道:
咋没图片呢?

别提了,论坛发图不是一般容易,至于图片,你或许可以移步到我空间或下载我所提供的word文件查阅!

xhy 写道:
注释还是别写了,基本都不准确,还有明显错的离谱的

若然有错误,还请指点一二,让我及时更改,以免误导读者,总比光说不做好,毕竟不是本人鸟语有限,只能靠其所悟或网上找寻资料所得。
tyw09 写道:
不错 Common Name 不用填??

根据需求吧


页首
 用户资料  
 
7 楼 
 文章标题 : Re: Ubuntu 下建立OPENVPN 服务器/WINDOWS 客户端配置(原创)
帖子发表于 : 2010-12-14 13:42 
头像

注册: 2008-04-26 12:41
帖子: 11000
送出感谢: 11
接收感谢: 38
:em06


_________________
[新手必读]wubi安装常见问题(FAQ)
[分享]装双系统的同学必看——Windows与Linux系统共享交换分区的方法
kde下唯美的暗黑内透主题(无需编译)
无穷老机上的Trinity Desktop Environment


页首
 用户资料  
 
8 楼 
 文章标题 : Re: Ubuntu 下建立OPENVPN 服务器/WINDOWS 客户端配置(原创)
帖子发表于 : 2010-12-14 16:21 
头像

注册: 2010-12-09 2:49
帖子: 22
送出感谢: 0 次
接收感谢: 0 次
其实我想说的是你花了那么久,还不如用OPENVPN_AS版本,你花了半个月,用AS的话大概半天就能搞定把。。。咳咳,我这是偷懒拉,不过时间还是最重要的嘛。AS版本不用直接安装,客户端直接下载用,省事好多。

再小小说一句,转化为daemon process的办法是后面加“&”,就不会因为ctrl+C而打断了。 :em06


_________________
介个是个嘛呀!


页首
 用户资料  
 
9 楼 
 文章标题 : Re: Ubuntu 下建立OPENVPN 服务器/WINDOWS 客户端配置(原创)
帖子发表于 : 2010-12-15 9:22 

注册: 2010-12-01 17:16
帖子: 7
送出感谢: 0 次
接收感谢: 0 次
degreying 写道:
其实我想说的是你花了那么久,还不如用OPENVPN_AS版本,你花了半个月,用AS的话大概半天就能搞定把。。。咳咳,我这是偷懒拉,不过时间还是最重要的嘛。AS版本不用直接安装,客户端直接下载用,省事好多。

再小小说一句,转化为daemon process的办法是后面加“&”,就不会因为ctrl+C而打断了。 :em06


OPENVPN_AS版本 可以无限连接吗?貌似我找到的免费也是有两个连接,可惜我所在的环境不止两个..

转化为daemon process的办法是后面加“&”
不知这句所指文上何处?还请指教!


页首
 用户资料  
 
10 楼 
 文章标题 : Re: Ubuntu 下建立OPENVPN 服务器/WINDOWS 客户端配置(原创)
帖子发表于 : 2011-08-22 11:09 

注册: 2011-08-22 11:07
帖子: 1
送出感谢: 0 次
接收感谢: 0 次
写的很好,正需要,感谢lz, 顺便鄙视一些只说不做滴。。。


页首
 用户资料  
 
11 楼 
 文章标题 : Re: Ubuntu 下建立OPENVPN 服务器/WINDOWS 客户端配置(原创)
帖子发表于 : 2011-09-16 14:01 

注册: 2008-11-25 10:31
帖子: 71
地址: tw
系统: u16.04
送出感谢: 1
接收感谢: 1
謝謝提供使用。


页首
 用户资料  
 
12 楼 
 文章标题 : Re: Ubuntu 下建立OPENVPN 服务器/WINDOWS 客户端配置(原创)
帖子发表于 : 2014-08-09 9:34 

注册: 2014-08-09 9:15
帖子: 1
系统: Ubuntu 14.04
送出感谢: 0 次
接收感谢: 0 次
感谢分享
不过你好像忘了生成一个文件:
$ openssl dhparam -out dh1024.pem 1024
在server.conf文件目录下运行这条命令.


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 12 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:Google [Bot] 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译