OpenVPN

来自WFilter上网行为管理系统文档和指南
跳转至: 导航搜索


1 OpenVPN概述

OpenVPN是一个的基于SSL的VPN系统。该模块可以在您的WFilterNGF中启用OpenVPN服务,从而可以组建site-to-site VPN或者从外网用OpenVPN的客户端拨入内网。 WFilter NGF中的OpenVPN包括“服务端”和“客户端”两个模块。

  • 服务端用于开启VPN服务,供其他客户机联入,支持site-to-site的VPN,以及单个客户机的vpn拨入。
  • 客户端用于主动去连接VPN的服务端,以建立site-to-site的VPN。

2 OpenVPN服务端

2.1 服务端配置

WFilter NGF中的OpenVPN采用“证书认证”和“用户名认证”的两种验证机制。

  • 认证方式:支持“证书认证”和“用户名认证”的两种验证机制。
    • 用户名认证(推荐):客户端使用用户名密码拨入。认证账号必须在“账号管理”中配置的账号,且该账号必须有“VPN”的权限才可以登录VPN。
    • 证书认证:客户端利用服务端创建的证书文件拨入。证书认证通过“ca证书+客户端证书”的方式来实现认证,由于涉及到证书的创建和注销,证书认证更适合设备之间的认证。
  • 验证类型:支持“本地验证”、“邮箱验证”、“域验证”和“Radius验证”。本地验证时,需要在账号管理中添加VPN账号。
  • 连接类型和端口:需要和客户端的配置一致。保存后,WFilterNGF的防火墙会自动允许该端口。
  • 通讯网段: WFilterNGF的OpenVPN采用的是子网模式(subnet),OpenVPN单独组建一个网段,该网段不能和现有的内网网段重合。
  • 推送路由:服务端内网网段的定义会被推送到客户机的路由表中,从而让客户机通过VPN来访问服务端内网。格式如:route 192.168.126.0 255.255.255.0

Openvpn settings1.png

2.2 客户端网段

  • 用于定义site-to-site VPN的对端网段。
  • 客户端名称:
    • 对于用户名认证的客户端,客户端名称就是用户名。
    • 证书认证的客户端,可以直接定义客户端名称。
  • 客户端网段用于定义客户端的内网网段,可以为空。格式如:192.168.126.0 255.255.255.0
  • 对大部分情况而已,客户端IP采用“自动获取”就可以。您也可以指定客户端IP地址,从而配置更细致的防火墙权限。
  • 点击“下载”可以下载客户端证书,供证书认证的客户端导入后连接服务端。用户名认证不需要下载证书文件。
  • 点击“生成配置文件”可以下载客户端所需的配置文件。

Openvpn serverclient01.png

2.3 CA证书

  • CA证书设置,需要把该CA证书导入到客户端才可以连接,您也可以点击“重新生成”来生成新的CA证书。
  • 所有可以互相连接的openvpn都需要有同样的CA证书。

Openvpn settings2.png

3 OpenVPN客户端

OpenVPN客户端用于连接OpenVPN服务端,从而建立site-to-site的VPN隧道。

  • 服务端ID:唯一的ID,只能用数字和字母。
  • 服务端地址:OpenVPN的服务端IP或者域名(支持动态域名。支持多服务端负载均衡和备份,每行一个服务端)。
  • 协议类型和端口:需要与服务端的配置一致。
  • 连接方式:直接连接,或者通过一个HTTP代理来连接VPN服务端。
  • 认证方式:
    • 用户名认证:通过用户名和密码进行认证。
    • 证书认证:通过上传证书进行认证。这个证书就是在服务端中创建的客户端证书。

Openvpn clientsettings1.png

  • CA证书:可以查看并导入CA证书,CA证书必须和服务端一样才可以进行通讯,导入的文件应该是crt后缀的文件格式。

Openvpn clientsettings2.png

4 Windows客户端配置

4.1 Windows客户端

  • 安装和下载openvpn客户端:https://openvpn.net/index.php/open-source/downloads.html
  • 在WFilterNGF的“OpenVPN服务端”的“CA证书”中下载证书文件,解压后把ca.crt拷贝到openvpn安装文件夹的config文件夹中。(另存为ca.crt)
  • 点击WFilterNGF的“OpenVPN服务端”的“生成配置文件”,可以生成客户端配置文件。

Openvpn exportconfig.png

4.2 用户名认证

  • 用户名认证的配置文件格式。配置文件需要保存在openvpn的config文件中,格式如下:
client
dev tun
proto udp                   #协议类型,和服务端的配置一致
remote www.imfirewall.com 1194   #服务器的IP地址(或者域名)和端口
nobind
persist-key
persist-tun
ca ca.crt                   #文件名和下载的ca.crt文件名一致
verb 3
auth-user-pass              #用户名认证
client-cert-not-required

4.3 证书认证

  • 证书认证的配置文件格式。配置文件需要保存在openvpn的config文件中,格式如下:
client
dev tun
proto udp                   #协议类型,和服务端的配置一致
remote www.imfirewall.com 1194   #服务器的IP地址(或者域名)和端口
nobind
persist-key
persist-tun
ca ca.crt                   #文件名和下载的ca.crt文件名一致
cert vpnuser.crt            #导出的客户端证书,.crt和.key两个文件。
key vpnuser.key             
verb 3
  • 以管理员身份运行“OpenVPN GUI”程序。输入用户名密码即可登录VPN。如下图:

Openvpn winclient01.png

Openvpn winclient02.png

Openvpn winclient03.png

5 防火墙设置

OpenVPN建立连接后,VPN到内网的访问权限会受到“防火墙策略”的控制。比如,假设您想允许VPN访问所有内网资源,需要在防火墙策略中添加一条允许访问的规则(接口选择“外网”,方向选择“转发”),如:

  • 允许所有到内网的访问

Openvpn firewall01.png

  • 只允许指定内网IP的访问

Openvpn firewall02.png

6 内网的路由表设置

如果是网桥模式的单臂部署VPN,在内网存在三层交换机的情况下,三层交换机需要添加到openvpn网段的路由表,假设openvpn网段是默认的10.8.0.0/24,那么三层交换机上需要设置如下路由表:

目标网段10.8.0.0/24,下一跳地址:WSG的管理口IP。

7 相关链接