ArmSoM系列产品都搭配了以太网口或WIFI模块,PCIE转以太网模块、 USB转以太网模块等,这样我们的网络需求就不止是上网这么简单了,可以衍生出多种不同的玩法。
rk3588/rk3576开发板
1. 网络连接
连接互联网或者组成局域网都需要满足一个前提–设备需要获取到ip, ip可以理解为设备的名字,局域网内的设备在局域网内可以通过ip进行沟通。 如下 192.168.10.100
armsom@armsom-sige7:~$ ip a1: lo: < LOOPBACK,UP,LOWER_UP > mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever2: enP4p65s0: mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 92:be:6d:d5:e7:b4 brd ff:ff:ff:ff:ff:ff permaddr 72:d3:55:ba:fe:0a inet 192.168.10.100/24 brd 192.168.10.255 scope global dynamic noprefixroute enP4p65s0 valid_lft 34665sec preferred_lft 34665sec
1.1. ping命令
ping(Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序。 它是用来检查网络是否通畅或者网络连接速度的命令
ping的原理: 向指定的网络地址发送一定长度的数据包,按照约定,若指定网络地址存在的话, 会返回同样大小的数据包,当然,若在特定时间内没有返回,就是“超时”,会被认为指定的网络地址不存在
1.2.局域通信
一个局域网中是必备网关(gateway)的, 我们可以通过ping网关来看自己的ip能不能成功使用,如果连网关都ping不通就证明这个局域网是没有连接起来。
#ping命令sudo ping + ip地址
成功联网就可以看到有一连串的数据,如下
armsom@armsom-sige7:~$ sudo ping 192.168.10.1ping: socket: Address family not supported by protocolPING 192.168.10.1 (192.168.10.1) 56(84) bytes of data.64 bytes from 192.168.10.1: icmp_seq=1 ttl=64 time=0.649 ms64 bytes from 192.168.10.1: icmp_seq=2 ttl=64 time=0.583 ms64 bytes from 192.168.10.1: icmp_seq=3 ttl=64 time=0.571 ms64 bytes from 192.168.10.1: icmp_seq=4 ttl=64 time=0.614 ms64 bytes from 192.168.10.1: icmp_seq=5 ttl=64 time=0.583 ms64 bytes from 192.168.10.1: icmp_seq=6 ttl=64 time=0.703 ms
1.3. 连接互联网
我们可以通过ping网站来查看产品是否连接互联网
#ping命令sudo ping xxx.com
以baidu.com为例,成功联网就可以看到有一连串的数据,如图下
armsom@armsom-sige7:~$ sudo ping www.baidu.comping: socket: Address family not supported by protocolPING www.a.shifen.com (183.2.172.185) 56(84) bytes of data.64 bytes from 183.2.172.185 (183.2.172.185): icmp_seq=1 ttl=52 time=7.83 ms64 bytes from 183.2.172.185 (183.2.172.185): icmp_seq=2 ttl=52 time=7.80 ms64 bytes from 183.2.172.185 (183.2.172.185): icmp_seq=3 ttl=52 time=8.36 ms64 bytes from 183.2.172.185 (183.2.172.185): icmp_seq=4 ttl=52 time=8.39 ms
2. 命令行图形化连接
进入图形配置
armsom@armsom-sige7:~$ sudo nmtui
移动键盘方向键移动到 Active a connection 按 Enter键 进入wifi设置
移动方向键到你要连接的wifi,按 Enter键
如果是连接未连接的有密码的热点则进入输入密码界面
如果想要断开wifi,在已连接的状态按下 Enter键 就可以断开连接
3. 命令行连接
列出wifi列表
armsom@armsom-sige7:~$ nmcli dev wifi list
连接wifi
以热点: armsom 密码:armsom88 使用接口wlan0为例
# 第一次连接armsom@armsom-sige7:~$ sudo nmcli dev wifi connect armsom password 'armsom88' ifname wlan0Device 'wlan0' successfully activated with '7867c3af-dca2-4e9a-9721-a20f7a0e1b46'.# 第一次连接成功后,再连接或切换wifi后armsom@armsom-sige7:~$ sudo nmcli dev wifi connect armsom
4. 桌面端连接
使用有线上网时,请将网线插入RJ45接口。 桌面右上角会有一个网络连接图标,选择你要连接的网络,输入密码就可以上网了。
5. USB共享网络
todo
6. 静态网络配置
6.1. nmtui
设置静态地址前的ip地址
armsom@armsom-sige7:~$ sudo ifconfigenP4p65s0: flags=4163< UP,BROADCAST,RUNNING,MULTICAST > mtu 1500 inet 192.168.10.100 netmask 255.255.255.0 broadcast 192.168.10.255 ether 92:be:6d:d5:e7:b4 txqueuelen 1000 (Ethernet) RX packets 23758 bytes 1774543 (1.6 MiB) RX errors 0 dropped 80 overruns 0 frame 0 TX packets 67013 bytes 3879463 (3.6 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device interrupt 155
如果想要成功的设置静态地址需要留意你想要设置的ip地址是否被其他设备占用, 可以用ping 设置的静态地址,如果有数据返回证明ip是被其他设备占用的
信息
这里建议不懂网络配置的萌新可以把静态地址设为动态连接时获得的ip地址
以下为详细步骤
进入图形配置
armsom@armsom-sige7:~$ nmtui
移动键盘方向键移动到 Edit a connection 按 Enter键 进入wifi设置
选择你要编辑的网络,这里以eth0为例
进入可以看到网络的默认配置
需要将 IPV4 CONFIGURATION 设置为Manual
然后移动光标到 show 按enter进入详细配置
这里以ip地址192.168.10.13 , 网关 192.168.10.1 为例
信息
ip地址和网关需要根据自己的实际网络情况进行配置, 如果照抄这里的配置,很大机率会让你的产品连不上网, 初级开发者建议将静态ip修改为动态获取的ip
网关的获得方式
#1.将网络设置为自动获取ip#2.成功获取ip后,使用命令route#结果root@armsom-w3:/home/armsom# routeKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Ifacedefault 192.168.10.1 0.0.0.0 UG 100 0 0 enP4p65s0192.168.10.0 0.0.0.0 255.255.255.0 U 100 0 0 enP4p65s0#3.Gateway就是我们的网关,使用下列命令route -n#结果root@lubancat:~# route -nKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Ifacedefault 192.168.10.1 0.0.0.0 UG 100 0 0 enP4p65s0192.168.10.0 0.0.0.0 255.255.255.0 U 100 0 0 enP4p65s0#可以看到我们的网关地址 ---- 192.168.10.1
192.168.10.13/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了
root@armsom-w3:/home/armsom# ip addr1: lo: < LOOPBACK,UP,LOWER_UP > mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever2: enP4p65s0: mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 92:be:6d:d5:e7:b4 brd ff:ff:ff:ff:ff:ff permaddr be:87:f6:b4:e5:ad inet 192.168.10.13/24 brd 192.168.10.255 scope global noprefixroute enP4p65s0 valid_lft forever preferred_lft forever3: wlP2p33s0: < NO-CARRIER,BROADCAST,MULTICAST,UP > mtu 1500 qdisc mq state DOWN group default qlen 1000 link/ether 2c:05:47:8e:4a:6c brd ff:ff:ff:ff:ff:ff4: wlan1: < NO-CARRIER,BROADCAST,MULTICAST,UP > mtu 1500 qdisc mq state DOWN group default qlen 1000 link/ether 2e:05:47:8e:4a:6c brd ff:ff:ff:ff:ff:ff
我们还可以使用 ping mi.com 来查看是否成功连接外部网络
root@armsom-w3:/home/armsom# ping mi.comping: socket: Address family not supported by protocolPING sgp.ali.cdn.b2cop.lb.mi.com (161.117.94.231) 56(84) bytes of data.64 bytes from 161.117.94.231 (161.117.94.231): icmp_seq=1 ttl=87 time=48.8 ms64 bytes from 161.117.94.231 (161.117.94.231): icmp_seq=2 ttl=87 time=49.5 ms
6.1. nmcli
以 enP4p65s0 为例,这一步操作和在nmtui的编辑网络一样,只不过从图形界面变成命令行的操作, 命令行里还有各种各样的命名,这里只介绍部分,有兴趣的可以自行探索
#先列出连接的配置,eth0现在连接的是Wired connection 1root@armsom-w3:/home/armsom# nmcli c sNAME UUID TYPE DEVICEWired connection 1 e01f934d-7fae-344f-90bf-e2483db3f3e5 ethernet enP4p65s0armsom d3d9a6ff-9c9c-44f8-a366-6a69af1edd1a wifi --armsom 1 7867c3af-dca2-4e9a-9721-a20f7a0e1b46 wifi --
然后对Wired connection 1进行修改
#静态ip设置sudo nmcli c modify 'Wired connection 1' [ + | - ]选项 选项值 # 或sudo nmcli c m 'Wired connection 1' ipv4.address 192.168.10.13/24 # 修改 IP 地址和子网掩码sudo nmcli c m 'Wired connection 1' ipv4.method manual # 修改为静态配置,默认是 autosudo nmcli c m 'Wired connection 1' ipv4.gateway 192.168.10.1 # 修改默认网关sudo nmcli c m 'Wired connection 1' ipv4.dns 8.8.8.8 # 修改 DNSsudo nmcli c m 'Wired connection 1' +ipv4.dns 114.114.114.114 # 添加一个 DNSsudo 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 为例):
#激活配置sudo nmcli c up ifname eth0
配置完后,ip就改变了
armsom@armsom-sige7:~$ ip addr1: lo: < LOOPBACK,UP,LOWER_UP > mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever2: enP4p65s0: mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 92:be:6d:d5:e7:b4 brd ff:ff:ff:ff:ff:ff permaddr be:87:f6:b4:e5:ad inet 192.168.10.14/24 brd 192.168.10.255 scope global noprefixroute enP4p65s0 valid_lft forever preferred_lft forever3: wlP2p33s0: < NO-CARRIER,BROADCAST,MULTICAST,UP > mtu 1500 qdisc mq state DOWN group default qlen 1000 link/ether 2c:05:47:8e:4a:6c brd ff:ff:ff:ff:ff:ff4: wlan1: < NO-CARRIER,BROADCAST,MULTICAST,UP > mtu 1500 qdisc mq state DOWN group default qlen 1000 link/ether 2e:05:47:8e:4a:6c brd ff:ff:ff:ff:ff:ff
7. 创建WIFI热点
create_ap是一个帮助快速创建Linux上的WIFI热点的脚本,并且支持bridge和NAT模式,能够自动结合hostapd, dnsmasq和iptables完成WIFI热点的设置,避免了用户进行复杂的配置,github地址如下: https://github.com/oblique/create_ap
root@armsom-sige7:/home/armsom/create_ap# make install
7.1 create_ap 以 NAT 模式创建 WIFI 热点的方法
输入下面的命令以 NAT 模式创建名称为 armsom、密码为 armsom 的 WIFI 热点
armsom@armsom-sige7:~$ sudo create_ap -m nat wlan0 enP2p33s0 armsom armsom 审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !