软件指南针:专注于软件传播与分享

创建服务器和客户端配置文件 (OpenVPN官方文档)

来源:原创 2398次浏览 0条评论
☞ 本文主要介绍软件OpenVPN的相关内容:创建服务器和客户端配置文件 (OpenVPN官方文档)

   其下列版本/分支可以参考本文:

  • 全部版本/分支
英文原文:http://openvpn.net/index.php/open-source/documentation/howto.html#config

创建服务器和客户端配置文件

取得示例配置文件

最好使用OpenVPN示例配置文件作为你的配置起点。

这些文件可以在下列地方找到:

  • OpenVPN源代码版的sample-config-files目录。
  • 如果你是通过RPM或DEB来安装OpenVPN,则为/usr/share/doc/packages/openvpn/usr/share/doc/openvpn中的sample-config-files目录。
  • Windows系统中的【开始】->【所有程序】->【OpenVPN】->【Shortcuts】->【OpenVPN Sample Configuration Files】,也就是OpenVPN安装路径/sample-config目录。

注意,在Linux、BSD或类Unix系统中,示例配置文件叫做server.confclient.conf。在Windows中叫做server.ovpnclient.ovpn

编辑服务器端配置文件

服务器端配置文件示例是OpenVPN服务器端配置的最佳起始点。

该示例配置将使用一个虚拟的TUN网络接口(路由模式),在UDP端口1194(OpenVPN的官方端口号)监听远程连接,并从子网10.8.0.0/24中为连接的客户端分配虚拟地址。

在使用示例配置文件之前,你应该先编辑ca、cert、key、dh参数,将它们分别指向前面PKI部分生成的对应文件。

此时,服务器端配置文件是可用的,但你仍然可以进一步自定义该文件:

  • 如果你使用的是以太网桥接模式,你必须使用server-bridgedev tap指令来替代serverdev tun指令。
  • 如果想让你的OpenVPN服务器监听一个TCP端口,而不是UDP端口,请使用proto tcp替代proto udp(如果你想同时监听UDP和TCP端口,你必须启动两个单独的OpenVPN实例)。
  • 如果你想使用10.8.0.0/24范围之外的虚拟IP地址,你应该修改server指令。记住,虚拟IP地址范围必须是一个你当前网络未使用的私有范围。
  • 如果你想让通过VPN连接的客户端和客户端之间能够互访,请启用client-to-client指令(去掉注释)。默认情况下,客户端只能够访问服务器。
  • 如果你正在使用Linux、BSD或类Unix操作系统,你可以使启用user nobodygroup nobody指令来提高安全性。

如果你想要在同一计算机上运行多个OpenVPN实例,每一个示例都应该使用不同的配置文件。可能存在下列情形:

  • 每个示例使用不同的端口号(UDP和TCP协议使用不同的端口空间,因此你可以运行一个后台进程并同时监听UDP-1194和TCP-1194)。
  • 如果你使用的是Windows系统,每个OpenVPN配置都需要有自己的TAP-Windows适配器。你可以通过【开始】->【所有程序】->【TAP-Windows】->【Add a new TAP-Windows virtual ethernet adapter】来添加一个额外的适配器。
  • 如果你运行多个相同目录的OpenVPN实例,请确保编辑那些会创建输出文件的指令,以便于多个实例不会覆盖掉对方的输出文件。这些指令包括loglog-appendstatusifconfig-pool-persist

编辑客户端配置文件

客户端配置示例文件(在Linux/BSD/Unix中为client.conf,在Windows中为client.ovpn)参照了服务器配置示例文件的默认指令设置。

  • 与服务器配置文件类似,首先编辑cacertkey参数,使它们指向前面PKI部分生成的对应文件。注意,每个客户端都应该有自己的证书/密钥对。只有ca文件是OpenVPN和所有客户端通用的。
  • 下一步,编辑remote指令,将其指向OpenVPN服务器的主机名/IP地址和端口号(如果你的OpenVPN服务器在防火墙或NAT网关之后的单网卡机器上运行,请使用网关的公共IP地址,和你在网关中配置的转发到OpenVPN服务器的端口号)。
  • 最后,请确保客户端配置文件和用于服务器配置的指令保持一致。主要检查dev(dev或tap)和proto(udp或tcp)指令是否一致。此外,如果服务器和客户端配置文件都使用了comp-lzofragment指令,也需要保持一致。

作者:软件指南针(http://www.softown.cn),转载请保留出处!

用户评论

使用指南 故障排除 0 返回顶部