
1 前言
一个问题,一篇文章,一出故事。
上面的章节,我们为OpenVPN的服务器端与RouterOS路由器建立了VPN连接,本章将允许其他OpenVPN客户端访问“10.168.88.0/24”段的设备。
2 最佳实践
2.1 本章实验基于如下OpenVPN服务器端
你需要注意的是,本章某些配置文件与默认的OpenVPN服务器配置文件路径有差异,因此请不要照搬。
2.2 允许OpenVPN服务端与RouterOS的LAN口通讯
In OpenVPN Server
2.2.1 使用CCD配置文件声明客户端的网段
vim /etc/openvpn/server/ccd_tcp/will-mm
创建如下配置,
ifconfig-push 10.8.1.105 10.8.1.106 # 分配固定VPN IP iroute 10.168.88.0 255.255.255.0 # 声明该客户端的本地网络
需要注意的是,
– 配置文件名称“will-mm”必须与分配的证书名称相同
– 为“10.168.88.0/24”段声明OpenVPN路由器所在的网段地址(声明客户端能访问的本地网络“10.168.88.0/24”)
2.2.2 服务端主配置添加路由转发
vim /etc/openvpn/server/tcp.conf
创建如下配置,
route 10.168.88.0 255.255.255.0 # 添加服务器路由表 client-config-dir /etc/openvpn/server/ccd_tcp
需要注意的是,
– iroute只是声明客户端能访问的本地网络,route才是真正让服务器转发流量的指令。
– 如果多个客户端有相同的iroute,需确保它们的本地网络不冲突(如改用不同子网)。
2.2.3 重启服务使用配置生效
systemctl restart openvpn-server@tcp.service
注:以上重启OpenVPN服务器端,同时RouterOS客户端会自动重启。
2.2.4 OpenVPN服务器端的ping测试
ping 10.168.88.1
注:如果能ping通,则OpenVPN服务器端与客户端内网卡通讯正常。
2.3 允许OpenVPN服务端与RouterOS内网通讯
In OpenVPN Client
2.3.1 允许数据转发
/ip firewall filter add chain=forward action=accept in-interface=openvpn-client /ip firewall filter add chain=forward action=accept out-interface=openvpn-client /ip firewall filter add chain=forward action=drop
配置说明,
– 包含“in-interface=openvpn-client”关键字的规则放行来自于虚拟接口openvpn-client的流量
– 包含“out-interface=openvpn-client”关键字的规则放行从虚拟接口openvpn-client出去的流量
– 以上两条规则允许LAN口与OpenVPN口之间相互转发数据
2.3.2 OpenVPN服务器端的ping测试
ping 10.168.88.252
注:如果能ping通,则OpenVPN服务器端与RouterOS内网设备通讯正常。
2.4 允许其他客户端与RouterOS内网设备通讯
In OpenVPN Server
2.4.1 推送路由到其他客户端(可选)
vim /etc/openvpn/server/public.conf
加入如下配置,
push "route 10.168.88.0 255.255.255.0"
需要注意的是,
– 效果是所有客户端连接后会自动添加该路由。
– 可选如果不配置,则你需要在其他客户端手动设置路由
2.4.2 其他客户端的ping测试
ping 10.168.88.252
没有评论