当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 36 篇帖子 ]  前往页数 1, 2, 3  下一页
作者 内容
1 楼 
 文章标题 : [原创] Configure OpenVPN on Ubuntu
帖子发表于 : 2007-10-24 10:52 

注册: 2006-01-24 13:15
帖子: 36
送出感谢: 0 次
接收感谢: 0 次
我理解,OpenVPN的配置根据实现分三种方式:
    单机 - - 站点
    站点 - - 站点
    单机 - - 单机
本文的描述适合单机 - - 站点实现方式,也可以理解为移动用户连回公司网络。

目录
    1. 安装
    2. 设置认真机构,产生证书
    3. 配置Server端
    4. 配置Client端

1. 安装
Ubuntu中安装OpenVPN极其简单:
代码:
sudo apt-get install openvpn

在Windows中安装则建议使用 OpenVPN GUI for Windows的Installation Package,其中包括了OpenVPN本身以及在Windows中使用方便的图形界面。

2. 设置认真机构,产生证书
参考OpenVPN的Howto进行操作,一般不会有什么问题。
在Ubuntu中大致这样操作,将目录 /usr/share/doc/openvpn/examples/easy-rsa/2.0 复制的你的家目录,修改vars使其符合你的实际情况(国家、省份、城市、公司、机构、邮件地址),然后运行
代码:
./vars
./clean-all
./build-ca
./build-key-server <servername>
./build-key <clientname>
./build-dh

注意:这只是第一次产生证书的正确操作,其中 build-ca 创建根证书,若你没有清除全部VPN Server/Client的打算,你不应该再次运行此命令;创建的全部证书及私钥都在当前目录的 keys 下面,而命令 clean-all 将清除 keys 下面全部内容,因此 cliean-all 只在 build-ca 前运行一次。
随后添加 Server 证书或 Client 证书只需运行
代码:
./vars
./build-key-server <servername>
or
./build-key <clientname>


3. 配置Server端
从示例中解压 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
    ca.crt
    server.crt
    server.key
    dh1024.pem
修改 server.conf
关键一:取消注释 push "route a.b.c.d 255.255.255.0",并将地址和掩码替换为办公网络的地址和掩码
目的是为客户端加一条路由,这样客户端才有可能访问到办公网络中出VPN Server之外的其它主机(有很多VPN客户端直接添加默认路由,这样客户端的所有连接请求都被路由到 VPN 通道内,结果是客户端此时不能访问VPN,而此项添加指定地址的路由不会导致这一问题)
关键二:取消注释 push "dhcp-option DNS a.b.c.d" 和 push "dhcp-option WINS a.b.c.d", 并将地址替换为实际的 DNS 和 WINS 服务器的地址,最好 DNS 服务器能将外部域名的解析要求转发的外部 DNS 服务器
目的是客户端连接VPN后仍能访问Internet,(若推过来的DNS不能解析外部域名,则即使客户端的路由配置正确,想通过域名访问Internet也不可能)
Server端其它设置
配置服务器,运行包转发:
代码:
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward

关键三:若VPN Server不是办公网络的默认网关,则想办法在默认网关上添加到 10.8.0.0/24 的路由项目,网关为服务器的内部 IP 地址。
关键一中的操作只是能够让客户端知道去往公司网络的包如何路由,而关键三的操作是为了让公司网络里的主机知道去往VPN Client的包如何路由。
对于Netscreen 25(screenos 5.3.0r3.0),Network - Routing - Destination - [trust-vr]New - IP/mask [10.8.0.0]/[24] - 选 [Gateway], Interface [ethernet1], Gateway IP Address [Internal IP of VPN Server]

4. 配置Client端
在Ubuntu中,
4.1.1 从示例中拷贝client.conf
代码:
sudo cp //usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/

4.1.2 将相关证书、私钥拷贝到/etc/openvpn:
    ca.crt
    client.crt
    client.key
4.1.3 修改/etc/openvpn/client.conf:
在 remote my-server-1 1194 这一行,将 my-server-1 换成 VPN Server 的外部IP
关键四:在结尾添加两行
代码:
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf

目的是根据Server推过来的 dhcp-option 更新域名解析设置

4.1.4 其它设置:
关键五:安装resolvconf软件包
代码:
sudo apt-get install resolvconf
关键四中设置的脚本需要使用此软件。

在Windows中,
4.2.1 将client.ovpn拷贝的config目录
4.2.2 将证书和相关私匙拷贝到config目录
    ca.crt
    client.crt
    client.key

4.2.3 将client.ovpn中的my-server-1改为VPN Server的外部IP

欢迎指正!
愿意共同探讨你遇到的问题。


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-11-23 16:26 
头像

注册: 2005-08-17 23:44
帖子: 87
地址: 武汉
送出感谢: 0 次
接收感谢: 0 次
写的不错,详细说明了每一个操作步骤的原因,大家配置下来会学习到不少东西。

顶一下!


_________________
为折腾而用Linux;为不折腾而用Windows

To be, or not to be: that is the question:


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2007-12-19 19:36 
头像

注册: 2005-08-17 23:44
帖子: 87
地址: 武汉
送出感谢: 0 次
接收感谢: 0 次
我找到一个更加详尽的配置说明,分享一下!

OpenVPN 配置和使用

日期:2006-08-22 作者:lgx 来自:dream4ever
简介 OpenVPN

OpenVPN 是一个基于 OpenSSL 库的应用层 VPN 实现。和传统 VPN 相比,它的优点是简单易用。详细信息可以参考 http://www.openvpn.net



这里简单介绍一下基于 CA ,采用数字证书认证,可以划分多个网段的 OpenVPN 配置方法。



Note 1: VNN 和 OpenVPN 很像。

Note 2: 这个东西对于突破国内网络封锁,保护通信自由很有意义,值得大力推广。

安装 OpenVPN

Linux 下的安装

首先,Kernel 必须支持 TUN/TAP 设备。在 2.6.x 内核中,对应的 Kernel 选项是 “Universal TUN/TAP device driver support”。

确认 Kernel 支持 TUN/TAP 后,可以下载 OpenVPN 编译并安装。这一步很 easy,不多说了。

Windows 下的安装

http://www.openvpn.se 下载安装包安装,这里的安装包带一个 Client GUI 工具,很好用。

配置 OpenVPN

配置 OpenVPN Server

只说明在 Linux 下的配置。Windows 类似。创建 /etc/vpn/server.conf,内容如下:
port 1494
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem

server 10.1.0.0 255.255.255.0

push "route 10.1.0.0 255.255.255.0"
push "route 10.1.1.0 255.255.255.0"

client-config-dir /etc/vpn/ccd
route 10.1.1.0 255.255.255.0

client-to-client

keepalive 10 120

user nobody
group nobody

persist-key
persist-tun

log-append openvpn.log
verb 3



其中 ca.crt, server.key,server.crt 可以用以前贴出的 ca 工具创建,dh1024.pem 用 OpenVPN 自带的工具创建。



这个配置文件创建了两个网段:10.1.0.* 和 10.1.1.*,VPN 服务器将从这两个网段中给 Client 分配 IP 地址。VPN Server 自身 IP 将是 10.0.0.1。

“client-config-dir”指明 Client 的专有配置文件目录。在这个目录下可以针对特定用户建立配置文件。例如,要为用户 abc 指定一个 IP 地址(如10.1.1.5)而不是让 VPN Server 自动分配,可以在配置目录/etc/vpn/ccd下建立一个 abc 文件,内容如下:

ifconfig-push 10.1.1.5 10.1.1.6



那么 VPN Server 就会自动给 abc 用户分配 10.1.1.5 这个地址。注意第一个IP地址 的最后一个数字(这里是 5)必须是 4*n + 1 的数。


问题是,VPN Server 怎么知道哪个用户是 abc 呢?它是 Client 数字证书中的 Common Name 域来判断的。就是说,在连接协商时如果 Client 端数字证书的 Common Name 是 abc,那么 VPN Server 就找配置目录下 abc 这个文件。


配置 OpenVPN Client

在 Client 机器上 OpenVPN 安装目录的 config 目录下建立如下 client.ovpn 文件:


client
dev tun
proto udp
remote vpn_server_ip 1494

ca ca.crt
cryptoapicert "SUBJ: abc"

nobind
persist-key
persist-tun
verb 2




修改 remote 一行填上对应 VPN Server 的 IP 和 端口。ca.crt 和服务端 ca.crt 一样,必须把这个 ca.crt 也放在 config 目录下。



关键是 cryptoapicert "SUBJ: abc" 这行。这一行指定客户端的数字证书从 Windows 证书 Store 里取。在 IE 的“选项 -> 内容 -> 证书”页面能看到你的个人数字证书。SUBJ:abc 指明选择证书主题中含有 abc 的证书。客户端数字证书也可以用以前贴的 ca 工具生成,如果要给用户 abc 签发数字证书,只用指明 Common Name 是 abc 即可,然后把生成的 abc.p12 传给 abc 用户并告诉导入口令。abc 导入这个数字证书后,VPN Client 就可以工作了。



启动 OpenVPN

服务端启动

在 /etc/vpn 目录下,执行:

openvpn --daemon --config server.conf



客户端启动

OpenVPN 带一个 GUI 小工具,会装在系统托盘里。点菜单里的 connect 即可。

常见问题

无法得到 IP 地址

通常是因为 DHCP Client 服务没有启动。在服务管理里启动即可。
原文链接:https://dream4ever.org/showthread.php?t=35086


_________________
为折腾而用Linux;为不折腾而用Windows

To be, or not to be: that is the question:


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-05-13 10:05 

注册: 2008-04-13 13:13
帖子: 58
送出感谢: 0 次
接收感谢: 0 次
希望能说说 VPN服务器的设置,不然openVPN还不如ubuntu自己的client容易用


页首
 用户资料  
 
5 楼 
 文章标题 : Re: [原创] Configure OpenVPN on Ubuntu
帖子发表于 : 2008-11-21 20:56 
头像

注册: 2006-02-10 16:36
帖子: 2656
系统: Xubuntu14.04/Deepin
送出感谢: 13
接收感谢: 25
我运行./vars脚本,但是并没有生成系统变量,所以后续的脚本并不能运行。
可是为什么脚本里面的export指令不能生成系统变量呢?真的是好奇怪!我直接运行export命令就可以生成系统变量,为什么脚本里面的不起作用呢?


_________________
友帮拓,真难听。有没有接触官方的老大?给改了吧!
一直想找一个在linux下的Visual FoxPro/access桌面数据库。MUIBase还算是最相近的。


页首
 用户资料  
 
6 楼 
 文章标题 : Re: [原创] Configure OpenVPN on Ubuntu
帖子发表于 : 2008-12-26 9:29 

注册: 2007-01-12 13:23
帖子: 13
送出感谢: 0 次
接收感谢: 0 次
按照楼主的说明,执行到 ./vars时,出现:
NOTE: if you run ./clean-all,I will be doing a rm -rf on /home/ss/keys
这条信息,我的主目录是/home/ss,以后的./clean-all,./build-ca都没法执行,和5楼所说的情况类似

不知大家有无解决方法?


页首
 用户资料  
 
7 楼 
 文章标题 : Re: [原创] Configure OpenVPN on Ubuntu
帖子发表于 : 2008-12-26 11:27 

注册: 2007-01-12 13:23
帖子: 13
送出感谢: 0 次
接收感谢: 0 次
行了,用sh . vars,这样就可以了


页首
 用户资料  
 
8 楼 
 文章标题 : Re: [原创] Configure OpenVPN on Ubuntu
帖子发表于 : 2009-01-04 12:59 
头像

注册: 2006-11-08 13:02
帖子: 243
送出感谢: 1
接收感谢: 0 次
生成VPN CLIENT 证书的命令已经更换为: ./pkitool client
最好参考wiki 里面的吧 :em01 希望下次有写明版本号。


_________________
简简单单的生活,自自然然的我~www.3gcomet.com


页首
 用户资料  
 
9 楼 
 文章标题 : Re: [原创] Configure OpenVPN on Ubuntu
帖子发表于 : 2009-02-09 15:04 
头像

注册: 2007-05-06 21:17
帖子: 362
送出感谢: 0 次
接收感谢: 0 次
mark :em06


页首
 用户资料  
 
10 楼 
 文章标题 : Re: [原创] Configure OpenVPN on Ubuntu
帖子发表于 : 2009-02-10 17:59 

注册: 2007-05-19 16:24
帖子: 200
送出感谢: 0 次
接收感谢: 0 次
收藏!


_________________
9981 学习的过程
http://abcde.blog.ubuntu.org.cn/
blog上的都是原来学习时的记录,现在来看,还需重新整理
ubuntu-server-8.04-lts
我想在日常的工作和生活中应该更多的使用linux
绝对新手
学以致用


页首
 用户资料  
 
11 楼 
 文章标题 : Re: [原创] Configure OpenVPN on Ubuntu
帖子发表于 : 2009-04-08 15:43 
头像

注册: 2006-02-10 16:36
帖子: 2656
系统: Xubuntu14.04/Deepin
送出感谢: 13
接收感谢: 25
还是不太清楚,举这样一个例子,哪位给说明一下。
一、现状
一个办公网络,ip地址从192.168.0.1~~192.168.0.12。通过一个网关连接到互联网,网关内部IP地址为192.168.0.99,外部IP地址为123.8.7.14,网关上安装的ubuntu server版。目前办公网络内部计算机都可以相互访问,并且都可以访问互联网。
二、目的
想在外地的两个计算机可以连接到这个办公网络,与目前的计算机可以相互访问,不影响目前办公网络的使用。

请具体讲述一下究竟应该修改配置文件中的哪些内容?
server端如何修改,client端如何修改?
使用dev tun设备是不是还要安装什么软件包?


_________________
友帮拓,真难听。有没有接触官方的老大?给改了吧!
一直想找一个在linux下的Visual FoxPro/access桌面数据库。MUIBase还算是最相近的。


页首
 用户资料  
 
12 楼 
 文章标题 : Re: [原创] Configure OpenVPN on Ubuntu
帖子发表于 : 2009-04-09 8:05 
头像

注册: 2006-02-10 16:36
帖子: 2656
系统: Xubuntu14.04/Deepin
送出感谢: 13
接收感谢: 25
顶,求解


_________________
友帮拓,真难听。有没有接触官方的老大?给改了吧!
一直想找一个在linux下的Visual FoxPro/access桌面数据库。MUIBase还算是最相近的。


页首
 用户资料  
 
13 楼 
 文章标题 : Re: [原创] Configure OpenVPN on Ubuntu
帖子发表于 : 2009-04-09 14:06 

注册: 2007-08-01 20:56
帖子: 10
送出感谢: 0 次
接收感谢: 0 次
psukk 写道:
按照楼主的说明,执行到 ./vars时,出现:
NOTE: if you run ./clean-all,I will be doing a rm -rf on /home/ss/keys
这条信息,我的主目录是/home/ss,以后的./clean-all,./build-ca都没法执行,和5楼所说的情况类似

不知大家有无解决方法?


执行
代码:
source vars


页首
 用户资料  
 
14 楼 
 文章标题 : Re: [原创] Configure OpenVPN on Ubuntu
帖子发表于 : 2009-04-10 9:34 
头像

注册: 2006-02-10 16:36
帖子: 2656
系统: Xubuntu14.04/Deepin
送出感谢: 13
接收感谢: 25
百草谷居士 写道:
还是不太清楚,举这样一个例子,哪位给说明一下。
一、现状
一个办公网络,ip地址从192.168.0.1~~192.168.0.12。通过一个网关连接到互联网,网关内部IP地址为192.168.0.99,外部IP地址为123.8.7.14,网关上安装的ubuntu server版。目前办公网络内部计算机都可以相互访问,并且都可以访问互联网。
二、目的
想在外地的两个计算机可以连接到这个办公网络,与目前的计算机可以相互访问,不影响目前办公网络的使用。

请具体讲述一下究竟应该修改配置文件中的哪些内容?
server端如何修改,client端如何修改?
使用dev tun设备是不是还要安装什么软件包?

顶,求解。


_________________
友帮拓,真难听。有没有接触官方的老大?给改了吧!
一直想找一个在linux下的Visual FoxPro/access桌面数据库。MUIBase还算是最相近的。


页首
 用户资料  
 
15 楼 
 文章标题 : Re: [原创] Configure OpenVPN on Ubuntu
帖子发表于 : 2009-07-17 22:42 

注册: 2009-02-16 15:24
帖子: 67
送出感谢: 0 次
接收感谢: 0 次
狂顶!虽然我的好像没有成功!


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 36 篇帖子 ]  前往页数 1, 2, 3  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


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

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

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