“Openvpn”的版本间的差异
来自WFilter上网行为管理系统文档和指南
(→客户端配置) |
(→常见问题) |
||
(未显示同一用户的43个中间版本) | |||
第3行: | 第3行: | ||
= OpenVPN概述 = | = OpenVPN概述 = | ||
− | + | OpenVPN是一个的基于SSL的VPN系统。该模块可以在您的WFilterNGF中启用OpenVPN服务,从而可以组建site-to-site VPN或者从外网用OpenVPN的客户端拨入内网。 | |
WFilter NGF中的OpenVPN包括“服务端”和“客户端”两个模块。 | WFilter NGF中的OpenVPN包括“服务端”和“客户端”两个模块。 | ||
* 服务端用于开启VPN服务,供其他客户机联入,支持site-to-site的VPN,以及单个客户机的vpn拨入。 | * 服务端用于开启VPN服务,供其他客户机联入,支持site-to-site的VPN,以及单个客户机的vpn拨入。 | ||
第11行: | 第11行: | ||
== 服务端配置 == | == 服务端配置 == | ||
− | WFilter | + | WFilter NGF中的OpenVPN采用“证书认证”和“用户名认证”的两种验证机制。 |
* 认证方式:支持“证书认证”和“用户名认证”的两种验证机制。 | * 认证方式:支持“证书认证”和“用户名认证”的两种验证机制。 | ||
− | ** | + | ** 用户名认证(推荐):客户端使用用户名密码拨入。认证账号必须在“账号管理”中配置的账号,且该账号必须有“VPN”的权限才可以登录VPN。 |
− | ** | + | ** 证书认证:客户端利用服务端创建的证书文件拨入。证书认证通过“ca证书+客户端证书”的方式来实现认证,由于涉及到证书的创建和注销,证书认证更适合设备之间的认证。 |
+ | * 验证类型:支持“本地验证”、“邮箱验证”、“域验证”和“Radius验证”。本地验证时,需要在[[account|账号管理]]中添加VPN账号。 | ||
* 连接类型和端口:需要和客户端的配置一致。保存后,WFilterNGF的防火墙会自动允许该端口。 | * 连接类型和端口:需要和客户端的配置一致。保存后,WFilterNGF的防火墙会自动允许该端口。 | ||
* 通讯网段: WFilterNGF的OpenVPN采用的是子网模式(subnet),OpenVPN单独组建一个网段,该网段不能和现有的内网网段重合。 | * 通讯网段: WFilterNGF的OpenVPN采用的是子网模式(subnet),OpenVPN单独组建一个网段,该网段不能和现有的内网网段重合。 | ||
第22行: | 第23行: | ||
[[文件:openvpn_settings1.png|900px]] | [[文件:openvpn_settings1.png|900px]] | ||
− | == | + | == 客户端网段 == |
− | * | + | * 用于定义site-to-site VPN的对端网段。 |
− | * | + | * 客户端名称: |
− | * | + | ** 对于用户名认证的客户端,客户端名称就是用户名。 |
− | * | + | ** 证书认证的客户端,可以直接定义客户端名称。 |
+ | * 客户端网段用于定义客户端的内网网段,可以为空。格式如:'''192.168.126.0 255.255.255.0''' | ||
+ | * 对大部分情况而已,客户端IP采用“自动获取”就可以。您也可以指定客户端IP地址,从而配置更细致的防火墙权限。 | ||
+ | * 点击“下载”可以下载客户端证书,供证书认证的客户端导入后连接服务端。用户名认证不需要下载证书文件。 | ||
+ | * 点击“生成配置文件”可以下载客户端所需的配置文件。 | ||
− | [[文件:openvpn_serverclient01.png| | + | [[文件:openvpn_serverclient01.png|750px]] |
== CA证书 == | == CA证书 == | ||
第38行: | 第43行: | ||
= OpenVPN客户端 = | = 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客户端 == | == Windows客户端 == | ||
− | * | + | * 安装和下载openvpn客户端:https://openvpn.net/index.php/open-source/downloads.html |
* 在WFilterNGF的“OpenVPN服务端”的“CA证书”中下载证书文件,解压后把ca.crt拷贝到openvpn安装文件夹的config文件夹中。(另存为ca.crt) | * 在WFilterNGF的“OpenVPN服务端”的“CA证书”中下载证书文件,解压后把ca.crt拷贝到openvpn安装文件夹的config文件夹中。(另存为ca.crt) | ||
+ | * 点击WFilterNGF的“OpenVPN服务端”的“生成配置文件”,可以生成客户端配置文件。 | ||
+ | |||
+ | [[文件:openvpn_exportconfig.png|650px]] | ||
+ | |||
== 用户名认证 == | == 用户名认证 == | ||
− | * | + | * 用户名认证的配置文件格式。配置文件需要保存在openvpn的config文件中,格式如下: |
<pre> | <pre> | ||
client | client | ||
dev tun | dev tun | ||
proto udp #协议类型,和服务端的配置一致 | proto udp #协议类型,和服务端的配置一致 | ||
− | remote | + | remote www.imfirewall.com 1194 #服务器的IP地址(或者域名)和端口 |
nobind | nobind | ||
persist-key | persist-key | ||
第56行: | 第80行: | ||
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> | <pre> | ||
client | client | ||
dev tun | dev tun | ||
proto udp #协议类型,和服务端的配置一致 | proto udp #协议类型,和服务端的配置一致 | ||
− | remote | + | remote www.imfirewall.com 1194 #服务器的IP地址(或者域名)和端口 |
nobind | nobind | ||
persist-key | persist-key | ||
第81行: | 第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
2.2 客户端网段
- 用于定义site-to-site VPN的对端网段。
- 客户端名称:
- 对于用户名认证的客户端,客户端名称就是用户名。
- 证书认证的客户端,可以直接定义客户端名称。
- 客户端网段用于定义客户端的内网网段,可以为空。格式如:192.168.126.0 255.255.255.0
- 对大部分情况而已,客户端IP采用“自动获取”就可以。您也可以指定客户端IP地址,从而配置更细致的防火墙权限。
- 点击“下载”可以下载客户端证书,供证书认证的客户端导入后连接服务端。用户名认证不需要下载证书文件。
- 点击“生成配置文件”可以下载客户端所需的配置文件。
2.3 CA证书
- CA证书设置,需要把该CA证书导入到客户端才可以连接,您也可以点击“重新生成”来生成新的CA证书。
- 所有可以互相连接的openvpn都需要有同样的CA证书。
3 OpenVPN客户端
OpenVPN客户端用于连接OpenVPN服务端,从而建立site-to-site的VPN隧道。
- 服务端ID:唯一的ID,只能用数字和字母。
- 服务端地址:OpenVPN的服务端IP或者域名(支持动态域名。支持多服务端负载均衡和备份,每行一个服务端)。
- 协议类型和端口:需要与服务端的配置一致。
- 连接方式:直接连接,或者通过一个HTTP代理来连接VPN服务端。
- 认证方式:
- 用户名认证:通过用户名和密码进行认证。
- 证书认证:通过上传证书进行认证。这个证书就是在服务端中创建的客户端证书。
- CA证书:可以查看并导入CA证书,CA证书必须和服务端一样才可以进行通讯,导入的文件应该是crt后缀的文件格式。
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服务端”的“生成配置文件”,可以生成客户端配置文件。
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。如下图:
5 防火墙设置
OpenVPN建立连接后,VPN到内网的访问权限会受到“防火墙策略”的控制。比如,假设您想允许VPN访问所有内网资源,需要在防火墙策略中添加一条允许访问的规则(接口选择“外网”,方向选择“转发”),如:
- 允许所有到内网的访问
- 只允许指定内网IP的访问
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的注释,保存文件后重新导入
7.2 能否让终端访问外网的时候也走openvpn连接
- 把需要访问的外网网段添加在“推送路由”里面即可。