树莓派配置网络出现的各种问题和解决思路

我们拿到树莓派的时候,肯定是要树莓派上网的,无论是有线还是无线
首先需要将树莓派连接上网,ifconfig 可以查看 ip 地址。(不是 ifconfig)

1、配置网络容易遇到的问题:

我在配置树莓派网络的时候,有一个问题导致耽误了很久,出现的问题就是网络显示连接,但是一直上不去外网,
ping www.baidu.com 的时候,一直 ping 不通,提示我 ping: unknown host

2、解决思路:

要进行一步步的排查,一般出现网络问题的排查思路如下:
基本的排错步骤(从上往下) :

  • ping 127.0.0.1。ping的通说明tcp协议栈没有问题
  • ping 主机地址。ping的通说明网卡没有问题
  • ping 路由器默认网关。 ping的通说明包可以到达路由器
  • 最后 ping DNS服务器地址

卡在那一步,就补哪里

2.1 DNS 服务器的问题

经过这四步测试,发现是最后一步 ping DNS服务器出了问题(有些网络配置改了但还是报错,就 reboot重启试试),所以剩下就解决DNS服务器的问题就好了, 在树莓派下,在 /etc/resolv.conf 中加入DNS,此处DNS是你的PC的DNS ,不是网上说的什么网关,google通用DNS等。
我是根据自己PC机上的DNS配置的(ipconfig/all 可以查看)如下:

vim /etc/resolv.conf 
添加如下代码:
nameserver 223.5.5.5

将 223.5.5.5 改为 8.8.8.8 也行 (这个是 Google 的 DNS 服务器)

2.2 如果是网关的问题(我的不是这种情况,要依据你的实际情况来看)

首先用 netstat -rn 或者 route 查看默认网关,如果不是自己所连路由器的网关,就需要配置一下
需要添加默认网关
修改/etc/dhcpcd.conf文件设置 在里面添加自己的默认网关即可

修改固定IP:

修改固定 IP 的方法网上有很多种,我这里就不在累述了,但是我想说一点,网上很多说要更改 /etc/network/interfaces 这个文件,我并不见得,因为引用这个文件里面的一段注释说到

#Please note that this file is written to be used with dhcpcd
#For static IP, consult /etc/dhcpcd.conf and ‘man dhcpcd.conf’

就是对于设置静态IP,需要在 /etc/dhcpcd.conf 里面修改。所以,我们只需要将 IP地址,子网掩码和网关添加在 这个文件里面就行了。
推荐修改固定 IP 的博文:
https://www.jianshu.com/p/308fb22a7dab (里面的第二种方法,修改 /etc/network/interfaces 文件设置,改为修改 /etc/dhcpcd.conf 文件设置就可以了)

### 树莓派有线连接电脑无法PING通的原因分析 树莓派通过有线方式连接到电脑却无法PING通,可能涉及多个层面的网络配置问题。以下是可能导致该现象的主要原因及其解决方案: #### 1. **IP 地址冲突或未正确分配** 如果树莓派主机(即电脑)处于不同的子网或者两者都没有被赋予有效的 IP 地址,则会导致无法通信。 - 需要确认双方设备是否在同一子网下,并手动指定静态 IP 或者启用 DHCP 功能来自动获取 IP 地址[^2]。 ```bash sudo ip addr add 192.168.1.10/24 dev eth0 # 设置树莓派的固定IP地址 ``` 对于 Windows 主机来说,可以通过其内置的 Internet 连接共享功能为以太网接口提供 DHCP DNS 支持;而对于 Linux 用户而言,可以安装并运行 `dnsmasq` 来充当简单的 DHCP/DNS 服务器。 #### 2. **防火墙阻止 ICMP 请求** 某些操作系统默认启用了防火墙规则,可能会屏蔽掉 ICMP 协议的数据包传输请求,从而造成即使物理链路正常也无法实现 PING 测试成功的情况。 - 查看当前系统的 iptables 规则集是否存在针对ICMP类型的限制条件: ```bash sudo iptables -L | grep icmp # 列出所有关于icmp流量过滤策略 ``` 如果有发现任何拒绝接收 echo-reply 的条目存在的话就需要将其删除或是调整优先级顺序以便允许此类消息传递过去。 #### 3. **网桥(Bridge)与绑定(Bonding)设置不当** 当涉及到复杂的多端口互联场景比如文中提到利用 bridge 将 eth0、eth1 及 wlan1 统一管理起来形成虚拟交换结构时,若未能妥善处理好各个组件间的关系就容易引发异常状况发生。例如上述案例中的 bond0 使用 active-backup 模式后导致实际数据流路径偏离预期设计目标致使最终失败的结果展示出来。 因此建议重新审视整个架构规划图谱并对相应部分做出适当修改优化直至满足需求为止。具体操作如下所示: ##### 修改 Bond Mode 参数 更改 bonding mode 类型至 balance-tcp 或 otherload-balance 方案或许能够改善现有困境局面因为它们允许多条线路同时承担负载均衡职责而不是单纯依赖单一活动成员完成全部任务负荷量分摊工作。 ```bash echo "mode=balance-tcp" >> /etc/modprobe.d/bonding.conf # 更改bond模式为tcp平衡模式 modprobe bonding # 加载新的模块参数设定生效 ifenslave bond0 eth0 eth1 # 添加slave devices into master device 'bond0' ``` ##### 调整 Hostapd Isolation Setting 按照先前描述内容开启 ap_isolate 特性有助于确保来自不同客户端发出的信息不会彼此干扰而是经过由软件定义好的桥梁设施来进行进一步路由转发动作执行下去进而达成跨平台无障碍交流目的效果呈现给用户面前看到清晰直观的表现形式展现开来供人们欣赏体验乐趣无穷尽也! ```ini ap_isolate=1 ; 启用AP隔离选项让STA之间互访必须经由BRIDGE处理 ``` 最后记得重启相关服务使改动立即反映应用层面上去观察是否有明显改进迹象出现即可判断方法有效性程度高低如何衡量标准是什么样子等等一系列后续跟进措施安排妥当才行啊亲们!!! --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值