OpenWRT 路由器 OpenConnect VPN 详细图文教程 – 基础配置篇
前言
博主早年一直认为在家中部署 VPN并没有实际意义,使用体验也不佳.随着宽带和网络技术的进步,家用 NAS 等设备的普及,加上对不可描述的网络需求,使用 OpenWRT软路由作为网络核心,使得整个家庭网络变得非常的重要和丰富.让大家从外网通过 VPN 连接到家里变得更加有意义了.
选择 VPN
博主并没有深入研究各种 VPN 的协议和使用区别,对于用户体验,安全性,便捷性没有概念.好在有一位对网络知识非常了解的朋友强烈推荐和指导,最终选择了在 OpenWRT路由器上配置了 OpenConnect VPN服务的方案.经过简单尝试,体验超乎想象.
服务端
前提需求
- openwrt 路由器或其他能够部署 OpenConnect VPN 的设备
- 建议 上行 30M的宽带以保证使用体验
- 拥有 公网 IP并配置端口映射
基本设置
登录 OpenWRT路由器,打开 服务 – OpenConnect VPN.
勾选 Enable server 启动服务
默认端口为 4443,默认 VPN 网段为 192.168.100.0,根据情况自行更改.
DNS server 填写当前内网网段的DNS.
Routing table
全局代理 – 当客户端连接 VPN 后,客户端所有 内外网访问都将通过 VPN 所在的局域网代理.如下图 删除所有 Routing table即可.
内网代理 – 当客户端连接 VPN 后,客户端所有 内网访问通过 VPN 所在的局域网代理,而 外网访问则保持使用客户端当前网络.如下图添加 内网和 VPN两个网段即可.
编辑模版
默认模版并不影响使用,只是如下图在通过 DDNS域名连接 VPN 时会提示 服务器或证书不受信任,可以点击 Connect Anyway或者 更改设置继续登录.
可以参考以下步骤部署 DDNS 域名证书.
模版中查找以下字段:
1
2
|
<pre class=“inline:true decode:1 “ >server–cert = /etc/ocserv/server–cert.pem
server–key = /etc/ocserv/server–key.pem
|
将 DDNS域名证书上传并修改路径.例如:
1
2
|
<pre class=“inline:true decode:1 “ >server–cert = /etc/uhttpd.crt
server–key = /etc/uhttpd.key
|
用户设置
在用户设置中创建用于 VPN 连接的账号和密码. Active users会显示当前连接的用户状态.
防火墙设置
openwrt – 网络 – 防火墙 – 自定义规则
添加以下三条记录,允许客户端使用路由器转发流量,重启防火墙生效.
1
2
3
|
<pre class=“inline:true decode:1 “ >iptables –t nat –I POSTROUTING –s 192.168.100.0/24 –j MASQUERADE
iptables –I FORWARD –i vpns+ –s 192.168.100.0/24 –j ACCEPT
iptables –I INPUT –i vpns+ –s 192.168.100.0/24 –j ACCEPT
|
端口映射
默认端口为 4443,添加端口映射到 路由器IP完成所有配置.
完成配置
服务端的基础配置完成,现在可以下载客户端,使用账号和密码登录连接 VPN.
客户端
下载客户端,使用 DDNS 域名,端口加上账号密码登录.
OpenConnect VPN 通过实现 Cisco 的 AnyConnect 协议,用 DTLS 作为主要的加密传输协议.
AnyConnect 的 VPN 协议默认使用 UDP DTLS 作为数据传输,如果因网络问题导致 UDP 传输出现问题,它会利用最初建立的 TCP TLS 通道作为备份通道,降低 VPN 断开的概率.使用了 TLS over UDP 技术,少了 TCP 握手和稳定的要求,这也是使用体验大幅提升的原因.
macOS 客户端仅需安装 VPN, 取消勾选其他组件.
iOS 客户端
结语
本文详细介绍了 openwrt 路由器 OpenConnect VPN 的基础配置,目前已经可以正常使用账号密码连接.如果希望通过部署自签 CA 根证书和用户证书来实现更安全和方便的登录需求