本文将介绍如何配置OpenVPN客户端的配置文件。在Windows系统中,该配置文件一般叫做client.ovpn;在Linux/BSD系统中,该配置文件一般叫做client.conf。虽然配置文件名称不同,但其中的配置内容与配置方法却是相同的。
本文根据官方提供的client.ovpn示例文件直接翻译得出。Windows、Linux、BSD等系统的客户端配置文件均可参考本文。你可以点击查看OpenVPN服务器端的配置文件说明。
############################################## # 针对多个客户端的OpenVPN 2.0 的客户端配置文件示例 # # 该配置文件可以被多个客户端使用,当然每个客户端都应该有自己的证书和密钥文件 # # 在Windows上此配置文件的后缀应该是".ovpn",在Linux/BSD系统中则是".conf" ############################################## # 指定这是一个客户端,我们将从服务器获取某些配置文件指令 client # 在大多数系统中,除非你部分禁用或者完全禁用了TUN/TAP接口的防火墙,否则VPN将不起作用。 ;dev tap dev tun # 在Windows系统中,如果你想配置多个隧道,则需要该指令。 # 你需要用到网络连接面板中TAP-Win32适配器的名称(例如"MyTap")。 # 在XP SP2或更高版本的系统中,你可能需要禁用掉针对TAP适配器的防火墙。 ;dev-node MyTap # 指定连接的服务器是采用TCP还是UDP协议。 # 这里需要使用与服务器端相同的设置。 ;proto tcp proto udp # 指定服务器的主机名(或IP)以及端口号。 # 如果有多个VPN服务器,为了实现负载均衡,你可以设置多个remote指令。 remote my-server- ;remote my-server- # 如果指定了多个remote指令,启用该指令将随机连接其中的一台服务器, # 否则,客户端将按照指定的先后顺序依次尝试连接服务器。 ;remote-random # 启用该指令,与服务器连接中断后将自动重新连接,这在网络不稳定的情况下(例如:笔记本电脑无线网络)非常有用。 resolv-retry infinite # 大多数客户端不需要绑定本机特定的端口号 nobind # 在初始化完毕后,降低OpenVPN的权限(该指令仅限于非Windows系统中使用) ;user nobody ;group nobody # 持久化选项可以尽量避免访问在重启时由于用户权限降低而无法访问的某些资源。 persist-key persist-tun # 如果你是通过HTTP代理方式来连接到实际的VPN服务器,请在此处指定代理服务器的主机名(或IP)和端口号。 # 如果你的代理服务器需要身份认证,请参考官方手册页面。 ;http-proxy-retry # 连接失败时自动重试 ;http-proxy [proxy server] [proxy port #] # 无线网络通常会产生大量的重复数据包。设置此标识将忽略掉重复数据包的警告信息。 ;mute-replay-warnings # SSL/TLS 参数配置。 # 更多描述信息请参考服务器端配置文件。 # 最好为每个客户端单独分配.crt/.key文件对。 # 单个CA证书可以供所有客户端使用。 ca ca.crt cert client.crt key client.key # 指定通过检查证书的nsCertType字段是否为"server"来验证服务器端证书。 # 这是预防潜在攻击的一种重要措施。 # # 为了使用该功能,你需要在生成服务器端证书时,将其中的nsCertType字段设为"server" # easy-rsa文件夹中的build-key-server脚本文件可以达到该目的。 ns-cert-type server # 如果服务器端使用了tls-auth密钥,那么每个客户端也都应该有该密钥。 ;tls-auth ta.key # 指定密码的加密算法。 # 如果服务器端启用了cipher指令选项,那么你必须也在这里指定它。 ;cipher x # 在VPN连接中启用压缩。 # 该指令的启用/禁用应该与服务器端保持一致。 comp-lzo # 设置日志文件冗余级别(~)。 # 表示静默运行,只记录致命错误。 # 表示合理的常规用法。 # 和 可以帮助调试连接错误。 # 表示极度冗余,输出非常详细的日志信息。 verb # 忽略过多的重复信息。 # 相同类别的信息只有前20条会输出到日志文件中。 ;mute
作者:软件指南针(http://www.softown.cn),转载请保留出处!