Windows 和 Ubuntu通讯的网络设置
如果你是一个嵌入式工程师,因为工作需要,在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通讯的网络设置已配好。
我是一个十分热爱技术的程序员,希望这篇文章能够对您有帮助,也希望认识更多热爱程序开发的小伙伴。
感谢!