前言
最近需要在debian12上搭建OpenVPN服务器,很简单,但是为了后续使用,记录一下踩坑过程。
安装及配置过程
安装easy-rsa创建证书等
更新系统。
apt update
apt upgrade -y
安装easy-rsa。
apt install easy-rsa -y
Easy-RSA 用于生成 SSL/TLS 证书,供 OpenVPN 使用。
make-cadir /opt/easy-rsa
cd /opt/easy-rsa
结果如下:
按照自己的需求修改vars文件。
在 vars 文件修改完成后,执行以下命令来初始化 PKI:
./easyrsa init-pki
结果如下:
生成 CA 证书:
./easyrsa build-ca
结果如下:
生成 OpenVPN 服务器的证书:
./easyrsa build-server-full server nopass
结果如下:
生成OpenVPN客户端证书:
./easyrsa build-client-full client1 nopass
结果如下:
生成 Diffie-Hellman 参数,用于加密交换:
./easyrsa gen-dh
结果如下:
安装openvpn服务器
安装openvpn服务器
apt install openvpn -y
安装成功之后,复制 OpenVPN 示例配置文件到 /etc/openvpn/ 目录。
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/
修改配置文件/etc/openvpn/server.conf,这里我们只需要修改以下几项即可,其他选项的具体意义可根据自己修改。
port 1194
proto udp
dev tun
ca /opt/easy-rsa/pki/ca.crt
cert /opt/easy-rsa/pki/issued/server.crt
key /opt/easy-rsa/pki/private/server.key
dh /opt/easy-rsa/pki/dh.pem
server 10.8.0.0 255.255.255.0
keepalive 10 120
user nobody
group nogroup
persist-key
persist-tun
verb 3
comp-lzo yes
启动并启用 OpenVPN 服务器:
systemctl start openvpn@server
systemctl enable openvpn@server
结果如下:
至此openvpn的服务段搭建完毕,接下来需要配置防火墙,放行相关服务。
确保允许OpenVPN使用的端口(例如,1194),并且启用了IP转发。如果没有安装ufw,使用如下命令安装。
apt install ufw -y
然后配置防火墙。
ufw allow 1194/tcp
ufw allow OpenSSH
ufw enable
编辑 /etc/sysctl.conf 文件,确保取消注释 net.ipv4.ip_forward=1 这一行,然后执行。
sysctl -p
使用 ufw,还需要配置NAT规则。在 /etc/ufw/before.rules 文件中添加以下内容:
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.8.0.0/8 ! -d 10.8.0.0/8 -j MASQUERADE
COMMIT
如下:
然后重新加载 ufw 配置:
ufw reload
安装openvpn客户端
windows客户端安装
从openvpn官网下载客户端工具,下载之后默认安装就行。
安装成功之后复制之前用easy-rsa创建的客户端证书拷贝到默认安装目录的config目录下。
本例中的文件所在目录为
然后创建virtvpn.ovpn文件,内容如下:
client
dev tun
proto udp
remote 192.168.5.92 1194
resolv-retry infinite
nobind
ca ca.crt
cert client1.crt
key client1.key
verb 3
persist-key
comp-lzo
其中remote后面的IP改成自己OpenVPN服务器的IP地址,然后直接连接即可。
可以通过ping或者ssh连接测试VPN的连通性。
linux客户端安装
安装linux客户端。
apt install openvpn -y
同样复制下面三个文件到/etc/openvpn目录下。
创建/etc/openvpn/client.conf文件,内容如下:
client
dev tun
proto udp
remote 192.168.5.92 1194
resolv-retry infinite
nobind
ca ca.crt
cert client1.crt
key client1.key
verb 3
persist-key
comp-lzo
保存之后可以启动客户端了。
systemctl start openvpn@client
如果要开机自启动,使用
systemctl enable openvpn@client
启动成功之后,通过ping测试连通性。
评论前必须登录!
注册