方案
位于不同内网的3台机器A、B、C,利用wireguard隧道连接到公网的节点P上,配置P进行转发,实现A、B、C相互访问,形成局域网。
优点很明显
- 不需要在A,B,C三台内网的机器之间相互打隧道,省事。
- 隧道都统一到P节点,所以便于管理,而且可以形成内网。
缺点也很明显
- 流量都要通过P转发,对公网的P来说,进出带宽和进出流量都是不小的压力
- 通过P中转的速度肯定比直连要慢
实施要点
启动wireguard报错
P启动wireguard之后启动报错RNETLINK answers: Operation not supported
,原因是内核模块没有加载,easy
# modprobe wireguard
正确设置转发
- 开启IP转发
# vim /etc/sysctl.conf
## 开启ip转发
net.ipv4.ip_forward=1
## 重载网络配置生效
# sysctl -p
只是开启IP转发,隧道IP之间可以ping通,但是却不能ssh上去。还需要开启源地址目标转换。
- 开启SNAT
# firewall-cmd --add-masquerade --permanent
# firewall-cmd --reload