欢迎您来到腾讯云!积分商城

腾讯云腾讯云论坛

 找回密码
 立即注册
快捷导航
搜索
查看: 111044|回复: 64

[经验分享] 如何搭建openvpn服务器

  [复制链接]

8

主题

0

好友

223

积分

小白[LV1]

Rank: 1

云币
423
威望
223
发表于 2015-2-11 11:14:22 |显示全部楼层 |未分类
如何搭建openvpn

一.什么是openvpn
Openvpn是一款基于openssl的开源vpn软件,它可以很好的运行在linux及windows各发行版本中,它的核心技术是虚拟网卡,其实它更像是一个底层的网卡驱动软件,安装完成后会在主机上多出一块虚拟网卡。Openvpn属于c/s架构,想要实现vpn连接必须要在server端和客户端都进行正确的网络配置,配置完成后虚拟网卡就可以像其他网卡一样配置并接收来自应用层软件的数据包请求

二.怎么搭建openvpn
Openvpn在各操作系统中的搭建大同小异,其实都是安装软件、制作证书、修改配置文件、启动连接的过程,本文对具体的安装步骤不再赘述,在网上都能找到详细的安装步骤,只对安装过程中几个重要的点进行说明
Ø  如果yum安装的openvpn软件不带easy-rsa目录,将不能进行证书制作及发放,需要再次手动安装easy-rsa包,然后进行证书制作及发放
Ø  制作证书的过程中输入的证书密码一定要牢记,将来在客户端连接的时候会用到
Ø  制作证书的过程一共需要以下证书
ca.crt   根证书
server.crt   服务器证书
server.key   服务器key文件
dh.pem   验证文件(不同版本文件名可能不同如dh1024.pem)
client.crt   客户端证书(名字可自定义)
client.key   客户端key文件(名字可自定义)
Ø  每一个版本的openvpn都提供了示例配置文件,在openvpn安装目录的/sample/sample-config-files下,服务器端的示例配置文件是server.conf,客户端在windows下的示例配置文件是client.ovpn,需要将它们拷贝到对应的config目录进行配置,一定要注意server端和client端的配置文件一定要一致,如都配置tcp模式,网卡都配置tun模式等,如果不一致会出现连接不上的情况
Ø  服务器端还要注意防火墙的控制,要放通对应的端口,一般默认的端口是1194
Ø  Windows下安装完后既可以作为server端也可以作为客户端,一般都是windows作为客户端。Windows客户端需要根据操作系统版本进行选择,32位和64位一定要选择不同的客户端,否则将会出现虚拟网卡驱动不能安装创建不了虚拟网卡的情况
Windows32位客户端下载地址:http://pan.baidu.com/s/1sj8vrCp
Windows64位客户端下载地址:http://pan.baidu.com/s/1gdrKDVl
如果搭建及配置的过程没有问题,客户端也配置正确,至此客户端基本就可以连接成功了,连接成功后在客户端和服务器端都会多出一块虚拟网卡

1.png

2.png
如果在客户端能ping通服务器端的地址,那就说明搭建成功了,但是到此仅仅是完成了第一步搭建工作,接下来仍需要配置需要让客户端能通过server端进行代理通信

三.Openvpn网络配置
Openvpn有两种常用的网络配置方式,第一种是路由模式,在这种模式下openvpn server就相当于一台网关设备;第二种是nat模式,在这种模式下openvpn server就相当于一台nat防火墙设备。要根据自己的业务模型选择适合的网络配置方式,下面分别介绍两种模式是如何实现的。
Ø  路由模式
假如有一批服务器,它们处于同一网段,那么这种情况就是试用在路由模式,因为路由模式下主要是需要在其他机器上添加到openvpn server的回程路由,将openvpnserver作为一台网关设备,因此如果不在同一网段将会导致无法添加回程路由。腾讯云的主机在现阶段的架构下暂时无法做到自定义网段,因此服务器的IP可能都不在同一网段,路由模式将不适用,所以不做过多介绍
Ø  Nat模式
在nat模式下,openvpn server接到客户端通过vpn虚拟网卡发来的包通过iptables将其转换为自己网卡所在网段的包,然后再寻址转发,回程的包也是一样先转换成vpn网段的包然后再转发给客户端,这样就实现了代理通信,这种方式在腾讯云服务器上试用。Windows服务器上可以通过路由和远程访问服务来设置nat
在linux服务器下,配置路由转发特别简单,在服务器上开启路由转发并用iptables启用转发即可
sysctl -w net.ipv4.ip_forward=1    //开启路由转发
iptables –t nat -A POSTROUTING -j MASQUERADE      //iptables设置nat转发
     
这样,一台基本的nat模式openvpn服务器就假设成功,赶紧用客户端连接试试吧

四.常见openvpn问题排查
Ø   Openvpn服务无法启动
检查server.conf配置文件,ca、cert、key、dh四个文件路径及文件名是否正确,最好用绝对路径写,检查这几个文件是否都存在,如果不存在,从头再来制作一次吧
Ø  客户端无法连接openvpn服务器
a.       检查server端服务是否正常启动,端口是否在监听
b.       在客户端telnet服务器的openvpn监听端口,检查是否通
c.       检查服务器iptables设置,是否关闭或放通openvpn使用的端口
d.       检查客户端配置文件,是否和服务器端配置一致且使用正确的服务器IP
Remote 服务器公网IP 端口
e.       如果以上都不行,在openvpn客户端安装目录下找到log文件夹进去看看日志吧
Ø  客户端连接成功但是无法上网
这种问题多半是客户端路由配置不对引起,可以route print检查一下路由表信息,默认路由0.0.0.0所在网关是否是vpn服务器。在openvpn服务器端server.conf配置文件里可以下发路由和默认网关以及dns配置到客户端分别对应如下配置
push "route 10.251.134.186 255.255.255.255"  //如这条配置可以将10.251.134.186这条主机路由添加到客户端,如果需要多条路由,逐行添加即可
push "dhcp-option DNS 114.114.114.114"     //推送dns配置到客户端
push "redirect-gateway def1 bypass-dhcp"   //推送默认路由到客户端
         以上配置根据需要自行添加,如需要代理上网就推送默认路由加dns到客户端,如需要通过内网地址管理服务器就推送服务器内网地址路由到客户端。修改完配置文件记得重启openvpn服务
Ø  客户端连接成功可以登录qq但是无法上网
这种典型的是dns设置没有推送过来,打开电脑的openvpn网卡设置,添加一条localdns服务器记录即可


-------------------------------------------------------------------------------------------

赞与谢,及时收割

如果本篇文章对您有用,请您小手一抖,给予我们最好的鼓励~~

如果本篇文章对您有用,请您小手一抖,给予我们最好的鼓励~~.png

426

主题

85

好友

5488

积分

资深攻城师[LV4]

Rank: 4

云币
1869
威望
5488
发表于 2015-2-11 11:56:13 |显示全部楼层
赞楼主的分享
回复

使用道具 举报

0

主题

0

好友

266

积分

程序猿[LV2]

Rank: 2Rank: 2

云币
229
威望
67
发表于 2015-2-24 14:59:33 |显示全部楼层
写得确实不错,值得分享
回复

使用道具 举报

8

主题

0

好友

223

积分

小白[LV1]

Rank: 1

云币
423
威望
223
发表于 2015-3-1 17:50:05 |显示全部楼层
xxdd2015 发表于 2015-2-24 14:59
写得确实不错,值得分享

~~~~~~~~~~~感谢您的支持
回复

使用道具 举报

0

主题

0

好友

12

积分

小白[LV1]

Rank: 1

云币
7
威望
1
发表于 2015-3-4 23:52:24 来自手机 |显示全部楼层
空间删去的说说,自己看不到了,但别人还可以看到
来自: 微社区
回复

使用道具 举报

48

主题

0

好友

322

积分

程序猿[LV2]

Rank: 2Rank: 2

云币
1330
威望
322
发表于 2015-3-6 12:20:18 |显示全部楼层
不错。。。。.....
回复

使用道具 举报

1

主题

0

好友

23

积分

小白[LV1]

Rank: 1

云币
10
威望
2
发表于 2015-3-6 14:56:28 |显示全部楼层
打开电脑的openvpn网卡设置,添加一条localdns服务器记录即可
回复

使用道具 举报

8

主题

0

好友

223

积分

小白[LV1]

Rank: 1

云币
423
威望
223
发表于 2015-3-16 20:48:38 |显示全部楼层
ImYours 发表于 2015-3-6 14:56
打开电脑的openvpn网卡设置,添加一条localdns服务器记录即可

是的,就是在openvpn的那个网卡里添加一条dns记录即可
回复

使用道具 举报

0

主题

0

好友

12

积分

小白[LV1]

Rank: 1

云币
11
威望
3
发表于 2015-3-19 11:53:43 来自手机 |显示全部楼层
学习,留下下脚步
来自: 微社区
回复

使用道具 举报

0

主题

0

好友

235

积分

小白[LV1]

Rank: 1

云币
575
威望
235
发表于 2015-4-7 11:07:36 |显示全部楼层
非常专业,赞一个!
回复

使用道具 举报

3

主题

0

好友

735

积分

程序猿[LV2]

Rank: 2Rank: 2

云币
2771
威望
735
发表于 2015-4-7 12:32:50 |显示全部楼层
学习学习。。。
回复

使用道具 举报

0

主题

0

好友

4

积分

小白[LV1]

Rank: 1

云币
3
威望
1
发表于 2015-12-13 22:59:56 |显示全部楼层
秦阳 发表于 2015-3-16 20:48
是的,就是在openvpn的那个网卡里添加一条dns记录即可

我按照网上配置的,为啥连不上啊
回复

使用道具 举报

9

主题

6

好友

1973

积分

版主

Rank: 7Rank: 7Rank: 7Rank: 7

云币
2373
威望
1973
发表于 2015-12-20 23:21:57 |显示全部楼层
正准备搭建   多谢分享
回复

使用道具 举报

2

主题

0

好友

54

积分

小白[LV1]

Rank: 1

云币
16
威望
12
发表于 2015-12-31 09:48:23 |显示全部楼层
学习学习,字数字数。。
回复

使用道具 举报

13

主题

2

好友

3835

积分

版主

Rank: 7Rank: 7Rank: 7Rank: 7

云币
2483
威望
3835
发表于 2016-1-6 21:46:02 |显示全部楼层

不错 支持一下。。。。。。。。。。。
回复

使用道具 举报

0

主题

0

好友

64

积分

小白[LV1]

Rank: 1

云币
43
威望
31
发表于 2016-1-18 23:30:05 |显示全部楼层
您好,我搭建的openvpn在ipv4情况下能正常访问,但是我想通过ipv4+openvpn访问ipv6网站,请问该如何设置呢?
回复

使用道具 举报

0

主题

0

好友

82

积分

小白[LV1]

Rank: 1

云币
40
威望
40
发表于 2016-4-15 11:16:23 |显示全部楼层
还是不成功啊,出现以下提示
QQ截图20160415111537.png
回复

使用道具 举报

0

主题

0

好友

44

积分

小白[LV1]

Rank: 1

云币
20
威望
20
发表于 2016-4-16 15:20:56 来自手机 |显示全部楼层
搭建openvpn服务器一个35.教程有视频,包交宝会,50。有意加qq1976497149
来自: 微社区
回复

使用道具 举报

1

主题

0

好友

97

积分

小白[LV1]

Rank: 1

云币
45
威望
45
发表于 2016-4-24 23:04:06 |显示全部楼层
谁能帮忙搭建一下,新手,表示不会搭建苹果云免.807425258
回复

使用道具 举报

0

主题

0

好友

62

积分

小白[LV1]

Rank: 1

云币
30
威望
30
发表于 2016-4-29 16:47:34 |显示全部楼层
现在已经一键搭建了;需要的可以联系我1554527489
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

联系我们|腾讯云平台|积分商城|腾讯云官方论坛    

GMT+8, 2020-5-30 13:38 , Processed in 1.152341 second(s), 36 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部