在这一篇文章中http://blog.csdn.net/zhangdaisylove/article/details/46892917的案例,明确的说明两个不同网段的PC不能Ping的通,其实他给出的答案是片面的,忽略了有路由的功能。

如题,两台PC相连,假设PC1的IP为1.1.1.1,PC2的IP为2.2.2.2。

当PC1 Ping PC2时,会首先查看自己的APR缓存,看是否有2.2.2.2对应MAC地址。第一次显然没有,那么就需要发送ARP包来询问谁的IP地址为2.2.2.2

PC2收到来自PC1的ARP包之后,会回答说我就是2.2.2.2,将MAC地址发送个PC1.

如果按照这个思路,显然是可以Ping的通的。

但是,问题的根源就在这里了,ARP包是在什么情况的时候发送。

ARP协议是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题的。

也就是说当PC1想Ping PC2之前,要先看PC2是否与自己在同一个网段上,如果在一个网段上,可以直接广播ARP,如果不在,那么需要向网关发送ARP包,

网关查询自己的ARP缓存。也就说如果两台直连,不通网段是无法Ping通的。

好,那么下面再来看看这篇文章https://www.linuxidc.com/Linux/2017-08/146368.htm的这个图,下面解释了如何实现不同网段之间的电脑进行互Ping:

配置:

1、如图所示先配置所有的IP地址

2、针对不同的机器配置路由

  • Aubin-CentOS1

    route add default gw 10.0.1.1
  • CentOS-R1

    route add -net 10.0.3.0/24 gw 10.0.2.2
    route add -net 10.0.4.0/24 gw 10.0.2.2
    echo 1 > /proc/sys/net/ipv4/ip_forward #启用转发功能(可以理解为启用路由功能)
    iptables -F #关闭防火墙
  • CentOS-R2

    route add -net 10.0.1.0/24 gw 10.0.2.1
    route add -net 10.0.4.0/21 gw 10.0.3.1
    echo 1 > /proc/sys/net/ipv4/ip_forward
    iptables -F
  • CentOS-R3

    route add -net 10.0.2.0/24 gw 10.0.3.2
    route add -net 10.0.1.0/24 gw 10.0.3.2
    echo 1 > /proc/sys/net/ipv4/ip_forward
    iptables -F
  • Aubin-CentOS1

    route add default gw 10.0.4.1

以上就是全部配置,然后用CentOS1去测试,ping CentOS2的IP地址10.0.4.100。如果ping通则所有配置均没问题。如果没有通请参展以下几点做检查。

1、使用route -n查看路由是否生效。

2、cat /proc/sys/net/ipv4/ip_forward查看输出是否为1,如果为0说明没有开启转发功能。

检查echo 1 > /proc/sys/net/ipv4/ip_forward是否执行成功。

3、检查IP 与 掩码是否配置正确,因为有多个IP地址容易搞混,所以好好检查。

4、检查是是否关闭防火墙,执行iptables -F

5、如果在虚拟机环境下做实验,检查MAC地址是否冲突

两个不同网段的PC直连是否可以Ping通,肯定可以Ping的通(转)的更多相关文章

  1. android与PC直连的socket问题

    关键字:abdroid 模拟器 socket 突然有人说使用android的模拟器做socket服务器,PC做客户端,使用UDP通信的时候,android端无法收到数据包.反过来没问题,我觉得这怎么可 ...

  2. Juniper srx新增接口IP,使PC直连srx(转)

    转自:https://www.jianshu.com/p/bc27134bde3d Juniper srx新增接口IP,使PC直连srx 2018.11.19 14:24:15字数 424 概述 需求 ...

  3. linux环境中,两个不同网段的机器互通

    linux环境中,两个不同网段的机器互通   人评论3690人阅读2019-11-18 14:50:21   环境如下:   host1 单网卡 eth0 172.24.100.15/16   hos ...

  4. NAT 模式下有两个虚拟机 网段不一样,一台可上网,可ping通,一台上不了网且ping不通

    NAT 模式下有两个虚拟机 网段不一样,一台可上网,可ping通,一台上不了网且ping不通直接修改网段的话,会登录不上去,解决方法:设置>网络适配器>高级>生成mac地址重新登陆即 ...

  5. PC问题-可以PING通IP,PING名字不通,可以远程,但不能访问共享文件夹?

    问题现象:可以PING通IP,PING名字不通,可以远程,但不能访问共享文件夹? 问题原因:目标主机中NetLogon服务未启动. 问题处理:远程打开目标主机,“我的电脑-管理-服务-启动(改为自动) ...

  6. 路由表flags的U值引起的能ping通网关,ping不通其它网段的案例

    故障的: 正常的: 初步分析: 看路由表的flags ,之前故障时是U.现在正常的是UG查了下说明,应该是这个原因.U — 路由是活动的G — 路由指向网关

  7. 006一句话解决主机pc,Vmware虚拟机,开发板之间的ping问题

  8. 没有IP地址的主机怎样保持IP层联通

    在<两台不同网段的PC直连能否够相互ping通>一文中,我有点像在玩旁门左道,本文中.我继续走火入魔.两台机器,M1和M2,各自有一个网卡eth0,配置例如以下:M1的配置:eth0上不配 ...

  9. Vlan技术总结

    VLAN主要有两个作用: vlan可以有效的控制广播域的范围 vlan可以分组设备,增强局域网的安全性(业务隔离) vlan的范围: 一共有4096个vlan,vlan 1为默认vlan.但其中vla ...

随机推荐

  1. Ural Sport Programming Championship 2015

    Ural Sport Programming Championship 2015 A - The First Day at School 题目描述:给出课程安排,打印一个课程表. solution 暴 ...

  2. Linux Supervisor的安装与使用入门---Ubuntun

    Linux Supervisor的安装与使用入门 在linux或者unix操作系统中,守护进程(Daemon)是一种运行在后台的特殊进程,它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事 ...

  3. Crypt加密函数简介(C语言)

    定义函数 char * crypt (const char *key,const char * salt); 函数说明 crypt是个密码加密函数,它是基于Data Encryption Standa ...

  4. js获取系统时间

    //------------------------------------获取系统日期时间 var oDate=new Date(); //alert(oDate.getFullYear());// ...

  5. 语音性别识别 - 使用R提取特征

    步骤 1)安装R.windows操作系统安装包的链接:https://cran.r-project.org/bin/windows/base/ 2)切换当前路径为脚本所在路径 点击 文件 > 改 ...

  6. hdu4347

    求与询问点欧几里德距离前m小的点 其实就是在kdtree询问的时候用优先队列维护一下就好了 好久没写kdtree练一练,注意这道题是多测 #include<bits/stdc++.h> u ...

  7. WPF 获取指定文件的Icon

    C# var icon = System.Drawing.Icon.ExtractAssociatedIcon(@"filepath"); var m = new MemorySt ...

  8. css 字符图标浏览器自带

    项目中用到的一些特殊字符和图标 html代码 <div class="cross"></div> css代码 .cross{ width: 20px; he ...

  9. git的使用总结【干货·转载】

    源文地址:https://juejin.im/post/5a54386af265da3e3b7a6317 摘抄: 版本树 / graph / network 干净简洁清晰 提交信息明确 易维护易读 举 ...

  10. vscode 解决vue emmet不起作用

    现在 vscode 自带的提示已经很好用了,大部分时间自带的提示展示的 emmet 内容已经是所需的了 在首选项 设置中配置 v1.15.1 之后需要这样设置: "emmet.trigger ...