-
安装OpenVPN服务器:
- 在Ubuntu系统中,通过终端输入命令安装OpenVPN:
sudo apt-get install openvpn
- 按照提示输入密码,完成安装。
- 在Ubuntu系统中,通过终端输入命令安装OpenVPN:
-
生成服务器密钥和证书:
- 生成密钥:
sudo openvpn --genkey --secret --keypid-file=/etc/openvpn/server.key
- 生成证书:
sudo openvpn --gen-cert --keypid-file=/etc/openvpn/server.pem --signer-key /etc/openvpn/server.key
- 生成完成后,密钥和证书位于
/etc/openvpn/文件夹。
- 生成密钥:
-
配置OpenVPN服务器:
-
打开或创建配置文件
server.conf:sudo nano /etc/openvpn/server.conf
-
# 设定OpenVPN的接口为tun dev tun # 设置协议版本 proto 2 # 使用UDP协议 dev_type udp # 服务器IP和端口 iface default # 服务器IP地址,根据实际情况配置 ifaces-vpn 192.168.4.1 # 启用IPv4路由 push "ROUTE" push "IPv4" push "IPv6" push "DNAT" # 设置服务器为只响应客户端 max_clients 100 # 客户端必须认证 authentication-server # 服务器和客户端保持活跃状态 keepalive 10
-
-
设置防火墙:
- 使用iptables防火墙:
sudo iptables -A INPUT -p udp --dport 1194 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 1194 -j ACCEPT sudo iptables -A OUTPUT -p udp --dport 1194 -j ACCEPT sudo iptables -A OUTPUT -p tcp --dport 1194 -j ACCEPT sudo iptables -A FORWARD -i tun+ -o tun+ -j ACCEPT sudo iptables -A FORWARD -i eth -o eth -j ACCEPT sudo iptables -A FORWARD -i eth -o tun+ -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i tun+ -o eth -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A POSTROUTING -o eth -j ACCEPT
- 保存iptables规则:
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
- 使用iptables防火墙:
-
启动OpenVPN服务:
- 启动服务:
sudo systemctl start openvpn@server.service
- 设置开机启动:
sudo systemctl enable openvpn@server.service
- 启动服务:
-
生成客户端配置文件:
- 使用以下命令生成客户端配置文件:
sudo openvpn --gen-key --secret --key-file /etc/openvpn/server.key --out /path/to/client.ovpn
- 打开生成的
client.ovpn文件:nano /path/to/client.ovpn
- 添加以下内容:
client cert /path/to/server.pem key /path/to/server.key remote 192.168.4.1 1194
- 使用以下命令生成客户端配置文件:
-
连接客户端:
- 在客户端系统上安装OpenVPN客户端(如OpenVPN Connect)。
- 使用生成的
client.ovpn文件连接到服务器,输入用户名和密码。
-
测试连接:
- 在客户端终端中启动OpenVPN,并根据提示输入用户名和密码。
- 成功连接后,输入
ifup down查看连接状态。
-
检查日志文件:
- 查看OpenVPN服务器日志:
tail -f /var/log/openvpn/server.log
- 查看OpenVPN服务器日志:
通过以上步骤,您可以成功配置并运行OpenVPN服务器,确保客户端能够安全地连接到服务器。




