位于两个网段内的服务如何才能通信呢?有哪些办法?

2018-08-28 08:33:28 +08:00
 hansonwang99

昨天面试被问到这个问题,这个问题应该如何回答呢,大佬们请指教一下

5356 次点击
所在节点    程序员
35 条回复
f4nyc
2018-08-28 09:52:36 +08:00
@lieh222 老哥你说的是广域网,大家考虑的大概是局域网跨网段,而且实质网络层都是一样的
baicheng10
2018-08-28 09:55:12 +08:00
@Blazings 就像 8 楼说的:"我和 V2EX 也位于两个网段",宽泛而司空见惯的问题让人不知道如何回答......
gamexg
2018-08-28 10:16:05 +08:00
最简单最常用的就是路由器。
mrzx
2018-08-28 10:21:05 +08:00
问题问的太宽泛。

就跟问电脑怎么修一样的性质。
q397064399
2018-08-28 10:22:07 +08:00
静态路由, 设置路由节点

VPN
很多手段
raysonx
2018-08-28 10:22:45 +08:00
8 楼的抖机灵笑死我了
lauix
2018-08-28 10:28:59 +08:00
我认为问的的是 两台异地内网电脑如何通信,不采用公网服务器,和其他硬件我也不知道怎么通信。
wizardoz
2018-08-28 10:38:33 +08:00
问题太宽泛了。比如说同连接到一个 VPN 或者消息队列就可以通信。
如果不能连 VPN 的话,那就是网关端口转发。
如果不能做端口转发的话那就是路由配置。
如果以上都不能的话就用 U 盘
qqpkat2
2018-08-28 10:44:26 +08:00
10 楼已经给了答案,中转或者打洞
wlwood
2018-08-28 11:07:14 +08:00
楼上都说的差不多了。我总结下。


楼主要解决的是,两个服务跨网段通信。

在 2 层网络,应该没办法了。

如果要在 3 层网络上来解决:
如果是同一个路由之下的两个网段,添加静态路由就可以了。
如果是两个不同区域的网段,
1. 在两个网络的路由处,做端口映射。然后对方就可以 ip+端口访问了。
2.用 vpn( 其实 vpn 也是转归为添加可访问的路由。如果是电脑连接 vpn,查看电脑路由,会多出一条路由。如果是路由器连接 vpn,路由器也会有一条路由)


3 层之上,采用代理之类的进行转发。像楼上说的 UDP 打洞,还有使用一台有公网地址的机器进行转发。


总结上面,其实,3 层网络之上的,最终也会转为 3 层网络的路由寻址。而 3 层的方法,其实也都可以归为路由寻址。楼上说访问 v2,其实是 DNS 解析域名,然后拿到 IP, 最终也是 通过路由寻址,访问到了 v2 的服务器 IP 地址进行访问。
只要解决路由问题了,两个服务之间,可以寻找到路由进行访问,也就可以解决跨网段通信了。
tshwangq
2018-08-28 14:02:10 +08:00
中间放个程序员鼓励师负责喊话
dbw9580
2018-08-28 15:07:52 +08:00
rfc1149 IPoAC 了解一下 极高吞吐率
xuanbg
2018-08-28 15:33:56 +08:00
添加静态路由
zichen
2018-08-28 15:35:25 +08:00
NAT 的四个写法了解一下。
dengshuang
2018-08-28 15:42:10 +08:00
vlan 和 路由 。

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

https://www.v2ex.com/t/483825

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

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

© 2021 V2EX