当前位置:首页 > 群晖专栏 > 技术教程 > 正文内容

OpenWRT 路由器 OpenConnect VPN 详细图文教程 - 基础配置篇

admin5年前 (2020-03-20)技术教程1280

前言

博主早年一直认为在家中部署VPN并没有实际意义,使用体验也不佳.随着宽带和网络技术的进步,家用 NAS 等设备的普及,加上对不可描述的网络需求,使用OpenWRT软路由作为网络核心,使得整个家庭网络变得非常的重要和丰富.让大家从外网通过 VPN 连接到家里变得更加有意义了.

选择 VPN

博主并没有深入研究各种 VPN 的协议和使用区别,对于用户体验,安全性,便捷性没有概念.好在有一位对网络知识非常了解的朋友强烈推荐和指导,最终选择了在OpenWRT路由器上配置了OpenConnect VPN服务的方案.经过简单尝试,体验超乎想象.

在配置过程中,网上找到的一些技术参考文章大多都不太详细和完整.所以博主重新整理了服务端和客户端的配置流程,并详细讲述利用最安全和方便的证书模式来登录 VPN.由于图文略长,将分为基础配置证书配置两篇文章讲解.

服务端

前提需求

  • OpenWRT 路由器或其他能够部署 OpenConnect VPN 的设备

  • 建议上行 30M的宽带以保证使用体验

  • 拥有公网 IP并配置端口映射

本文以 OpenWRT 路由器内网网段 192.168.1.0 为例.

基本设置

登录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 域名证书.

为避免误操作模版导致无法启动服务.提供一份默认模版备用.请别问我为什么!

载地址

模版中查找以下字段:

server-cert = /etc/ocserv/server-cert.pem
server-key = /etc/ocserv/server-key.pem

DDNS域名证书上传并修改路径.例如:


server-cert = /etc/uhttpd.crt
server-key = /etc/uhttpd.key

用户设置

在用户设置中创建用于 VPN 连接的账号和密码.Active users会显示当前连接的用户状态.

如希望使用证书模式登录,此处可以无需配置用户.详情参考下篇文章.

防火墙设置

OpenWRT - 网络 - 防火墙 - 自定义规则
添加以下三条记录,允许客户端使用路由器转发流量,重启防火墙生效.

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
注意下图中,如果和我一样有两条 53 结尾的记录,需注释掉,否则可能会导致连接 VPN 成功,却无法访问网站.此两条记录应该是 L 大的固件默认禁用 DNS 转发的规则,如果需要用到 AdGuard,OpenConnect 等插件则需要注释掉.

端口映射

默认端口为4443,添加端口映射路由器IP完成所有配置.

完成配置

服务端的基础配置完成,现在可以下载客户端,使用账号和密码登录连接 VPN.


客户端

下载客户端,使用 DDNS 域名,端口加上账号密码登录.

客户端推荐使用安全,稳定,高效的 Cisco AnyConnect.
OpenConnect VPN 通过实现 Cisco 的 AnyConnect 协议,用 DTLS 作为主要的加密传输协议.
AnyConnect 的 VPN 协议默认使用 UDP DTLS 作为数据传输,如果因网络问题导致 UDP 传输出现问题,它会利用最初建立的 TCP TLS 通道作为备份通道,降低 VPN 断开的概率.使用了 TLS over UDP 技术,少了 TCP 握手和稳定的要求,这也是使用体验大幅提升的原因.

下载地址

Windows 10 操作系统
AnyConnect Mobile 4.8.02045

点击下载

Windows 7/8 操作系统
AnyConnect Mobile 4.7.04056

点击下载

macOS 11 Big Sur
anyconnect-macos-4.9.04043-predeploy-k9
点击下载

macOS 10.15 Catalina
AnyConnect Mobile 4.8.02045

点击下载

macOS Maverick/Yosemite

AnyConnect Mobile 4.7.04056
点击下载

iOS 客户端
Cisco AnyConnect
AppStore 免费下载

Android 客户端
AnyConnect
Google Play 免费下载
点击下载

Linux 系统
AnyConnect-Linux64-4.8.02045
点击下载

安装说明

macOS 客户端仅需安装VPN,取消勾选其他组件.


iOS 客户端


结语

本文详细介绍了 OpenWRT 路由器 OpenConnect VPN 的基础配置,目前已经可以正常使用账号密码连接.如果希望通过部署自签 CA 根证书和用户证书来实现更安全和方便的登录需求,可以参考下篇:

本站提供免费和付费的技术支持.你可以通过留言,邮件,QQ的方式来进行技术交流和免费咨询.同时也可以付费支持的方式获得相关的技术支持,项目部署配置等服务.具体相关详情请点击查看 技术支持页面


扫描二维码推送至手机访问。

版权声明:本文由梦魁网络资源站发布,如需转载请注明出处。

本文链接:https://family.monkui.com:39/?id=152

标签: 技术教程
分享给朋友:

相关文章

腾讯云对象存储 COSFS 工具安装配置与使用命令

腾讯云对象存储 COSFS 工具安装配置与使用命令

前言COSFS 工具是一款将腾讯云 COS 挂载到本地的工具,能像使用本地文件系统一样直接操作对象存储中的文件.本文将简单介绍在 Linux 系统中的安装,配置和常规挂载命令,更详细的用法请参考下文中的相关参考链接.安装获取源码git&nb...

OpenWrt 及 ROS 配置防火墙使内网用户直接访问光猫

OpenWrt 及 ROS 配置防火墙使内网用户直接访问光猫

前言拥有公网 IP 的宽带用户大多数都会使用桥接模式使主路由器来拨号上网,这样能够更方便的使用公网 IP 和端口转发,使得外网访问内网设备及服务更加便利.由于桥接后,光猫仅仅作为光电转换设备,并不在本地内网的 NAT 中,所以常规情况下内网...

解决 Apple Watch 无法解锁 MacBook 的简单方法

解决 Apple Watch 无法解锁 MacBook 的简单方法

前言博主在使用 Apple Watch 来解锁 MacBook 这几年来偶尔也会遇到设备之间无法通讯的问题,一般来说重启下都可以解决,但是最近出现无论怎样重启都无法连接.网上推荐的是通过重新登录 iCloud 账号来解决,但是重登账号影响太...

简单使用 crontab 定时备份 MySQL 数据库

简单使用 crontab 定时备份 MySQL 数据库

前言有朋友咨询如何去定时的备份 MySQL 数据库,本文将简单介绍使用 crontab 计划任务定时为 MySQL 来备份数据库文件.配置流程配置 mysql 账号密码在用户目录,例如 /root 下创建.my.cnf配...

分享基于 docker 容器化申请 Let's Encrypt 泛域名证书的一键脚本

分享基于 docker 容器化申请 Let's Encrypt 泛域名证书的一键脚本

前言最近一直在慢慢的学习shell,于是打算用实战来强化学到的知识点,所以花了半天时间写了一个交互式的脚本,用于自动申请Let's Encrypt泛域名证书使用.欢迎大家使用.申请流程获取域名服务商 API申请域名最重要和最麻烦的地...

黑群晖 本地/远程唤醒功能 试验成功

黑群晖 本地/远程唤醒功能 试验成功

今天有空研究了一下具体的软件设定方法,可以通过手机APP -----(DS Finder)  局域网/远程,来唤醒黑群晖。几个设置简要说明:1、BIOS的PCIE设备开机,开启。2、打开DSM中的电源自动恢复中的&nbs...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。