我已经使用 IPfire 设置了一个分离的(Dev)网络:
Web --> dd-wrt --> 家庭网络 (192.168.0.0/24) --> IPFire (192.168.0.29) --> 开发网络 (192.168.2.0/24)
我希望团队能够通过 VPN 进入开发网络以访问必要的服务器(CI/Git/test 等)。我已经设置了 OpenVPN(roadrunner),我可以连接到动态 IP 池(10.188.85.0/255.255.255.252),并且可以正常访问网络。
我遇到的问题是:客户端无法访问 192.168.2.0(绿色/LAN)子网上的服务器,但可以:
- ping 10.188.85.1-IPFire 地址
- ping 192.168.2.1-IPFire 地址
greenside 服务器无法 ping 通 VPN 客户端,但是可以:
- ping 192.168.2.1
- ping 10.188.85.1
- ping 其他 greenside 地址
当客户端连接时,路由被推送到 192.168.2.0 255.255.255.0 10.188.85.5(我假设这是 ovpn 网关)。然后我在 ipfire 中添加了防火墙规则(它应该会自动配置,但我这样做是为了排除防火墙),以允许两个网络之间的任何流量。
最初我以为问题是服务器不知道如何路由回客户端,所以我添加了一条路由:
sudo route add -net 10.188.85.0 netmask 255.255.255.252 gw 192.168.2.1
在短暂的时间内,我能够从客户端访问 greenside 服务器(接收到 ping/能够访问 Web 界面)。
然后,我尝试在 ipfire 中添加静态路由,希望任何 greenside 设备都有相关路由,从而可以联系。这样做之后,客户端无法再访问任何内容。撤销此更改后,客户端又回到了第 1 阶段,并出现了原始问题。
我一直在为此绞尽脑汁,希望得到任何建议。我确信这只是一个小的配置错误!
答案1
我已经设法解决了手头的问题:
我尝试联系的服务器确实需要输入路线。
但是,它有 2 个网卡;1 个连接到家庭网络,1 个连接到开发网络(不想中断正常访问)。默认网关用于家庭网络,断开此网关,使其仅连接到开发网络即可解决问题。
TLDR;默认网关需要更改。