如何在异地组网之后搭建自己的企业局域专网

386 阅读2分钟

一、前序工作介绍

上周我们分享了一篇 没有公网IP?来试试异地组网和端口映射的这种方式吧,我们使用 ZeroTier 完成了虚拟局域网的组网以及通过 Nginx 动态反向代理来暴露本地的一些 Web 服务到公网上,但我们的需求还不止如此。

今天我们要实现的需求是,加入了 虚拟局域网的节点 都能随时随地的访问 公司内部 的服务器资源。

二、网络环境说明

我们使用 zerotier 组网之后,当前的网络拓扑如下:

QQ_1731044038408.png

如上图所示,目前我们需要访问办公网络中的 其他服务 有几个办法:

  1. 先远程桌面连接办公网络中的 Mac-Mini(10.0.0.4),再连接公司网络中的其他服务;
  2. 在办公网络中搭建 VPN,然后通过 VPN 访问其他网络;
  3. CentOS7 或者 Mac-Mini 上做 NAT 路由到公司网络,然后再访问;
  4. ....

这里我们选择了第三种,因为:

  • 方法1 过于麻烦,需要远程桌面的支持,手机支持不够友好;
  • 方法2iPhone 上有问题,无法同时连接多个 VPN 服务;

三、开始实施

我们决定拿 CentOS7(10.0.0.8) 来做 NAT 路由,因为24小时开机,也不想拿 Mac 来瞎搞。

首先,我们需要在 zerotier 中为公司网络做一跳路由,即访问 10.149.0.0/21 的流量,都跳到 10.0.0.8 上:

10.149.0.0/21 -> 10.0.0.8

QQ_1731043922107.png

然后开启 10.0.0.8 的网络桥接:

QQ_1731043953855.png

然后,在 10.0.0.8 上使用 iptablesNAT 路由,即是网络拓扑中红色虚线的部分。

1. 开启 IPv4 转发功能:

# 编辑配置文件
vi /etc/sysctl.conf

# 修改或添加
net.ipv4.ip_forward=1

# 应用
sudo sysctl -p

2. 配置 iptables 规则

ztmjfpapwazerotier 虚拟网卡,ens192CentOS7 的网卡名称。

# 添加转发规则
sudo iptables -A FORWARD -i ztmjfpapwa -o ens192 -d 10.149.0.0/21 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o ens192 -d 10.149.0.0/21 -j MASQUERADE

# 保存规则
sudo service iptables save

# 查看生效状态
sudo iptables -L -v -n
sudo iptables -t nat -L -v -n

3. 搞掂~

接下来,我们就可以使用 10.0.0.0/24 段的任何虚拟组网的设备直接访问公司内部的 10.149.0.0/21 段内的服务器资源了。

四、总结

经过本次的改造,可以实现了随时随地访问公司内网资源,全程不涉及任何的 账号密码跳板机 什么的,只要拉进虚拟局域网里即可,而且还可以远程使用公司的 打印机 扫描仪 监控 等设备。

本篇文章又水完了,如果对你有帮助,欢迎给我们三连,也可以关注我们的其他专栏和文章。

Bye.