在数字化时代,家庭云服务器已经成为许多技术爱好者和家庭用户的首选。它不仅能帮助你轻松存储和共享文件,还能实现远程访问,让你的数据随时随地触手可及。而OpenVPN则提供了安全可靠的远程访问解决方案。本文将详细介绍如何轻松搭建家庭云服务器,并安全使用OpenVPN进行远程访问。
准备工作
在开始之前,你需要以下准备工作:
- 硬件设备:一台电脑或服务器,推荐配置为双核CPU、4GB内存、500GB硬盘。
- 操作系统:推荐使用Ubuntu 20.04 LTS,因为它对OpenVPN支持良好。
- 网络环境:确保你的网络环境可以访问公网,且公网IP地址固定。
步骤一:安装和配置服务器
- 安装Ubuntu 20.04 LTS:从官网下载Ubuntu 20.04 LTS镜像,并使用USB或DVD安装到硬件设备上。
- 更新系统:打开终端,执行以下命令更新系统:
sudo apt update sudo apt upgrade - 安装必要软件:安装Samba、SSH和OpenVPN等软件,以便于文件共享、远程登录和安全访问。
sudo apt install samba samba-common samba-client samba-dsdb-modules openvpn
步骤二:配置Samba共享
- 创建共享目录:在服务器上创建一个共享目录,例如
/home/user/share。 - 配置Samba:编辑Samba配置文件
/etc/samba/smb.conf,添加以下内容:[global] workgroup = WORKGROUP [share] path = /home/user/share valid users = user browsable = yes writable = yes - 重启Samba服务:执行以下命令重启Samba服务:
sudo systemctl restart smbd
步骤三:配置SSH
- 修改SSH配置:编辑SSH配置文件
/etc/ssh/sshd_config,禁用密码登录,并允许Root登录:PermitRootLogin yes PasswordAuthentication no - 重启SSH服务:执行以下命令重启SSH服务:
sudo systemctl restart ssh
步骤四:配置OpenVPN
- 生成CA证书:执行以下命令生成CA证书:
sudo openssl req -x509 -newkey rsa:4096 -keyout ca.key -out ca.crt -days 3650 - 生成服务器证书和私钥:执行以下命令生成服务器证书和私钥:
sudo openssl req -new -key ca.key -out server.crt -days 3650 - 生成客户端证书和私钥:执行以下命令生成客户端证书和私钥:
sudo openssl req -new -key ca.key -out client1.crt -days 3650 - 配置OpenVPN:编辑OpenVPN配置文件
/etc/openvpn/server.conf,添加以下内容:port 1194 ca ca.crt cert server.crt key ca.key dh dh2048.pem server 10.8.0.0 255.255.255.0 push "route 192.168.1.0 255.255.255.0" keepalive 10 120 comp-lzo user nobody group nogroup - 生成DH参数:执行以下命令生成DH参数:
sudo openssl dhparam 2048 -out dh2048.pem - 重启OpenVPN服务:执行以下命令重启OpenVPN服务:
sudo systemctl restart openvpn@server
步骤五:客户端配置
- 导入证书:将服务器生成的
ca.crt、server.crt和server.key导入到客户端。 - 配置OpenVPN客户端:编辑客户端配置文件
client.ovpn,添加以下内容:client dev tun proto udp remote <服务器公网IP> 1194 resolv-retry infinite nobind user nobody group nogroup ca ca.crt cert client.crt key client.key comp-lzo - 连接OpenVPN:执行以下命令连接OpenVPN:
openvpn --config client.ovpn
总结
通过以上步骤,你已经在家庭服务器上成功搭建了云服务器,并配置了OpenVPN实现安全远程访问。现在,你可以随时随地通过OpenVPN连接到家庭服务器,享受安全、便捷的远程访问体验。
