文章目录
- 前言
- 一、准备操作
- 二、链接外网步骤
- 1.安装g_ether驱动
- 2.修改ip
- 3.连接外网
- 4.进一步配置DNS
- 5.使用外网(debian系统)
- 6.licheepi nano镜像源选择(debian系统)
- 总结
前言
前序内容使用licheepi nano 连接到了PC,可以和PC互相ping通,现在要进一步来连接外网,以期望完成更多的操作。
一、准备操作
首先在内核中开启RNDIS,具体操作请看之前的文章点击跳转。然后将g_ether.ko找到
二、链接外网步骤
1.安装g_ether驱动
在pi中执行如下命令:
modprobe g_ether
2.修改ip
pc地址找到对应网卡,并设置为一组自己选定的网段,我这里为192.168.1.1
然后设定pi的网卡ip为192.168.1.2,确保和上述pc处于同一网段,然后执行
ping 192.168.1.1
可以ping通pc
3.连接外网
子网掩码和网关配置:目前只配置了 IP 地址,为了使设备能够与同一子网内的其他设备以及外部网络进行通信,还需要配置子网掩码和网关。可以使用以下命令来配置子网掩码和网关:
sudo ifconfig usb0 netmask 255.255.255.0
sudo route add default gw 192.168.5.101
使用 route -n 命令查看当前的路由表,确认默认网关是否正确配置
然后在pc上设置该网段可以转发
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -P FORWARD ACCEPT
iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.5.0/24
然后在开发板可以看到ping通外网了!(110.242.68.66为某一网络地址)
4.进一步配置DNS
但是这仅仅是能ping通外网,要想ping baidu.com,需要设置域名服务器,也就是dns:
检查 DNS 配置:查看 /etc/resolv.conf 文件,确认其中配置的 DNS 服务器地址是否正确。例如:
cat /etc/resolv.conf
配置公共 DNS 服务器:可以使用公共 DNS 服务器,如 Google 的 8.8.8.8 和 8.8.4.4 或阿里云的 223.5.5.5 和 223.6.6.6。将以下内容添加到 /etc/resolv.conf 文件中:
nameserver 8.8.8.8
nameserver 8.8.4.4
5.使用外网(debian系统)
通过apt-get安装gcc
apt-get install gcc
执行 apt-get install gcc 命令时出现错误,提示无法分配内存以及无法解析或打开软件包列表文件,这通常是由于系统内存不足或者软件包列表文件损坏导致的。
依次执行如下指令:
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
再次执行apt-get,可以看到可以下载了!
6.licheepi nano镜像源选择(debian系统)
使用apt-get的过程中要选择对应的源才能下载软件,我使用的是debian 10的根文件系统,要找到armel架构(licheepi nano的架构)的源,这个也浪费了一段时间,因此记录下来。
通过在网页中查看发现有armel架构
http://mirrors.huaweicloud.com/debian-archive/debian
然后将/etc/apt/sources.list文件中的其他都删除掉
vi /etc/apt/sources.list
// 替换为如下代码:
deb http://mirrors.huaweicloud.com/debian-archive/debian buster main xxx也可以加一些别的,具体的他应该会从源中找软件
总结
虽然能链接外网了,但在使用apt-get命令的时候感觉到很慢很慢很慢,倒还不如在构建根文件系统的时候就把需要的软件下载好,可以可以剩下一部分时间:)