异地办公室组网可行吗?

2022-04-13 09:38:46 +08:00
 jorneyr

大家好,在此咨询一下技术上是否行得通。

我们公司在北京的办公室想和郑州的办公室的网络异地组网,使得郑州公司的内网和北京公司的内网可以互通, 例如:

目的是使得这 2 个局域网内的机器能够互相访问,可以购买路由器。

8440 次点击
所在节点    互联网
63 条回复
defunct9
2022-04-13 17:09:07 +08:00
简单的很,ip-sec 就行。openvpn 也行。linux 就干这事了。
Zzdex
2022-04-13 17:34:58 +08:00
不想用 vpn 的话,两边各搭一个代理,然后路由上做透明代理。

iptables 根据 dst 转发到 另一端的代理上?
uncat
2022-04-13 17:53:26 +08:00
假设 3 个网段是:

- N1: 192.168.1.0/24
- N2: 192.168.11.0/24
- N3: 192.168.22.0/24

假设 VPN 网络的网段:
- N4: 10.10.10.0/24

假设 3 台 VPN 节点服务器的局域网地址:

- S1: 192.168.1.101
- S2: 192.168.11.102
- S3: 192.168.22.103

假设 3 台 VPN 节点服务器的 VPN 网络虚拟地址:

- S1: 10.10.10.101
- S2: 10.10.10.102
- S3: 10.10.10.103

假设 3 个网段的路由器(默认网关):

- R1: 192.168.1.1
- R2: 192.168.11.1
- R3: 192.168.22.1

操作 1: 确保 3 台 VPN 服务器可以通过 VPN 网络的虚拟地址互相 ping 通

- 在 S1 上: ping 10.10.10.102
- 在 S1 上: ping 10.10.10.103

- 在 S2 上: ping 10.10.10.101
- 在 S2 上: ping 10.10.10.103

- 在 S3 上: ping 10.10.10.101
- 在 S3 上: ping 10.10.10.102

操作 2: 开启封包转发

- 在 S1 上: sysctl -w net.ipv4.ip_forward=1
- 在 S2 上: sysctl -w net.ipv4.ip_forward=1
- 在 S3 上: sysctl -w net.ipv4.ip_forward=1

操作 3: 限定 /放行 FORWARD 流量

- 在 S1 上: iptables -P FORWARD DROP
- 在 S1 上: iptables -t filter -I FORWARD -s 192.168.1.0/24 -j ACCEPT
- 在 S1 上: iptables -t filter -I FORWARD -s 10.10.10.0/24 -j ACCEPT

- 在 S2 上: iptables -P FORWARD DROP
- 在 S2 上: iptables -t filter -I FORWARD -s 192.168.11.0/24 -j ACCEPT
- 在 S2 上: iptables -t filter -I FORWARD -s 10.10.10.0/24 -j ACCEPT

- 在 S3 上: iptables -P FORWARD DROP
- 在 S3 上: iptables -t filter -I FORWARD -s 192.168.22.0/24 -j ACCEPT
- 在 S3 上: iptables -t filter -I FORWARD -s 10.10.10.0/24 -j ACCEPT

操作 4: 添加 NAT 规则

- 在 S1 上: iptables -t nat -I POSTROUTING -s 10.10.10.0/24 ! -d 10.10.10.0/24 -j MASQUERADE
- 在 S1 上: iptables -t nat -I POSTROUTING -s 192.168.11.0/24 ! -d 192.168.11.0/24 -j MASQUERADE
- 在 S1 上: iptables -t nat -I POSTROUTING -s 192.168.22.0/24 ! -d 192.168.22.0/24 -j MASQUERADE

- 在 S2 上: iptables -t nat -I POSTROUTING -s 10.10.10.0/24 ! -d 10.10.10.0/24 -j MASQUERADE
- 在 S2 上: iptables -t nat -I POSTROUTING -s 192.168.1.0/24 ! -d 192.168.1.0/24 -j MASQUERADE
- 在 S2 上: iptables -t nat -I POSTROUTING -s 192.168.22.0/24 ! -d 192.168.22.0/24 -j MASQUERADE

- 在 S3 上: iptables -t nat -I POSTROUTING -s 10.10.10.0/24 ! -d 10.10.10.0/24 -j MASQUERADE
- 在 S3 上: iptables -t nat -I POSTROUTING -s 192.168.1.0/24 ! -d 192.168.1.0/24 -j MASQUERADE
- 在 S3 上: iptables -t nat -I POSTROUTING -s 192.168.11.0/24 ! -d 192.168.11.0/24 -j MASQUERADE

操作 5: 给 VPN 节点添加网段的路由

- 在 S1 上: ip route add 192.168.11.0/24 via 10.10.10.102
- 在 S1 上: ip route add 192.168.22.0/24 via 10.10.10.103

- 在 S2 上: ip route add 192.168.1.0/24 via 10.10.10.101
- 在 S2 上: ip route add 192.168.22.0/24 via 10.10.10.103

- 在 S3 上: ip route add 192.168.1.0/24 via 10.10.10.101
- 在 S3 上: ip route add 192.168.11.0/24 via 10.10.10.102

操作 6: 给默认网关添加路由规则

- 在 R1 上: ip route add 192.168.11.0/24 via 192.168.1.101
- 在 R1 上: ip route add 192.168.22.0/24 via 192.168.1.101

- 在 R2 上: ip route add 192.168.1.0/24 via 192.168.1.102
- 在 R2 上: ip route add 192.168.22.0/24 via 192.168.1.102

- 在 R3 上: ip route add 192.168.1.0/24 via 192.168.1.103
- 在 R3 上: ip route add 192.168.11.0/24 via 192.168.1.103
uncat
2022-04-13 18:02:47 +08:00
VPN 可用 WireGuard 部署在公网服务器作为 Server. 内网各用一台 Linux 部署 WireGuard 作为 Client, 不同的 Client 连上 Server 后, 通过 VPN 的虚拟 IP, 两两能 ping 通即可.
vmebeh
2022-04-13 18:07:02 +08:00
wireguard 配置一下 AllowedIPs 就会自动配路由
lutasa43210
2022-04-13 18:50:56 +08:00
办公 请购买商业产品 配置售后全套服务
documentzhangx66
2022-04-13 19:36:09 +08:00
公司还是去找运营商,异地组网,技术不是问题,问题是带宽与运营商。如果两地跨运营商,还得买 BGP 机房的线路,成本更高。
ik
2022-04-13 19:41:09 +08:00
每个办公区一个 vpn client 就行,开启转发,其他设备指定网段路由下一跳为这个 vpn client
ik
2022-04-13 19:43:43 +08:00
@ik 或者直接从路由器上写静态路由
29EtwXn6t5wgM3fD
2022-04-13 20:31:29 +08:00
商业产品的话可以看看云厂商的服务,比如腾讯的 CloudVPN 、SDWAN ~
mariolee
2022-04-13 20:50:16 +08:00
公司用建议购买运营商的数字电路(专线),不过费用较高,另外还可以可以买 sdwan 设备,利用现有宽带资源
freed
2022-04-13 20:52:59 +08:00
找运营商,购买 MSTP 专线.
就是可能有点贵..我们市内的都要几万一年,跨省应该更贵吧.
PopRain
2022-04-13 21:06:55 +08:00
好点的路由器都可以配置 lan to lan VPN
sdxlh007
2022-04-13 21:14:23 +08:00
Wireguard 可以,我们公司就是这么组的
wwhc
2022-04-13 21:26:18 +08:00
只用 ssh 就可以实现异地办公室互联
help.ubuntu.com/community/SSH_VPN
noqwerty
2022-04-13 23:31:09 +08:00
开 ssh ,让 @defunct9 上去看看
sampeng
2022-04-14 00:36:51 +08:00
这个太简单了吧。。规模不大其实不需要多好的路由器,只是做 vpn 链路而已。nat 后面一样可以。比如大名鼎鼎的 SoftEther 。开源。。安装点吧点吧就能全球组网。。
jsq2627
2022-04-14 04:20:05 +08:00
楼主可能没意识到 site to site VPN 也是 VPN 23333
ryd994
2022-04-14 06:56:54 +08:00
大家平时用的,需要从客户端拨号的,那是 point to site VPN 。用来 fq 的也是 point to site ,虽然很多人只是把它当 point to point 的加密 tunnel 来用而已。
你需要的是 site to site VPN 。怎么在路由器上配置就自己研究吧,关键字有了
ashes1122
2022-04-14 08:08:39 +08:00
@ElmerZhang
Remote network 里面填一下对面网络的地址。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/846662

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX