“Openvpn”的版本间的差异

来自WFilter上网行为管理系统文档和指南
跳转至: 导航搜索
服务端配置
常见问题
 
(未显示同一用户的51个中间版本)
第3行: 第3行:
 
= OpenVPN概述 =
 
= OpenVPN概述 =
  
* OpenVPN是一个的基于SSL的VPN系统。该模块可以在您的WFilterNGF中启用OpenVPN服务,从而可以从外网用OpenVPN的客户端拨入内网。
+
OpenVPN是一个的基于SSL的VPN系统。该模块可以在您的WFilterNGF中启用OpenVPN服务,从而可以组建site-to-site VPN或者从外网用OpenVPN的客户端拨入内网。
* WFilter NGF中的OpenVPN采用“证书”和“账号验证”的双重验证机制,客户端必须有正确的ca证书和正确的用户名口令才可以登录VPN。
+
WFilter NGF中的OpenVPN包括“服务端”和“客户端”两个模块。
 +
* 服务端用于开启VPN服务,供其他客户机联入,支持site-to-site的VPN,以及单个客户机的vpn拨入。
 +
* 客户端用于主动去连接VPN的服务端,以建立site-to-site的VPN。
  
= 服务端配置 =
+
= OpenVPN服务端 =
* 认证账号:必须在“账号管理”中配置的账号,且该账号必须有“VPN”的权限才可以登录VPN。
+
 
 +
== 服务端配置 ==
 +
WFilter NGF中的OpenVPN采用“证书认证”和“用户名认证”的两种验证机制。
 +
 
 +
* 认证方式:支持“证书认证”和“用户名认证”的两种验证机制。
 +
** 用户名认证(推荐):客户端使用用户名密码拨入。认证账号必须在“账号管理”中配置的账号,且该账号必须有“VPN”的权限才可以登录VPN。
 +
** 证书认证:客户端利用服务端创建的证书文件拨入。证书认证通过“ca证书+客户端证书”的方式来实现认证,由于涉及到证书的创建和注销,证书认证更适合设备之间的认证。
 +
* 验证类型:支持“本地验证”、“邮箱验证”、“域验证”和“Radius验证”。本地验证时,需要在[[account|账号管理]]中添加VPN账号。
 
* 连接类型和端口:需要和客户端的配置一致。保存后,WFilterNGF的防火墙会自动允许该端口。
 
* 连接类型和端口:需要和客户端的配置一致。保存后,WFilterNGF的防火墙会自动允许该端口。
* 客户端网段: WFilterNGF的OpenVPN采用的是子网模式(subnet),OpenVPN单独组建一个网段,该网段不能和现有的内网网段重合。
+
* 通讯网段: WFilterNGF的OpenVPN采用的是子网模式(subnet),OpenVPN单独组建一个网段,该网段不能和现有的内网网段重合。
* 内网网段:内网网段的定义会被推送到客户机的路由表中,从而让客户机通过VPN来访问内网。格式如:'''route 192.168.126.0 255.255.255.0'''
+
* 推送路由:服务端内网网段的定义会被推送到客户机的路由表中,从而让客户机通过VPN来访问服务端内网。格式如:'''route 192.168.126.0 255.255.255.0'''
  
[[文件:openvpn_settings1.png]]
+
[[文件:openvpn_settings1.png|900px]]
  
* CA证书设置,需要把该CA证书下载到客户端才可以连接,您也可以点击“重新生成”来生成新的CA证书。
+
== 客户端网段 ==
  
[[文件:openvpn_settings2.png]]
+
* 用于定义site-to-site VPN的对端网段。
 +
* 客户端名称:
 +
** 对于用户名认证的客户端,客户端名称就是用户名。
 +
** 证书认证的客户端,可以直接定义客户端名称。
 +
* 客户端网段用于定义客户端的内网网段,可以为空。格式如:'''192.168.126.0 255.255.255.0'''
 +
* 对大部分情况而已,客户端IP采用“自动获取”就可以。您也可以指定客户端IP地址,从而配置更细致的防火墙权限。
 +
* 点击“下载”可以下载客户端证书,供证书认证的客户端导入后连接服务端。用户名认证不需要下载证书文件。
 +
* 点击“生成配置文件”可以下载客户端所需的配置文件。
  
= 客户端配置 =
+
[[文件:openvpn_serverclient01.png|750px]]
 +
 
 +
== CA证书 ==
 +
* CA证书设置,需要把该CA证书导入到客户端才可以连接,您也可以点击“重新生成”来生成新的CA证书。
 +
* 所有可以互相连接的openvpn都需要有同样的CA证书。
 +
 
 +
[[文件:openvpn_settings2.png|800px]]
 +
 
 +
= OpenVPN客户端 =
 +
 
 +
OpenVPN客户端用于连接OpenVPN服务端,从而建立site-to-site的VPN隧道。
 +
* 服务端ID:唯一的ID,只能用数字和字母。
 +
* 服务端地址:OpenVPN的服务端IP或者域名(支持动态域名。支持多服务端负载均衡和备份,每行一个服务端)。
 +
* 协议类型和端口:需要与服务端的配置一致。
 +
* 连接方式:直接连接,或者通过一个HTTP代理来连接VPN服务端。
 +
* 认证方式:
 +
** 用户名认证:通过用户名和密码进行认证。
 +
** 证书认证:通过上传证书进行认证。这个证书就是在服务端中创建的客户端证书。
 +
 
 +
[[文件:openvpn_clientsettings1.png|600px]]
 +
 
 +
* CA证书:可以查看并导入CA证书,CA证书必须和服务端一样才可以进行通讯,导入的文件应该是crt后缀的文件格式。
 +
 
 +
[[文件:openvpn_clientsettings2.png|600px]]
 +
 
 +
= Windows客户端配置 =
 
== Windows客户端 ==
 
== Windows客户端 ==
 
* 安装和下载openvpn客户端:https://openvpn.net/index.php/open-source/downloads.html
 
* 安装和下载openvpn客户端:https://openvpn.net/index.php/open-source/downloads.html
* 在WFilterNGF中下载证书文件,并拷贝到openvpn安装文件夹的config文件夹中。(另存为ca.crt)
+
* 在WFilterNGF的“OpenVPN服务端”的“CA证书”中下载证书文件,解压后把ca.crt拷贝到openvpn安装文件夹的config文件夹中。(另存为ca.crt)
* 在openvpn的config文件中,新建配置文件myvpn.ovpn,内容如下:
+
* 点击WFilterNGF的“OpenVPN服务端”的“生成配置文件”,可以生成客户端配置文件。
 +
 
 +
[[文件:openvpn_exportconfig.png|650px]]
 +
 
 +
== 用户名认证 ==
 +
* 用户名认证的配置文件格式。配置文件需要保存在openvpn的config文件中,格式如下:
 
<pre>
 
<pre>
 
client
 
client
 
dev tun
 
dev tun
 
proto udp                  #协议类型,和服务端的配置一致
 
proto udp                  #协议类型,和服务端的配置一致
remote 192.168.1.246 1194  #服务器的IP地址(或者域名)和端口
+
remote www.imfirewall.com 1194  #服务器的IP地址(或者域名)和端口
 
nobind
 
nobind
 
persist-key
 
persist-key
第33行: 第79行:
 
ca ca.crt                  #文件名和下载的ca.crt文件名一致
 
ca ca.crt                  #文件名和下载的ca.crt文件名一致
 
verb 3
 
verb 3
auth-user-pass
+
auth-user-pass             #用户名认证
 +
client-cert-not-required
 +
<ca>
 +
#较新版本的客户端可以把ca证书的内容直接写在这里,直接内嵌ca证书就不需要上面的ca ca.crt这一行了。
 +
-----BEGIN CERTIFICATE-----
 +
......
 +
-----END CERTIFICATE-----
 +
</ca>
 
</pre>
 
</pre>
 +
 +
== 证书认证 ==
 +
* 证书认证的配置文件格式。配置文件需要保存在openvpn的config文件中,格式如下:
 +
<pre>
 +
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
 +
</pre>
 +
 
* 以管理员身份运行“OpenVPN GUI”程序。输入用户名密码即可登录VPN。如下图:
 
* 以管理员身份运行“OpenVPN GUI”程序。输入用户名密码即可登录VPN。如下图:
  
第43行: 第113行:
 
[[文件:openvpn_winclient03.png]]
 
[[文件:openvpn_winclient03.png]]
  
 +
= 防火墙设置 =
 +
 +
OpenVPN建立连接后,VPN到内网的访问权限会受到“防火墙策略”的控制。比如,假设您想允许VPN访问所有内网资源,需要在防火墙策略中添加一条允许访问的规则(接口选择“外网”,方向选择“转发”),如:
 +
 +
* 允许所有到内网的访问
 +
 +
[[文件:openvpn_firewall01.png|600px]]
 +
 +
* 只允许指定内网IP的访问
 +
 +
[[文件:openvpn_firewall02.png|600px]]
 +
 +
= 内网的路由表设置 =
 +
 +
如果是网桥模式的单臂部署VPN,在内网存在三层交换机的情况下,三层交换机需要添加到openvpn网段的路由表,假设openvpn网段是默认的10.8.0.0/24,那么三层交换机上需要设置如下路由表:
 +
 +
<code>
 +
目标网段10.8.0.0/24,下一跳地址:WSG的管理口IP。
 +
</code>
 +
 +
 +
= 常见问题 =
 +
== 导入配置失败Failed to import profile ==
 +
* 提示:Failed to import profile,profiles that require external certificate for connection are not supported...
 +
* 解决办法:编辑配置文件,去掉client-cert-not-required的注释,保存文件后重新导入
 +
 +
[[文件:openvpn_import02.jpg|400px]]
 +
 +
== 能否让终端访问外网的时候也走openvpn连接 ==
 +
* 把需要访问的外网网段添加在“推送路由”里面即可。
 +
 +
= 相关链接 =
 +
 +
* [http://www.imfirewall.com/blog/post/526.html 如何用OpenVPN远程拨入公司局域网?]
 +
* [http://www.imfirewall.com/blog/post/424.html 如何用OpenVPN实现远程办公?]
 +
* [http://www.imfirewall.com/blog/post/453.html 如何用openvpn组建两地虚拟局域网?]
 +
* [http://www.imfirewall.com/blog/post/538.html 如何限制外网拨入VPN后的访问权限?]
 +
* [[如何配置Radius服务器|如何对接2003 AD域的Radius服务?]]
 +
* [[Enable_AD_Radius|如何启用域控制器的Radius认证功能?]]
  
 
[[Category:VPN]]
 
[[Category:VPN]]

2023年6月30日 (五) 17:50的最新版本


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
<ca>
#较新版本的客户端可以把ca证书的内容直接写在这里,直接内嵌ca证书就不需要上面的ca ca.crt这一行了。
-----BEGIN CERTIFICATE-----
......
-----END CERTIFICATE-----
</ca>

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 常见问题

7.1 导入配置失败Failed to import profile

  • 提示:Failed to import profile,profiles that require external certificate for connection are not supported...
  • 解决办法:编辑配置文件,去掉client-cert-not-required的注释,保存文件后重新导入

Openvpn import02.jpg

7.2 能否让终端访问外网的时候也走openvpn连接

  • 把需要访问的外网网段添加在“推送路由”里面即可。

8 相关链接