V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ech0x
V2EX  ›  问与答

关于局域网划分的问题,求教!

  •  
  •   ech0x · 2019-05-08 17:18:33 +08:00 · 2887 次点击
    这是一个创建于 2015 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有三台设备,按如下连接:

        无线路由器
      /          \
    机器 A        机器 B
    

    无线路由的 ip:192.168.1.1

    机器 A 的 ip:192.168.1.2

    这时候我想让机器 B 手动设置 ip 比如 172.100.1.2 网关为 172.100.1.1 掩码为 255.255.255.0 时,可以让机器 B ping 172.100.1.1 可以 ping 到机器 A。

    这时候机器 A 应该怎么配置?

    我试过在机器 A 的 en0:0 网卡上添加 ip 地址 172.100.1.1 掩码为 255.255.255.0 广播地址为 172.100.1.255 ,再在机器 B 上设置 ip 地址 172.100.1.2,掩码为 255.255.255.0 并不能 ping 通,是我配置有误吗?

    第 1 条附言  ·  2019-05-08 19:43:22 +08:00
    第 2 条附言  ·  2019-05-08 20:02:50 +08:00
    我用虚拟机做了试验,应该是把电脑作为网关,用 192.0.0.1 作为 dns 服务器,192.0.0.1 域名解析全部走 utun 设备代理,具体的 ip 段通过路由表走代理。
    37 条回复    2019-05-09 09:29:22 +08:00
    nfroot
        1
    nfroot  
       2019-05-08 18:51:48 +08:00 via Android
    不行,数据包就算无线路由器收到了,它也不会回复给你,它会往互联网回复数据包
    nfroot
        2
    nfroot  
       2019-05-08 18:54:19 +08:00 via Android
    不对,你这描述我糊涂了,

    A 机器把连接路由器的那个接口共享应该就可以了
    nfroot
        3
    nfroot  
       2019-05-08 18:56:24 +08:00 via Android
    又不对,你到底想干嘛,看你这个描述看得想发火了,你的目的是什么
    ech0x
        4
    ech0x  
    OP
       2019-05-08 18:56:53 +08:00
    @nfroot #1 我也是这么想的😂。主要我看到了网易 UU 的主机加速服务,它的使用方法就是你给你的主机设置好,软件提供的 ip,主机会通过加速器代理。我很好奇这是怎么做到的。
    nfroot
        5
    nfroot  
       2019-05-08 18:57:28 +08:00 via Android
    把你真正想要达到的目的说出来,这样简单点
    ech0x
        6
    ech0x  
    OP
       2019-05-08 18:57:58 +08:00
    @nfroot #3 不要生气,我的目的是想让没法建立 vpn 的主机,通过连接电脑代理加速。
    nfroot
        7
    nfroot  
       2019-05-08 19:01:13 +08:00 via Android
    @ech0x 网络加速器的原理是这样的
    互联网和蜘蛛网一样乱七八糟,运营商不会按照最短最快路径给你去路由(你可以理解为高德导航),它只会走最便宜的路线。明白了吗?
    所以加速器就是在半路上,把你拦下来,给你指一条更好更快,当然也更贵的路线

    你在内网做这个什么用都没有,只会减速
    ech0x
        8
    ech0x  
    OP
       2019-05-08 19:01:15 +08:00
    @nfroot #5 具体的使用我不是很会描述,我给你截张图不知道有没有帮助。




    ech0x
        9
    ech0x  
    OP
       2019-05-08 19:02:26 +08:00
    @nfroot #7 我知道加速器原理,我也知道是线路有加速作用,我想知道的不是加速器原理,我想知道的是主机加速的原理。😂
    ech0x
        10
    ech0x  
    OP
       2019-05-08 19:04:23 +08:00
    路由表太长发不出来😂
    nfroot
        11
    nfroot  
       2019-05-08 19:07:35 +08:00 via Android
    @ech0x 那应该是你把能连接 v。pn 的那个 v。pn 连接设置共享应该就可以了
    ech0x
        12
    ech0x  
    OP
       2019-05-08 19:08:56 +08:00
    @nfroot #11 对不起,我不是很能看懂,具体是什么意思呢?
    nfroot
        13
    nfroot  
       2019-05-08 19:10:59 +08:00 via Android
    a 机器添加 ip 172.100.1.1 255.255.255.0
    b 机器 172.100.1.2 255.255.255.0 网关 172.100.1.1 dns 设置互联网 dns 服务器

    a 机器共享 v。pn
    没这样搞过,应该是可以的
    momocraft
        14
    momocraft  
       2019-05-08 19:11:30 +08:00
    这个软件在电脑端做了什么吗?
    下面两个 NIC 状态又是在哪看到的
    nfroot
        15
    nfroot  
       2019-05-08 19:12:29 +08:00 via Android
    另外,172.100.1.0/24 是互联网 ip 段,好自为之
    nfroot
        16
    nfroot  
       2019-05-08 19:15:08 +08:00 via Android
    @ech0x a 机器如果加速器是通过系统自带的 v。pn 进行连接,你在网络连接里找到那个 v。pn 连接,它的属性里应该有个“共享”选项卡
    a 机器把连接到路由器的网卡也共享
    ech0x
        17
    ech0x  
    OP
       2019-05-08 19:15:08 +08:00 via iPhone
    @momocraft 我不是很清楚它具体做了什么,我现在知道的是,建立了一个 utun 设备( macOS 上的 tun ),给主网卡添加了一个新的 ip 地址,添加了很多路由表,还有开启了内核转发的功能。
    信息的来源就是 ifconfig 之类的工具……
    ech0x
        18
    ech0x  
    OP
       2019-05-08 19:21:37 +08:00 via iPhone
    @nfroot 应该不是利用内置的 vpn ……
    luckycatoi
        19
    luckycatoi  
       2019-05-08 19:27:28 +08:00 via iPhone
    看样子是把电脑做网关了,switch 的流量从电脑那边过,电脑再直连加速服务器,类似于软路由做二级路由过墙?
    ech0x
        20
    ech0x  
    OP
       2019-05-08 19:31:42 +08:00 via iPhone
    @luckycatoi 我也是这么想的,关键是不是在路由表里,我去想办法贴出来。
    luckycatoi
        21
    luckycatoi  
       2019-05-08 19:36:02 +08:00 via iPhone
    顺带一提 172.100 和你贴出来的 172.24 是两个概念,一个是公有地址,一个是私有地址。
    具体你可以在这里了解
    https://zh.m.wikipedia.org/zh-tw/%E4%B8%93%E7%94%A8%E7%BD%91%E7%BB%9C
    smallfount
        22
    smallfount  
       2019-05-08 19:36:15 +08:00
    ....如果在同一个 Switch 上。。。那么问题就在你的路由的 ARP 表是不是能正确显示你的 MAC 跟 IP 的映射了啊。。
    ech0x
        23
    ech0x  
    OP
       2019-05-08 19:38:02 +08:00
    @luckycatoi #21 是,是我疏忽了,我只是想随便举个例子😂
    ech0x
        24
    ech0x  
    OP
       2019-05-08 19:44:17 +08:00
    @nfroot #1
    @momocraft #14
    @luckycatoi #19
    @smallfount #22
    我 append 了路由表
    smallfount
        25
    smallfount  
       2019-05-08 19:48:46 +08:00
    @ech0x 你能告诉我确切的现在 2 台 Client 的 IP 不?
    vmebeh
        26
    vmebeh  
       2019-05-08 19:51:18 +08:00 via iPhone
    掩码是 255.255.0.0
    172.24.2.243 和 172.24.1.243 可以互通

    如 #19 所说,是用你的电脑做了网关
    ech0x
        27
    ech0x  
    OP
       2019-05-08 19:52:19 +08:00
    @smallfount #25 都在截图里,电脑的主网卡上有两个 ip,我不知道应该说哪个。switch 上的配置就是,软件提供的 ip。具体你可以看 #8 楼我发的图片
    ech0x
        28
    ech0x  
    OP
       2019-05-08 19:53:07 +08:00
    @vmebeh #26 为什么这个包不会被路由器给丢掉啊……
    vmebeh
        29
    vmebeh  
       2019-05-08 20:25:49 +08:00 via iPhone
    @ech0x 保留地址的包不会从 wan 出去,从 wan 进路由的包不对才会丢
    lookas2001
        30
    lookas2001  
       2019-05-09 00:07:46 +08:00 via Android   ❤️ 2
    说实在的我看了半天才看懂楼主你想干啥 hh。

    说白了楼主看到了 uu 加速器,发现这种连接方式比较奇特想了解这是怎么连接的对吧。

    如果我没理解错楼主你的意思,楼主你在帖子中发表的配置应该是没毛病的。

    小瑕疵如下方各位老哥所说将公网 ip 挪用到私网去用了,因为你有 nat,并不会污染到公网,不推荐,因为这样这些公网 ip 对应的资源你就无法访问了,但是应该不会带来任何配置上的问题。一个例子就是阿里云在解决 ip 不足的时候也是挪用了公网 ip。

    楼主你这个实验的话,其中的变量太多了,实在无法说明到底是哪个环节出了问题。

    我在本地用虚拟机测试是没问题的。我为本机和虚拟机分别制定了两组 ip,两组 ip 均可正常访问

    以下澄清几个概念,希望能对楼主理解网络是怎么运行的带来一定的帮助。

    能否 ping 通可以一定程度上说明连接情况,能 ping 通,同时可能因为有防火墙限制,体现成无法访问,这个例子可见重点时期没法用梯子,不能 ping 通,也不意味着链路不正常,因为对方可能主动屏蔽了 icmp ping 这些东西。

    网关和 dns 服务器的配置不是必须的,没有网关,没有 dns 服务器,比如你想通过 ip 访问局域网中的设备(服务等),是完全可行的。

    网关只是一个机器,他可以是常见的市面上卖的无线路由器,也可以是一台通用计算机。他的主要作用就是连通两个网络。

    在配置网络的时候一般会配置一个 ip 的同时配置一个子网掩码,这两个参数会标记出一个网络。比如 192.168.1.1 255.255.255.0 会标记出一个包含地址从 192.168.1.0 - 192.168.1.255 的网络。

    计算机在向一个 ip 发送包的时候会检测,如果目标 ip 是在本局域网内的,那么就往这台机器发包,否则就发包给网关,让网关将这个包转发到另外一个网络(因为网关能连通不同的网络啊)。

    具体计算机是怎么把包准确投递到对应的计算机上的话就是用 mac 地址。

    mac 地址的查找可以用 arp 协议来进行,具体来说就是同一局域网下的 a 想给 b 发包,a 会吼一句谁知道 b 的 mac 地址,b 也会吼一句他的 mac 地址,这样 a 就知道了 b 的 mac 地址。

    举个例子

    abc 在同一个局域网内 cd 在另外一个局域网内。( c 是网关)

    a 向 b 发数据,通过 b 的 ip 地址,a 发现自己和 b 在同一个局域网内,那么 a 为了投递数据,会吼(广播)一个问 b 的 mac 地址的询问,收到询问后,b 会说出自己的 mac 地址。

    a 知道后会生成一个 ip 为 b 的 ip,mac 地址为 b 的 mac 地址的包,发出。b 会发现这个包的 mac 地址是自己的而接收。

    以上整个过程不需要网关(实际体现就是你直接连个网线将这些机器连起来就可以了)

    a 向 d 发包的话,此时就需要网关 c 的介入了。a 会通过上述那些吼的方式获得网关 c 的 mac 地址,发送的包 ip 头是 d 的 ip,但是 mac 地址就是 c 的 mac,c 在收到这个包后会把 mac 地址相应的改成 d 的,ip 头不动,然后发到 d 所在的那个网络里。(如果有 nat,那就是 ip 头也动,tcp 端口也动,不细谈了)(网关可以没有有 nat 功能的,原本的 ipv4 互联网就是没有 nat 的,每台主机都是可以互相直接通过 ip 访问的,即每个主机都是有公网 ip 的,这个例子就如前一段时间 v 站有人发现 x 疆的公共 wifi 居然直接分配公网 ip )
    msg7086
        31
    msg7086  
       2019-05-09 02:23:58 +08:00
    A B 机像你这样配置应该是没有问题的。一个配置成比如说 172.18.1.1/24,另一个是 172.18.1.2/24,接在交换机下面直接 arp 发现然后互连就行了,不需要经过路由器。你可以看看 IP 地址有没有正确生效,以及再看看路由有没有屏蔽掉电脑之间互连。
    ech0x
        32
    ech0x  
    OP
       2019-05-09 06:05:24 +08:00 via iPhone
    @lookas2001 我大概懂了,是我二三层之间转换没有弄清楚。
    montoyaf
        33
    montoyaf  
       2019-05-09 06:34:25 +08:00 via iPhone
    配置个静态路由表吧
    lzvezr
        34
    lzvezr  
       2019-05-09 06:43:14 +08:00 via iPhone
    为了避免麻烦,我直接给了 10.0.0.0/8
    nfroot
        35
    nfroot  
       2019-05-09 08:13:03 +08:00
    如果不是调用系统自带 v。pn,可能是无法共享成功的。不过应该可以找第三方工具去做网关,这样应该可以。
    nfroot
        36
    nfroot  
       2019-05-09 08:21:13 +08:00
    昨天手机看不到图,你这不是 windows 系统,我无能为力~~~反正原理就是那个原理,不同系统应该只是操作有些不同而已
    Gnaij
        37
    Gnaij  
       2019-05-09 09:29:22 +08:00 via Android
    31 楼有点道理。网桥对上透明,无需路由器
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5831 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 01:51 · PVG 09:51 · LAX 17:51 · JFK 20:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.