交换机组建通讯子网并经过macOS共享网络

准备材料:

  1. 三个没有联网的树莓派,所装系统为centos7;
  2. 一个交换机;
  3. MacBook一台;
  4. 正常链接外网的无线路由器一台;
  5. 网线若干,根据具体状况可能还须要准备网线转接头;

网络组成示例

网络链接图

感受光文字描述不直观,我随便画了个示意图,大概如上图所示:nginx

  1. 三个树莓派经过灰色的网线、交换机和MacBook组建成一个通讯子网;
  2. MacBook经过无线(Wi-Fi)、路由器、其余我的电脑组成了另一个通讯子网;

对于交换机来讲,交换机不会像路由器同样自动分配IP地址,咱们经过网线、交换机进行链接的时候,此时虽然物理上产生连接了,但实际上并无产生通讯子网。shell

咱们知道网络链接从功能上划分来讲,分为七层,自顶向下分别为:vim

  • 第七层:应用层;
  • 第六层:表示层;
  • 第五层:会话层;
  • 第四层:传输层;
  • 第三层:网络层;
  • 第二层:数据链路层;
  • 第一层:物理层;

此时咱们只是搭好物理层、数据链路层,因此网络并不会产生通路;IP协议层属于网络层,因为交换机不会自动分配IP地址,因此此时咱们须要给主机配置IP地址,创建网络层。这些层建好后,其余更上层的协议由操做系统进行实现,咱们此时不作关注。segmentfault

具体流程

树莓派的配置

  1. 启动网卡
ifconfig eth0 up

说明:启用名称为eth0的网卡,一般来讲,树莓派也是有无线网络的,咱们在安装系统的时候,进行初始化的时候若是没有选择网络,一般网卡是没有启动的。能够经过centos

ifconfig -a

进行查看有哪些网卡,而后根据具体状况进行网卡启动,对应的关闭网卡命令为:网络

ifconfig eth0 down
  1. 配置IP
vim /etc/sysconfig/network-scripts/ifcfg-eth0

说明:此处根据具体状况,进行网卡配置文件的修改,具体能够到/etc/sysconfig/network-scripts/目录进行查看;搜索引擎

  1. 修改的配置文件内容
ONBOOT=yes # 开机启动
NM_CONTROLLED=yes
BOOTPROTO=static # IP地址方式设置为静态IP
IPADDR=192.168.2.1 # IP地址
NETMASK=255.255.255.0 # 子网掩码,默认为这个,不一样的子网掩码能用的地址数不一样
GETEWAY=192.168.2.10 # 默认网关先填这个

主要是配置以上几个参数,具体IP地址根据具体状况配置,依葫芦画瓢,分别设置其余几台树莓派的IPADDR地址为:centos7

  • 192.168.2.2
  • 192.168.2.3
  1. 重启网络
service network restart

正常状况下,当咱们给三台主机连上后,三台主机相互进行ping是能ping得通的,但此时咱们的MacBookping不通其余三台主机的;spa

MacBook的配置

MacBook的网络设置

如图所示,咱们打开macOS的网络设置如图,通常来讲,当咱们的MacBook与交换机连上了后,此时的USB 10/....这个网卡是绿色的,表示启用。我写这篇文章的时候不是在链接的状况下写的,因此是红色的。操作系统

配置IPV4的时候,咱们选择手动.
而后分别把IP地址、子网掩码、路由器分别配置为:

  • 192.168.2.10
  • 255.255.255.0
  • 192.168.2.10

而后点击应用按钮生效,正常的话,此时咱们在MacBook上ping其余主机是能ping得通的;


好了,咱们整个通讯子网组建好了,整套网络之间也能互相访问,可是网络的通讯机制决定了,不一样网段的通讯须要作路由器进行数据转发,具体的网络基础知识若是有疑问的话,能够经过搜索引擎搜索“子网掩码 IP地址 网关”进行了解。而对于子网来讲,咱们若是不能直接访问外网的话,一般咱们在作程序安装的时候会带来诸多不便,也会产生诸多麻烦事。因此,此时咱们就须要MacBook起到一个路由的做用。

MacBook配置数据转发

  1. 设置页点击 clipboard.png 按钮;
  2. 选择“互联网共享”
  3. 共享来源选择“Wi-Fi”
  4. 共享给电脑选择“USB 10/100/1000 LAN”,这个地方根据具体状况选择,要看交换机链接的是MacBook的哪一张网卡;

此时,正常来讲,咱们的MacBook就实现了网络转发功能,在子网的主机上能够直接上网了;可是,当咱们尝试着ping segmentfault.com 的时候却发现ping不通;而咱们能够随便找个外网的IP进行ping,是能ping得通的;若是出现这种状况,那么一般来讲就是DNS须要配置;

子网主机配置DNS

vi /etc/resolv.conf

写入配置

nameserver 8.8.8.8
nameserver 114.114.114.114

重启子网主机的网络

service network restart

此时咱们再来尝试

ping segmentfault.com

或者

yum search nginx

都能正常的进行网络交互了。

总结

总体来讲,咱们作过的事情其实主要就是4件事情:

  1. 网络物理层的链接;
  2. IP地址配置;
  3. 路由转发配置;
  4. DNS配置;

而对于理解为何须要作这些步骤,那么就须要理解网络七层协议的工做流程,理解网络的构建形式以及计算机系统是怎么实现这些协议的,而后才能够在不一样的计算机上进行网络配置。

备注

这里的网段为何设置为192.168.2.0 ~ 192.168.2.255这个网段是由于macOS的网络共享时候产生的bridge100网络桥接所属的网段就是这个,这个是一个坑,为后续屡次配置过程当中才发现的。网络上也有资料说能够修改这个网段,可是为找了不少资料进行操做,没有成功。切记。

相关文章
相关标签/搜索