如果你是一个嵌入式工程师,因为工作需要,在linux下进行开发,一定会遇见配网问题。这篇文章解决Windows 和虚拟机Ubuntu通讯的网络设置的问题。
Windows的网络配置:
		在配置网络前,先了解一下windows和ubuntu的网络构成:
			IP地址     ----> 上网凭证 独立 
			子网掩码  ----> 用来判断两个IP是否在同一网段下
            网关        ----> 用来管理同一网段下的信息发送和接收
            DNS域名解析 --> 用来解析 某个域名的真实地址

逐个分析:
IP:
 IP的逻辑是在网络上声明你的地址,通过地址的方式访问网络中的数据
		192.168.10.xx   (xx:分配到的数值)
                        例如:192.168.10.11  ---> 分配到第11号
                               192.168.10.21   ---> 分配到第21号
	一个IP地址对应一台电脑,绝不可以被分配给2台电脑,会导致抢占网络而不可用。IP地址从 0~255,其中有几个位置是不可用的:
	IPv4:4个字节  32位长度 (最大值为 255.255.255.255)
		潜规则:在一个网段下: 192.168.10.(0~255)前三位代表固定的网段,最后一位可分配网络。
	其中,在一个网段下,有几个IP是不能用的:
		192.168.10.0 ;--->用来代表网段 
		192.168.10.1 ;--->默认为网关 
		192.168.10.255;-->网段广播号  
子网掩码:
子网掩码类似固定值  
              前缀长度:24 
              子网掩码:255.255.255.0
网关:
网关:用来管理同一网段下的信息发送和接收。

DNS域名解析:
DNS域名解析: 固定值 
    例如抖音账号下会显示你的:【IP所属地】DNS可以显示到具体街道地址详情的机器定位,只是由于涉及个人隐私所以隐藏了。
        DNS根据网络运营商提供:
              例如我当前的网络来源于: 深圳 电信 202.96.128.86
	还可以解析网络中某些页面的真实地址:举个例子(www.baidu.com)
	https://www.baidu.com/   ----》协议名  -----》然而,所有的网络本质上都是一个独立的IP地址
	IP地址(即为这个网络的真名):


 以前可以直接使用Ip访问,因为直接使用IP访问没有经过安全协议,于是,百度那边的后端会认为这一次访问是一次攻击,因而此次访问被拦截。(如下,直接使用IP地址访问对应网址)
 
在了解了以上知识储备的基础之上,我们来进行对本机和ubuntu的网络配置。
windows网络配置

 
修改windows的IP地址:
		 1>自动:我们这里不使用自动分配,缺点:混乱
				windows可以自动分配IP,但是外接开发板,Ubuntu统一IP地址的时候不行,需要统一IP地址。
				如果没有分配好IP地址,后期可能会出现的问题:造成开发板IP 和 windowsIP 冲突,导致无法运行。所以,我们选择手动配置IP地址,进行有序排列。
		 2>手动 ------> 有序排列 
			IP:192.168.10.XX (XX:自己分配,避开默认不可用的IP值)
                            子网掩码:255.255.255.0 
                         或前缀长度:24
                             网关:192.168.10.1 (看自己的具体情况)
                             DNS:202.96.128.86 (我用的深圳电信)
						  备用DNS:114.114.114.114
ubuntu 网络配置
网络构成和windows一样
ubuntu的IP修改比较特殊: 
          	分两种修改方法: 
                  1>图形界面修改(如下图)
                          通过桌面版本,对桌面图标进行直接修改
                          简单,快捷,比较符合我们常年使用windows的习惯 
                          缺点: 
                                1.1>修改优先级没有字符界面高,字符界面中修改的内容会将图形界面中的内容覆盖掉
                                        
                  2>字符界面修改
                          通过命令和指令达到操作目的
                          需要操作者懂命令,懂命令逻辑 和指令,有一定的门槛
                          缺点: 
                                2.1>使用起来相对麻烦 
                                2.2>找文件不方便

 
			3>ubuntu的网络配置(Ubuntu18.0之后的版本)
				 ☆☆☆ 字符界面修改 
				1>需要从VMware中把 网络适配器改成 **桥接模式**(如下图,先将Ubuntu设置为桥接模式)
                        桥接模式:ubuntu的网络独立,windows的网络独立相互之间不影响,
                        桥接模式是真正在路由器中申请一个独立IP进行上网。
						NAT模式:ubuntu的网络,复制windows的IP,然后进行别名相互影响。
                                        
                        主机模式:ubuntu的网络完全依赖于windows的网络,
                         注意:修改网络模式,需要重启使其生效。 

 
				2>通过修改网络配置文件达到配网的目的:
                       2.1> ping www.baidu.com
                            备注:打开终端的快捷键:ctrl + alt + t
					
				3>如果有网络执行以下语句: 
                            sudo apt-get install net-tools 
                            ifconfig
                            如果没有网络就忽略,执行以下操作
				            3.1>打开网络配置文件 
                                   sudo vim /etc/netplan/*.yaml 
                                       
                                   */没有vim 
                                       	sudo gedit /etc/netplan/*.yaml
                                   	*/(文本编辑操作面板)

 
						3.2>写入网络配置数据 
							备注:addresses: [192.168.7.111/24] -----> [ip地址/子网掩码的前缀长度]
								 gateway4: 192.168.10.1 -----> 网关
						   	 	 nameservers:
                    					addresses: [202.96.128.86, 114.114.114.114] -----> DNS/DNS备选
                            重点:需要严格注意文件中的缩进
	至Ubuntu17.10以后interfaces的配置就无法生效,已经被时代淘汰,由于去配置过于复杂,官方使用了一种更简便的方法——netplan,代替interfaces的配置:
	此处为18.04.04版本
	Ubuntu18的网络配置:
	打开配置文件:sudo vim /etc/netplan/*.yaml,写入以下配置内容:
				(*代表文件名。)
				(注意不能有空格,tab键需要严格控制)
				 ethernets:
    					ens33:
            						dhcp4: no
            						dhcp6: no
            						addresses: [192.168.10.111/24]
            						gateway4: 192.168.10.1
            						nameservers:
                    							addresses: [202.96.128.86, 114.114.114.114]
				配置完成保存退出,
				执行下面的命令
				 sudo netplan apply
				配置完成生效后使用ifconfig,ping等命令检测网络是否配置成功。

 
 
 以上,windows和Ubuntu通讯的网络设置已配好。
我是一个十分热爱技术的程序员,希望这篇文章能够对您有帮助,也希望认识更多热爱程序开发的小伙伴。
 感谢!



















