1.1 同一网段
在不少实验中,都会需要用到局域网的一些基础知识,在技术支持的过程中,发现不少用
户对于这个概念非常模糊,导致 IP 地址或者网络环境稍微有点变化,就无法实现实验。如果
没有接触过这个概念,建议将本文档好好看一下,最好手动计算并验证两个 IP 地址是不是在
同一网段。
局域网通信中会经常用到“同一网段”的概念。要弄明白这个概念需要结合 IP 地址以及
子网掩码。
本篇文章基于iTOP-4412开发板
1.1.1 IP 地址
关于 IP 地址的理论知识,网络上有大量的文章。
这里主要是介绍和开发板有关系需要注意的 IP 地址。
如下图,使用 IFconfig,可以查看 Ubuntu 系统下的 IP,下图表面 Ubuntu 的 IP 地址是192.168.0.226。
在使用 SSH 软件和 Ubuntu 连通传文件,就需要先在 Ubuntu 下查看 IP 地址。
再来看一下开发板的 IP,如下图,在查看最小文件系统的 etc 文件可以看到默认的 IP 地址为 192.168.1.230。
上图是没有打包编译的最小系统,如下图,是运行着的最小 linux 系统,也是可以查询和修改 IP 地址的。
最小系统在开发板上运行的时候,也可以使用 vi 命令来修改 IP 地址。1.1.2 子网掩码子网掩码的查询和 IP 的查询方式一模一样。
如下图所示,使用 ifconfig,可以查看 Ubuntu 系统下的子网掩码,下图表示 Ubuntu 的子网掩码是 255.255.255.0。
再来看一下开发板的子网掩码,如下图,在查看最小文件系统的 etc/eth0-setting 文件可以看到默认的子网掩码。
上图是没有打包编译的最小系统。下图是运行着的最小 linux 系统,也可以查询和修改子网掩码。
最小系统在开发板上运行的时候,也可以使用 vi 命令来修改子网掩码。
2.1 确认 IP 在同一网段
本小节主要介绍如何确认两个 IP 是不是在同一网段。
如果大家计算发现 Ubuntu 系统的 IP 和开发板的 IP 不在同一网段,则需要修改开发板的IP。
单纯的两个 IP 不能直接拿来确认是不是在同一网段,必须结合子网掩码经过计算才能得出结论。
计算方法是:两个 IP 分别和相应的子网掩码做与运算,得出的结果相等则表明在同一网段。
这里以 2.1 和 3.1 小节开发板和 Ubuntu 系统中的 IP 和子网掩码来做演示。
Ubuntu 系统的 IP 和子网掩码分别是:192.168.0.226 和 255.255.255.0
开发板的 IP 地址和子网掩码分别是:192.168.1.230 和 255.255.255.0
进行与运算需要转换为二进制
Ubuntu 系统:
IP:11000000 10101000 00000000 11100010
MASK:11111111 11111111 11111111 00000000
Result 二进制:11000000 10101000 00000000 00000000
Result 十六进制:192.168.0.0
开发板:
IP:11000000 10101000 00000001 11100110
MASK:11111111 11111111 11111111 00000000
Result 二进制:11000000 10101000 00000001 00000000
Result 十六进制:192.168.1.0
对比上面两个十六进制结果,可以发现这两个例子中的 IP 地址并不在同一个网段。开发
板需要重新根据路由器或者交换机来修改 IP。
3.1 根据实际情况修改 IP 和子网掩码
如下图,作者的路由器地址为 192.168.0.1,大家
根据实际情况登陆路由器,路由器背面
一般都有这个地址,如果没有查一下路由器的手册。
注意上图中 WAN 设置界面中的网关是 192.168.1.1,这个是广域网的网关,实验中使用
的是局域网的网关,需要选择“LAN 口设置”再查找网关。
如下图,选择 DHCP 服务器,这里会有一个分配局域网中的 IP 区间。也就是说 IP 可以设
置为 192.168.0.220 到 192.168.0.250 这个区间。
如下图,选择“LAN 口设置”再查找,子网掩码为 255.255.255.0。
另外在后面的 NFS 文件系统实验的时候需要上面的 192.168.0.1 这个地址,可以把这个
地址看成局域网的网关,而不能使用 WAN 中的网关!
了解了 IP 地址,子网掩码,查看了路由器设置之后,首先可以确定子网掩码为
255.255.255.0,然后 IP 地址可以处于 192.168.0.220 到 192.168.0.250 这个区间。大家可以
在这个区间取一个地址来计算。
最后根据大家的实际情况,确认了 IP 地址和 MASK 地址之后,修改最小 linux 系统中的
etc/eth0-setting 文件,将它们的 IP 设置到同一网段!
弄明白“同一网段”的概念之后,后面和网络相关的实验会简单很多