“Openvpn”的版本间的差异
来自WFilter上网行为管理系统文档和指南
(→Windows客户端配置) |
(→防火墙设置) |
||
第134行: | 第134行: | ||
OpenVPN建立连接后,VPN到内网的访问权限会受到“防火墙策略”的控制。比如,假设您想允许VPN访问所有内网资源,需要在防火墙策略中添加一条允许访问的规则(接口选择“外网”,方向选择“转发”),如下图: | OpenVPN建立连接后,VPN到内网的访问权限会受到“防火墙策略”的控制。比如,假设您想允许VPN访问所有内网资源,需要在防火墙策略中添加一条允许访问的规则(接口选择“外网”,方向选择“转发”),如下图: | ||
+ | |||
+ | * 允许所有到内网的访问 | ||
[[文件:openvpn_firewall01.png|600px]] | [[文件:openvpn_firewall01.png|600px]] | ||
+ | |||
+ | * 只允许指定内网IP的访问 | ||
+ | |||
+ | [[文件:openvpn_firewall02.png|600px]] | ||
[[Category:VPN]] | [[Category:VPN]] |
2018年10月29日 (一) 18:32的版本
目录
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。
- 连接类型和端口:需要和客户端的配置一致。保存后,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
- 点击“下载”可以下载客户端证书,供证书认证的客户端导入后连接服务端。用户名认证不需要下载证书文件。
- 点击“生成配置文件”可以下载客户端所需的配置文件。
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证书必须和服务端一样才可以进行通讯。
3.1 导入其他openvpn server的证书
WFilter NGF可以直接导入其他WFilter导出的“CA证书”和“客户端证书”。如果要导入其他openvpn server的证书文件,需要注意证书的文件格式。
- CA证书:
- 文件格式必须是tar.gz文件
- 文件路径:/etc/config/openvpn/ca.crt和/etc/config/openvpn/ca.key
- 相关命令:
先把ca.crt和ca.key文件拷贝到/etc/openvpn文件夹下,然后执行如下命令
$tar -cvzf /tmp/ca.tar.gz /etc/openvpn/ca.*
- 客户端证书:
- 文件格式必须是tar.gz文件
- 文件路径:/tmp/clientkeys/xxx.crt和xxx.key
- 相关命令:
$mkdir -p /tmp/clientkeys
$rm -f /tmp/clientkeys/*
$cp -f client1.crt /tmp/clientkeys/
$cp -f client1.key /tmp/clientkeys/
$tar -czf /tmp/client1.tar.gz /tmp/clientkeys/
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 #用户名认证
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的访问