在 VPN 场景下的跨子网通信防火墙配置方法
💡
原文中文,约5000字,阅读约需12分钟。
📝
内容提要
本文介绍了在VPN环境下实现跨子网通信的方法。通过配置路由表和防火墙,机器A可以访问位于不同局域网的机器B及其子网中的设备C。具体步骤包括在A上添加路由、在B上启用IP转发,并配置iptables以允许数据包转发和地址伪装,确保iptables规则在重启后持久化,以实现稳定的Site-to-Site连接。
🎯
关键要点
- 在VPN环境下,机器A和B分别位于不同的局域网,A需要访问B所在局域网的设备C。
- 通过配置路由表,A可以将B设置为访问192.168.3.0/24子网的网关。
- 在B上启用IP转发,以允许数据包在不同网络之间转发。
- 防火墙配置需要允许经过B进行路由的数据包,并开启地址伪装以确保C能够正确响应A的请求。
- iptables规则需要持久化,以确保在系统重启后依然有效,可以通过保存和恢复规则的方式实现。
❓
延伸问答
如何在VPN环境下实现跨子网通信?
通过配置路由表和防火墙,机器A可以访问位于不同局域网的机器B及其子网中的设备C。
在机器A上如何配置路由以访问机器B的子网?
在A上运行命令:sudo ip route add 192.168.3.0/24 via 10.0.0.3。
如何在机器B上启用IP转发?
可以通过命令sudo sysctl -w net.ipv4.ip_forward=1临时开启,或修改/etc/sysctl.conf文件以永久开启。
防火墙配置中需要注意哪些关键步骤?
需要允许经过B进行路由的数据包,并开启地址伪装以确保C能够正确响应A的请求。
如何持久化iptables规则以确保重启后有效?
可以使用iptables-save和iptables-restore命令保存和恢复规则,或使用iptables-persistent工具。
在B上如何开启地址伪装?
在B上运行命令:sudo iptables -t nat -A POSTROUTING -s 10.0.0.0/16 -o enp2s0 -j MASQUERADE。
➡️