• 请不要在回答技术问题时复制粘贴 AI 生成的内容
hansonwang99
V2EX  ›  程序员

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

  •  
  •   hansonwang99 ·
    hansonwang99 · Aug 28, 2018 · 7021 views
    This topic created in 2990 days ago, the information mentioned may be changed or developed.

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

    35 replies  •  2018-08-28 15:42:10 +08:00
    lang1pal
    lang1pal
    Aug 28, 2018
    1
    VPN
    Remember
    Remember
    Aug 28, 2018
    3
    VPN 不就是干这个的?
    rola
    rola
    Aug 28, 2018
    4
    上三层
    sundayhk
    sundayhk
    Aug 28, 2018 via Android
    5
    vlan,路由
    yingfengi
    yingfengi
    Aug 28, 2018 via Android
    6
    跨三层啊
    交换机开 VLAN 互访呗
    zasilla
    zasilla
    Aug 28, 2018
    7
    交换机起三层,通过 vlan 路由互访
    lieh222
    lieh222
    Aug 28, 2018❤️2
    8
    这个问题问的。。。我和 V2EX 也位于两个网段
    jasonyang9
    jasonyang9
    Aug 28, 2018
    9
    define 网段?
    stephenyin
    stephenyin
    Aug 28, 2018
    10
    relay 或 p2p.
    Cat73
    Cat73
    Aug 28, 2018
    11
    UDP 打洞,中间服务器转发
    zarte
    zarte
    Aug 28, 2018
    12
    你就说我又不是来面试网工的,你要不要问下怎么弄网线呀。
    JinShu
    JinShu
    Aug 28, 2018 via Android
    13
    笑。。这不是网管的活吗。难道你被招网管吗
    abcbuzhiming
    abcbuzhiming
    Aug 28, 2018
    14
    三层交换啊
    pythonee
    pythonee
    Aug 28, 2018
    15
    网络问题其实是挺有意思的
    uncat
    uncat
    Aug 28, 2018 via Android
    16
    可以用 OpenVPN 实现,如果都是 Linux 内核的服务器集群,也可以考虑用 wireguard 实现。 https://community.openvpn.net/openvpn/wiki/OpenvpnSoftwareRepos#InstallingOpenVPN
    jydeng
    jydeng
    Aug 28, 2018
    17
    三层交换机、路由器配路由
    baicheng10
    baicheng10
    Aug 28, 2018
    18
    如果突然被问到这个问题,还真会懵,就好比问:位于成都和重庆的两家公司,如何才能沟通?有哪些方法?
    过去面对面交流?搭乘什么交通工具?需要自己修路吗,这是考修路的能力吗?感觉问题不是在问这个?视频会议?方便是方便一点,但还是面对面交流好一点吧?是问如何视频会议解决方案?打电话?……
    Tink
    Tink
    Aug 28, 2018
    19
    配置 vlan 呀
    Blazings
    Blazings
    Aug 28, 2018 via Android
    20
    @baicheng10 问号❓❓❓
    f4nyc
    f4nyc
    Aug 28, 2018 via iPhone
    21
    @lieh222 老哥你说的是广域网,大家考虑的大概是局域网跨网段,而且实质网络层都是一样的
    baicheng10
    baicheng10
    Aug 28, 2018
    22
    @Blazings 就像 8 楼说的:"我和 V2EX 也位于两个网段",宽泛而司空见惯的问题让人不知道如何回答......
    gamexg
    gamexg
    Aug 28, 2018
    23
    最简单最常用的就是路由器。
    mrzx
    mrzx
    Aug 28, 2018
    24
    问题问的太宽泛。

    就跟问电脑怎么修一样的性质。
    q397064399
    q397064399
    Aug 28, 2018
    25
    静态路由, 设置路由节点

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


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

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

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


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


    总结上面,其实,3 层网络之上的,最终也会转为 3 层网络的路由寻址。而 3 层的方法,其实也都可以归为路由寻址。楼上说访问 v2,其实是 DNS 解析域名,然后拿到 IP, 最终也是 通过路由寻址,访问到了 v2 的服务器 IP 地址进行访问。
    只要解决路由问题了,两个服务之间,可以寻找到路由进行访问,也就可以解决跨网段通信了。
    tshwangq
    tshwangq
    Aug 28, 2018
    31
    中间放个程序员鼓励师负责喊话
    dbw9580
    dbw9580
    Aug 28, 2018
    32
    rfc1149 IPoAC 了解一下 极高吞吐率
    xuanbg
    xuanbg
    Aug 28, 2018
    33
    添加静态路由
    zichen
    zichen
    Aug 28, 2018
    34
    NAT 的四个写法了解一下。
    dengshuang
    dengshuang
    Aug 28, 2018
    35
    vlan 和 路由 。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3017 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 78ms · UTC 11:42 · PVG 19:42 · LAX 03:42 · JFK 06:42
    ♥ Do have faith in what you're doing.