OpenVPN的配置文件是用来配置OpenVPN服务器或客户端的,通常以.ovpn为文件扩展名,以下是一个典型的OpenVPN服务器配置文件的结构和内容示例:
# 定向名:指定接口名称(例如eth)
# 注意:在某些系统上可能需要使用tun或其他接口名称
public-key-file server.key
cert-file server.crt
private-key-file server.key
ca-file server.ca
# 端口号,默认为1194
port 1194
# 协议版本,默认为v4(TCP)
protocol v4
# 心跳包,单位为秒,默认为60
keepalive 60 180
# DNAT设置:将OpenVPN服务器的IP转发到本地网络
# 192.168.1./24是内部网络的子网
dhcp-range 192.168.1. 192.168.1.255 255.255.255.,192.168.1.1
# 服务器的IP地址(外部可达)
iface default
peer 192.168.1.1
permitted-peer-domain .1
server
route 192.168.1. 192.168.1.1
# 防火墙设置(Linux)
firewall-nat
src 10.../24
dst 192.168.1./24
action nat
firewall2
script "/etc/openvpn/firewall.sh"
# 根据系统的防火墙工具(如iptables)进行配置
配置文件的主要部分:
- 定向名:指定OpenVPN接口的名称。
- 证书和密钥:指定服务器的私钥文件、证书文件以及CA证书文件。
- 端口号:指定OpenVPN监听的端口号,默认为
1194。 - 协议:选择使用TCP(v4)或UDP(v6)协议,默认为
v4。 - 心跳包:设置心跳包的发送频率,用于保持连接活跃。
- DNAT设置:配置网络地址转换(NAT),允许客户端访问内部网络。
- 防火墙设置:配置防火墙规则,确保OpenVPN流量能正确通过。
生成证书和密钥:
在配置文件中使用证书和密钥前,需要先生成它们,以下是生成命令示例:
# 生成私钥(2048位) openssl genrsa -out server.key 2048 # 生成证书签名(CA) openssl x509 -req -sign -out server.crt -in server.csr -key server.key # 生成CA证书 openssl x509 -sign -out server.ca -in ca.csr -key ca.key
注意事项:
- 确保证书和私钥文件的路径正确。
- 在生成私钥时,请确保不公开私钥文件。
- 配置好防火墙规则,确保OpenVPN流量能通过。
- 根据网络环境调整端口号和协议(如果需要)。
如果您是OpenVPN客户端,配置文件的结构类似,但会包含连接到服务器的信息,以下是一个客户端配置文件的示例:
# 客户端配置文件示例:client.ovpn
# 定向名:指定接口名称(例如eth)
public-key-file client.key
cert-file client.crt
private-key-file client.key
ca-file server.ca
# 服务器地址和端口号
remote 192.168.1.1 1194
# 心跳包设置
keepalive 10 30
# DNS设置(可选)
dhcp-option DNS 192.168.1.1
# 防火墙设置(Linux)
firewall-nat
src 10.../24
dst 192.168.1./24
action nat
常见问题:
- 证书加载失败:确保证书和私钥文件的路径正确,且文件名和配置文件中的名称一致。
- 防火墙规则错误:检查防火墙规则,确保OpenVPN流量能正确转发。
- 协议或端口错误:根据网络环境调整协议和端口号,确保防火墙允许相应的端口。
如果您遇到问题,可以检查OpenVPN的日志文件,查看错误信息并根据日志调整配置。









