找回密码
 立即注册
搜索
热搜: SDN 云计算 H3C
查看: 5337|回复: 0

树莓派CentOS系统下部署OpenVPN 服务端(一)

[复制链接]

39

主题

1

精华

0

回帖

实习版主

体力
178 卡
贡献
40 个
金币
128 枚
注册时间
2020-1-23
最后登录
2024-5-25

活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老最佳新人

发表于 2020-7-2 00:17:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
需求:
希望在公司或咖啡厅等外部环境中,可以访问家里的web服务器或者家里部署的小的实验室环境,为了安全起见,跨互联网采用加密传输方式。由于家里的宽带经常更换公网IP地址,还需要解决公网IP地址的频繁切换对公网访问的不便性。

环境:
1. 一台树莓派3B+(运行CentOS7.7.1908 AltArch )
2. 一台分配了公网IP的宽带路由器

操作系统下载地址:
官方站:http://isoredirect.centos.org/altarch/7.7.1908/isos/armhfp/
华为站:http://mirrors.huaweicloud.com/centos-altarch/7.8.2003/isos/armhfp/
下载此文件:
1.JPG

OpenVPN GitHub地址(推荐openvpn-insall开源项目一键部署,大大降低部署复杂度)
https://github.com/Nyr/openvpn-install

树莓派操作系统安装方法(此处省略)
具体可参考本站文章:树莓派3B+安装CentOS7系统及解决“根分区空间不足”问题
http://www.tenhia.net/forum.php?mod=viewthread&tid=24


树莓派CentOS系统添加EPEL镜像源
1. 进入/etc/yum.repos.d/目录,创建epel.repo文件,并在文件中添加以下内容后保存。
[epel]
name=Epel rebuild for armhfp

baseurl=https://armv7.dev.centos.org/repodir/epel-pass-1/
enabled=1

gpgcheck=0


2. 安装扩展更新包
#yum install epel-release


3. 更新yum源
#yum update
更新yum源非必须步骤,可以不用更新,如果执行此命令后,操作系统及内核会被更新到最新版本,在实验过程中并未执行此操作。

请注意,EPEL镜像源务必添加,否则在后面执行“openvpn-install”脚本过程中,出现部分软件包检索不到无法安装,导致安装过程中各种报错。

树莓派CentOS系统通过openvpn-install脚本一键部署OpenVPN 服务端
部署方式有2种:
(1)参照openvpn github项目手册,执行“wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh”命令。
(2)通过github项目页面将openvpn-install.sh脚本直接下载到,并上传到树莓派,通过chmod -R 777 给此sh脚本执行权限,然后直接运行此sh脚本。

通过第一种方式安装时,有个前提条件:
(1)首先修改/etc/resolv.conf文件中的DNS Server地址,该为8.8.8.8
(2)如果执行上面完整的wget命令时仍提示“raw.github.com”、“raw.githubusercontent.com” 443端口不可达,是因为这两个域名解析时对应多个主机地址,当选择了有问题的主机IP时就会出现443不可达,解决方法是通过在/etc/vhost文件中添加手工DNS映射关系解决,如果仍不行,继续更换域名对应的解析地址,直到成功。
【windows系统下解析域名对应的所有主机地址方法】
#nslookup  raw.github.com  8.8.8.8                //nslookup帮助命令:nslookup /?

第一种方法执行完wget命令后,系统首先会解析对应的域名,并下载openvpn-install.sh文件,并通过bash openvpn-install.sh执行此文件,执行后的安装步骤跟部署方式2完全一样。

openvpn-install.sh一键部署安装过程:
1. 自动化脚本运行后,首先要求输入即将运行openvpn的服务端的公网映射IP地址或域名,针对家庭宽带这种场景,推荐使用域名方式。
This server is behind NAT. What is the public IPv4 address or hostname?
Public IPv4 address / hostname [111.199.98.172]: smp.tenhia.net

2. 选择openvpn使用的通信协议,默认为UDP,推荐使用UDP。
Which protocol should OpenVPN use?
   1) UDP (recommended)
   2) TCP
Protocol [1]:

3. 选择openvpn服务端监听的端口,可根据个人需求填写,不建议使用80、443等web服务,涉及备案问题。
What port should OpenVPN listen to?
Port [1194]: 88888

4. 为openvpn客户端选择DNS Server,此处根据需求自行选择,可以选择1。
Select a DNS server for the clients:
   1) Current system resolvers
   2) Google
   3) 1.1.1.1
   4) OpenDNS
   5) Quad9
   6) AdGuard
DNS server [1]: 1

5. 输入第一个客户端的名字,最后会生成一个客户端配置文件,文件名使用的此处输入的字符。
Enter a name for the first client:
Name [client]: tenhia

6. 按任意键继续安装
OpenVPN installation is ready to begin.
Press any key to continue...

脚本执行过程中注意检查,是否有软件包未查找到或安装过程中报各种错误。
如脚本执行过程中,无任何错误,则表示安装成功。

7. 安装成功后,根据提示在/root/目录下可以看到生成的客户端文件“tenhia.ovpn”。
success
success
success
success
success
success
success
success
success
success
Created symlink from /etc/systemd/system/multi-user.target.wants/openvpn-server@server.service to /usr/lib/systemd/system/openvpn-server@.service.
Finished!
The client configuration is available in: /root/jason.ovpn
New clients can be added by running this script again.


[root@localhost ~]# ls
anaconda-ks.cfg  tenhia.ovpn  openvpn-install.sh  README
[root@localhost ~]#

8. 将“tenhia.ovpn”文件拷贝到安装了openvpn客户端软件的个人电脑上,并将此配置文件导入客户端软件中。
2.JPG

本篇文章《树莓派CentOS系统下部署OpenVPN 服务端(一)》主要介绍了,树莓派运行centos系统下,如何快速部署openvpn服务端。
计划在下一篇文章《树莓派CentOS系统下部署OpenVPN 服务端(二)》中重点介绍下如何解决家庭宽带公网IP频繁更换情况下实现客户端在Internet上便捷访问。

转载,请注明出处“www.tenhia.net”,谢谢!







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

本版积分规则

快速回复 返回顶部 返回列表