• 欢迎访问伊栖物联网社区,聚焦物联网技术和解决方案QQ群:735553309
  • ,从传感器到片上嵌入式系统,无线接入,边缘计算,在这里您可以讨论一切
  • 参加最新的物联网研讨会报名
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏伊栖Eccee

在DIGI无线路由器上配置OpenVPN Server和Client

联网设备 alvin 2年前 (2022-03-25) 1786次浏览 0个评论

Digi的无线LTE路由器是支持4G,5G无线上网的工业级和企业级路由器,和国内普通的无上线网路由器相比,它多了不少功能。您可能任意设置LAN口,WAN口,Wifi接口,LTE Modem接口的功能,它们都可以作为内网或外网接口,也可任意桥接使用;可以跑自定义的python程序来连接云;支持串口当设备口或console来对其它设备进行带外管理;在VPN支持上,不仅支持IPsec,还支持OpenVPN,甚至可以配合stunnel和peyoot/pvpn来通过自有的海外vps实现科学上网等。

和采用开源openwrt系列的路由器不一样,Digi的路由器是企业级的DAL系统,可配置的功能多了,因此也相比简单功能的路由器更复杂些。本文将探讨客户端和服务端全使用Digi路由器OpenVPN的配置方法,也可适用于支持openvpn的客户端设备。有关使用已有的证书和密钥来配置IOS或Android的客户端不在本文的探讨范围,如有需要请参考:Configuring an OpenVPN server for iOS and Android clients

  • OpenVPN 服务端配置

在System>Device Configuation>VPN>OpenVPN配置项上,

添加一个OpenVPN Server服务,并命名为testOVPN,选择类型(tun或tap),指定防火墙的Zone为internal,指定OpenVPN的网络地址(需和本地LAN不同),并启用Server managed certificates,也就是服务端管理证书,记得选中Enable来启用这个OpenVPN Server。

在Authentication>Groups内,新添加一个GroupOVPN组,用来授权许可openvpn连接的用户。这个组需要开启OpenVPN Access,并把上面的OpenVPN tunnel添加好。

在Users里,添加使用openvpn的用户,在Group里选择上面新创建的GroupOVPN组,并设置用户名和密码,启用即可。如果您不想使用用户名密码来交互登陆,可以配置ssh key使用。

  • OpenVPN客户端

客户端可以在Status>Openvpn>Servers内下载client的配置模板,然后在模板的基础上修改配置(主要是IP地址),并应用在windows或Linux等客户端机器上,即可使用。

注意,默认配置中,使用auth-user-pass 配置项,这需要在连接时输入用户名和密码,您也可以把密码存成文件,第一行是用户名,第二行是密码,文件名起个如passfile,这样就可以用下面配置来避免交互式输入用户名密码。在Linux中,这个passfile应放在/etc/openvpn/client目录下

auth-user-pass passfile

从WAN口建立openvpn连接

本次测试版本固件为21.11,后续不同固件版本有可能简化相关的操作。
从WAN口连接VPN,并连到原来的LAN口网络,有几个地方需要配置:
1. 需要在OpenVPN的高级选项中指定使用的网卡为本地网卡,如–loacal x.x.x.x ,这里x.x.x.x为WAN口IP, 并推送openvpn链路为默认网关,比如下面设置:

2. 需要配置一条端口转发的防火墙规则,把来自openvpn的包转发到LAN口上

iptables -t nat -A POSTROUTING -o eth2 -s 192.168.11.0/24 -j MASQUERADE

使用TCP协议

如果要在OpenVPN中使用tcp协议,正确的处理方法包括:

1. 添加TCP端口的防火墙设置

这需要配置一条custom rule的防火墙规则,比如1194端口,在firewall>custom rules里添加并启用 “iptables -I INPUT -p tcp –dport 1194 -j ACCEPT”。

2. 配置Advanced Options,指定tcp服务

OpenVPN parameters实际上可以理解为命令行的配置选项,输入“–proto tcp-server”,并启用。

进阶篇: 为特定用户分配固定的IP地址

这里演示的方法,不但对IX20适用,对使用openvpn的服务器也同样可以用这个配置方法,以最简单的以用户名来获取固定IP为例:

查看本段内容需要支付 10 金币

您尚未登录,请 点击登录 或者 立即注册

关于MTU

为了提高效论,需要注意MTU问题。MTU是以太网一帧的最大长度,由于历史原因,1500字节是默认值,超过这个长度在IP层就会被分包。为了提高效率,在多层路由嵌套的网络,可能要找出正确的MTU以便提高效率

可以用ping来检查,如果发现下面命令ping不通,就要考虑减小MTU设置。 通常地,ping包的payload之前有20个字节的IPV4 Header和8个字节的ICMP Header。所以测试1500变成测试1472字节。把tun-mtu设置成合适的值可以提高带宽和效率。

windows:
ping -l 1472 -f 1.1.1.1

Linux:
ping -c 4 -s 1472 -M do 1.1.1.1

例如:探测到的数据包大小是1464,那么加上28字节,最终MTU=1492字节。一般原则是,寻找ISP支持的最大MTU,然后在每个路由环节,到本机都设置为该MTU值,最后OpenVPN也设置tun-mtu为一样的值,这样效果最佳。


ECCEE版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:在DIGI无线路由器上配置OpenVPN Server和Client
喜欢 (15)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址