3. 网络连接及静态配置¶
LubanCat-p1板卡搭配了以太网口、WIFI模块,还可以外接USB转以太网模块等,这样我们的网络需求就不止是提供板卡来上网这么简单了,不同的搭配组合,可以衍生出无数种变化。
3.1. ping命令¶
ping(Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序。 它是用来检查网络是否通畅或者网络连接速度的命令
ping的原理: 向指定的网络地址发送一定长度的数据包,按照约定,若指定网络地址存在的话, 会返回同样大小的数据包,当然,若在特定时间内没有返回,就是“超时”,会被认为指定的网络地址不存在
3.1.1. 局域通信¶
一个局域网中是必备网关(gateway)的, 我们可以通过ping网关来看自己的ip能不能成功使用, 如果连网关都ping不通就证明这个局域网是没有连接起来。
1 2 | #ping命令
sudo ping + ip地址
|
成功联网就可以看到有一连串的数据,如图下

如果没有成功联网就会报错,如图下

3.1.2. 连接互联网¶
我们可以通过ping网站来查看自己的板卡是否连接互联网
1 2 | #ping命令
sudo ping xxx.com
|
以www.baidu.com为例
成功联网就可以看到有一连串的数据,如图下

如果没有成功联网就会如图下

3.2. 网络连接¶
连接互联网或者组成局域网都需要满足一个前提–设备需要获取到ip, ip可以理解为设备的名字,局域网内的设备在局域网内可以通过ip进行沟通。
1 2 3 | #查看ip
ifconfig
|

3.2.1. 网口连接¶
LubanCat-p1板卡板载一个网口,网口的样子如下

连接网络需要将网线插入网口内,我们的板卡都支持10/100M自适应, 读者可以根据自己网络选择相应的网线连接
连接成功后,网口的灯会亮
黄灯是链路状态灯,黄灯亮起代表网线正常接入,链路正常。
绿灯是数据状态灯,绿灯闪烁表示有数据交互,闪烁越快交互的数据越多。
3.2.2. 无线连接¶
3.2.2.1. 命令行图形化连接¶
进入图形配置
1 | sudo nmtui
|
移动键盘方向键移动到
Active a connection
按Enter键
进入wifi设置

然后移动方向键到你要连接的wifi,按
Enter键
如果是连接未连接的有密码的热点则进入输入密码界面
如果是没有密码或者已连接的热点则连接热点或者取消连接热点

第一次连接有密码的热点时,如图下

输入密码后,就可以看到wifi已连接

如果想要断开wifi,在已连接的状态按下 Enter键
就可以断开连接
3.2.3. USB共享网络¶
3.2.3.1. 手机USB共享网络¶
使用USB共享网络步骤
注意
使用该功能前需要注意查询自己的手机型号支不支持USB网络共享
操作步骤:
手机需要连接互联网
手机与板卡使用USB连接起来
手机开启USB共享的功能
完成上面步骤后板卡即可共享手机上的网络
手机开启USB共享的功能可以去百度查询,因为不同的手机, 不同系统版本的设置方式不一样,这里就不做详细。
这里以Redmi K20 Pro为例,小米系统操作方法应该类似
使用TYPE-C线(能传输数据)连接板卡和手机
手机开启USB共享的功能,如下图

其他手机的共享网络的方法(没有实测过,理论上是可以的,如不成功可以自行百度)
3.2.3.2. 电脑USB共享网络-Windows¶
错误
有些电脑可能没有RNDIS驱动,无法识别USB虚拟网络设备,特别是Win11系统,又或者有些电脑默认是某个RNDIS驱动,不稳定经常断线,所以建议用户更换微软自带的RNDIS驱动。
3.2.3.2.1. 更换微软RNDIS驱动¶
如果没有RNDIS驱动,则可能显示如下图,RNDIS设备带感叹号。

如果有RNDIS驱动,但不是微软自带的驱动,而是其他驱动,则可能是带有RNDIS相关字眼的设备,如下图。

右击选中上述RNDIS设备,再选择“更新驱动程序”,然后选择“浏览我的电脑以查找驱动程序”,如下图。

再选择“让我从计算机上的可用驱动程序列表中选取”,如下图。

再在常见硬件类型列表中,往下拉,选择“网络适配器”,如下图。

如果有“显示兼容设备”的选项,需要打勾,没有则直接厂商选择“Microsoft”,型号选择“远程NDIS兼容设备”即可。

如果弹出警告提示windows无法验证这个驱动程序是否与硬件兼容,如下图,在确保一开始选择对RNDIS的设备以及后续步骤正确的情况下,选择“是”即可。

完成以上步骤后可以看到RNDIS设备显示为远程NDIS兼容设备,如下图。

在网络连接管理页面,可以看到RNDIS网卡,如下图。

3.2.3.2.2. USB共享网络¶
操作方法:
使用能传输数据的线连接电脑的USB口及板卡的OTG口(一般为供电口)
电脑开启网络共享,具体方法如下
打开网络设置

查看当前网络状态

查看当前所有的网络连接

配置网络共享

板卡端默认配置了usb rndis网卡的ip为192.168.137.10,可以使用该命令,查看是否成功连接上网络
1 | ping baidu.com
|
成功如下图

如果无法ping通,可以重新配置电脑共享网络,先取消共享然后重新共享网络到usb rndis网卡.
3.2.3.3. 电脑USB共享网络-Linux¶
注解
下面使用Ubuntu20.04进行演示,其他Linux发行版操作过程也类似
操作方法:
使用能传输数据的线连接电脑的USB口及板卡的OTG口(一般为供电口)
电脑开启网络共享,具体方法如下
将LubanCat板卡通过OTG接口正确连接电脑
当连接完成后,在终端使用lsusb命令可以看到一个 Linux-USB Ethernet/RNDIS Gadget 设备, 使用ifconfig命令可以看到usb0网卡

打开网络设置并新建接口
在终端中使用nm-connection-editor命令,打开网络管理器,新建一个以太网(Ethernet)连接

配置网络共享
修改以太网选项卡配置,设置设备为usb0,也就是连接到LubanCat的网络设备

修改IPv4设置选项卡,将方法设置为与其他计算机共享,然后添加ip和掩码配置,ip设置为192.168.137.1,掩码设置为255.255.255.0,然后保存设置

板卡端可以使用该命令,查看是否成功连接上网络
1 | ping baidu.com
|
成功如下图

3.3. 静态网络配置¶
这里分享一篇与网络相关的文章,文章介绍了生活中我们的互联网构成的基础结构,
还可以让我们了解一下下文的 addresses
gateway4
nameservers
等,
可以帮助设置静态IP
ps:文章有点长,阅读并理解可能需要十多分钟
注解
如果静态ip的设置不正确,就会导致网络无法正常连接网络
注意
如果是入门的小白,建议把动态获取到的ip设置成静态
3.3.1. 静态ip无法连接网络问题排查¶
这一小节是解决你在设置静态ip时,无法连接网络的问题排查, 如果问题排查都无法解决问题,建议百度命令行输出的内容。
1 2 3 4 5 6 7 8 9 10 11 12 13 | 静态ip无法连接网络问题排查
1.无法连接网络 ----> 查看动态ip连接是否能正确联网
可以---->往下面排查,不可以---->网络链路有问题
2.检查自己的网关有没有设置正确 -----> 查看动态连接时自动设置的网关
一样---->往下面排查 , 不一样 -----> 重新设置一下网关
3.查看设置的静态ip地址已经被其他设备占用 ----> ping 网关
可以---->往下面排查,不可以---->更改静态ip 或者设置动态分配ip
4.设置DNS servers ---->设置为114.114.114.114 或者 8.8.8.8
可以---->结束 , 不可以----->根据debug信息前往geogle搜查
|
3.3.2. nmtui¶
设置静态地址前的ip地址

如果想要成功的设置静态地址需要留意你想要设置的ip地址是否被其他设备占用, 可以用ping 设置的静态地址,如果有数据返回证明ip是被其他设备占用的
注意
这里建议不懂网络配置的萌新可以把静态地址设为动态连接时获得的ip地址
以下为详细步骤
进入图形配置
1 | nmtui
|
移动键盘方向键移动到
Edit a connection
按Enter键
进入wifi设置

选择你要编辑的网络,这里以eth0为例

进入可以看到网络的默认配置

以下操作为配置静态ip
需要将
IPV4 CONFIGURATION
设置为Manual

然后移动光标到
show
按enter进入详细配置

移动光标到address
<Add...>
进行添加ip地址这里以ip地址192.168.103.172 , 网关 192.168.103.254 为例
注意
ip地址和网关需要根据自己的实际网络情况进行配置, 如果照抄这里的配置,很大机率会让你的板卡连不上网, 萌新建议将静态ip修改为动态获取的ip
网关的获得方式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #1.将网络设置为自动获取ip
#2.成功获取ip后,使用命令
route
#结果
root@lubancat:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default _gateway 0.0.0.0 UG 100 0 0 eth0
default FusionWrt.lan 0.0.0.0 UG 600 0 0 wlan0
#3.Gateway就是我们的网关,使用下列命令
route -n
#结果
root@lubancat:~# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.103.254 0.0.0.0 UG 100 0 0 eth0
0.0.0.0 192.168.25.1 0.0.0.0 UG 600 0 0 wlan0
#可以看到我们的网关地址 ---- 192.168.103.254
|

192.168.103.172/24 其中/24表示为掩码255.255.255.0,
DNS servers 全国通用DNS–>114.114.114.114 全球通用DNS–>8.8.8.8
search domain 可沿用DNS servers设置,
DNS servers
和search domain
可以设置多个。设置完后,就可以移动到后面点击ok完成设置

完成设置后需要激活设置才能让网络生效

点击
Activate a connection
进入连接下图状态为网络激活中

按一次enter取消连接,再按一次enter键重新连接
重新连接后的IP就变成了我们设置的ip了

我们还可以使用 ping baidu.com
来查看是否成功连接外部网络

除了配置静态网络,nmtui还能配置网络的优先级,具体方法如下:
将需要编辑的网络设置成手动配置IP。参考上文静态网络的配置方法。
选中
Routing
的Edit选项。Routing 默认情况下是No custom routes
。

进去后选中
add
按下回车,然后输入需要提高优先级网络的目的地址、网关和Metric度量值。其中Metric值越小越优先。编辑完后选中OK保存。

最后输入route -n 查看设置是否保存。

3.3.3. nmcli¶
以eth0为例,这一步操作和在nmtui的编辑网络一样,只不过从图形界面变成命令行的操作, 命令行里还有各种各样的命名,这里只介绍部分,有兴趣的可以自行探索
1 2 3 4 5 6 7 | #先列出连接的配置,eth0现在连接的是Wired connection 1
root@lubancat:~# nmcli c s
NAME UUID TYPE DEVICE
Wired connection 1 35ecb023-3194-3edb-bf90-4198f82329a8 ethernet eth0
Wired connection 2 45f86cca-f8df-376e-8aad-37e10d2a65ce ethernet --
aEBF_Guest fb1d506e-6dc7-4c5b-a4ce-339f3349d26d wifi --
|
然后对Wired connection 1进行修改
1 2 3 4 5 6 7 8 9 10 11 12 13 | #静态ip设置
sudo nmcli c modify 'Wired connection 1' [ + | - ]选项 选项值 # 或
sudo nmcli c m 'Wired connection 1' ipv4.address 192.168.103.172/24 # 修改 IP 地址和子网掩码
sudo nmcli c m 'Wired connection 1' ipv4.method manual # 修改为静态配置,默认是 auto
sudo nmcli c m 'Wired connection 1' ipv4.gateway 192.168.103.254 # 修改默认网关
sudo nmcli c m 'Wired connection 1' ipv4.dns 8.8.8.8 # 修改 DNS
sudo nmcli c m 'Wired connection 1' +ipv4.dns 114.114.114.114 # 添加一个 DNS
sudo nmcli c m 'Wired connection 1' ipv6.method disabled # 将 IPv6 禁用
sudo nmcli c m 'Wired connection 1' connection.autoconnect yes # 开机启动
注意,必须先修改 ipv4.address,然后才能修改 ipv4.method!
用空引号""代替选项的值,可将选项设回默认值(以 ipv4.method 为例):
|

可以进入nmtui查看配置,可以看到配置已经被修改了,此时配置还没激活

1 2 | #激活配置
sudo nmcli c up ifname eth0
|
配置完后,ip就改变了

3.3.4. netplan(Ubuntu专用)¶
文件位置 : /etc/netplan/
这个工具仅限于Ubuntu系统使用,debian系统使用该工具对无线网络的支持十分糟糕, 因此,不推荐在debian里使用
3.3.4.1. 自动获取ip¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | network:
version: 2
renderer: NetworkManager
ethernets:
eth0:
dhcp4: true
eth1:
dhcp4: true
wifis:
wlan0:
dhcp4: true
access-points:
$wifi_name:
password:"$wifi_password"
|
$wifi_name填要连接的wifi名字
$wifi_password填wifi密码
注意
“:”后面要加空格键,不然会报错
3.3.4.2. 使用静态IP¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | network:
version: 2
renderer: NetworkManager #指定网络管理工具
ethernets:
eth0:
dhcp4: no
addresses: [192.168.103.172/24]
gateway4: 192.168.103.254
nameservers:
addresses: [8.8.4.4,8.8.8.8]
wifis:
wlan0:
dhcp4: no
addresses: [192.168.25.190/24]
gateway4: 192.168.25.1
nameservers:
addresses: [8.8.8.8,114.114.114.114]
access-points:
DoorNet-A:
password: "********-a"
|
dhcp4: no 关闭自动ip获取
addresses: 设置ip地址,最好选择你自动获取ip获取到的值, 如果随便设置的话,可能会导致无法正确连接到网络中去
gateway4: 网关设置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #1.使用自动获取ip
#2.成功获取ip后,使用命令
route
#结果
root@lubancat:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default _gateway 0.0.0.0 UG 100 0 0 eth1
default FusionWrt.lan 0.0.0.0 UG 600 0 0 wlan0
#3.Gateway就是我们的网关,使用下列命令
route -n
#结果
root@lubancat:~# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.103.254 0.0.0.0 UG 100 0 0 eth1
0.0.0.0 192.168.25.1 0.0.0.0 UG 600 0 0 wlan0
#可以看到我们的网关地址了
|
nameservers: dns-域名系统,可以将输入的网址转化为ip地址访问
1 2 3 4 5
全球通用DNS地址(此DNS地址为Google公司提供的免费DNS服务器地址) 主dns服务器:8.8.8.8,备用dns服务器:8.8.4.4 ################################################################### 全国通用DNS地址(国内用户推荐使用,国内移动、电信和联通通用的DNS) 主dns服务器114.114.114.114,备用dns服务器:114.114.115.115
3.3.4.3. 应用配置¶
修改完成后使用以下命令应用配置
1 2 3 4 5 6 7 8 | #如果配置文件有有问题,会恢复到原始配置,没问题则应用
sudo netplan try
#设置配置文件,如果文件格式不规范可以打印debug信息
sudo netplan apply
#打印网络配置
sudo netplan get
|
3.3.5. network(debian专用)¶
由于使用该工具配置网络后,效果比较差,因此,在debian系统不建议使用该工具。(因为,使用该方法配置的静态ip不能进行热插拔,拔出网咯接口后会占用网络接口)
在debian 10系统中如果 /etc/network/interfaces中包含了网络接口,那么就无法用nmtui,nmcli以及桌面配置网络
因此这里不推荐新手使用
3.3.5.1. 用法¶
该工具主要编辑 /etc/network/interfaces 以及 /etc/network/interfaces.d 内的文件来配置网络
由于该工具相对于NetworkManager而言不是很好用,因此这里把官方的文档放出来,让大家学习使用