CentOs6.10 安装后无网络问题解决方案
【问题描述】
CentOs6.10 系统新安装后发现连不上互联网
【排查步骤】
- 查看网络配置
执行命令ifconfig
,发现只有lo,没有网卡
[root@localhost ~]# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:62 errors:0 dropped:0 overruns:0 frame:0
TX packets:62 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:4520 (4.4 KiB) TX bytes:4520 (4.4 KiB)
- 查看网卡型号
执行命令lspci |grep "Eth"
,如下所示网卡型号为Realtek Semiconductor Co., Ltd. Device 8125
[root@localhost ~]# lspci |grep "Eth"
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. Device 8125 (rev 04)
- 查看驱动是否载入
执行命令lsmod |grep "r8125"
如下所示,表示r8125驱动已载入,那么网络问题和驱动无关,检查网络配置。
如执行命令后,未显示r8125相关信息,表示网卡驱动未载入,需要安装驱动,请查看解决方案。
[root@localhost ~]# lsmod |grep "r8125"
r8125 130020 0
【解决方案】
- 官网下载驱动
https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-pci-express-software
- 环境依赖
驱动的编译安装需要依赖:
kernel-devel-2.6.32-754.el6.x86_64.rpm
kernel-headers-2.6.32-754.el6.x86_64.rpm
gcc-4.4.7-23.el6.x86_64.rpm
从系统安装包中直接安装
本次安装是台式机直接安装CentOs6.10,将有CentOs6.10系统的u盘插到台式机上,可以看到在/media/CentOS_6.10/Packages/下有需要的安装包
按顺序执行以下安装命令
rpm -ivh /media/CentOS_6.10/Packages/kernel-devel-2.6.32-754.el6.x86_64.rpm
rpm -ivh /media/CentOS_6.10/Packages/kernel-headers-2.6.32-754.el6.x86_64.rpm
rpm -ivh /media/CentOS_6.10/Packages/mpfr-2.4.1-6.el6.x86_64.rpm
rpm -ivh /media/CentOS_6.10/Packages/cpp-4.4.7-23.el6.x86_64.rpm
rpm -ivh /media/CentOS_6.10/Packages/glibc-headers-2.12-1.212.el6.x86_64.rpm
rpm -ivh /media/CentOS_6.10/Packages/libgomp-4.4.7-23.el6.x86_64.rpm
rpm -ivh /media/CentOS_6.10/Packages/ppl-0.10.2-11.el6.x86_64.rpm
rpm -ivh /media/CentOS_6.10/Packages/cloog-ppl-0.15.7-1.2.el6.x86_64.rpm
rpm -ivh /media/CentOS_6.10/Packages/gcc-4.4.7-23.el6.x86_64.rpm
3.解压官网下载的驱动包
使用tar
命令解压驱动包,注意版本后缀,不要直接复制了哦
[root@localhost ~]# tar zxvf r8125-9.007.01.tar.bz2
4.执行安装脚本
进入到解压的目录下,执行autorun.sh
[root@localhost /usr/src]# cd r8125-9.007.01/
[root@localhost /usr/src]# ./autorun.sh
5.下面是我遇到过的执行安装脚本时的报错(错误提示当时没记录,凭记忆写的,可能不完全一样,看关键词)
-
错误提示类似:/src/r8125.h:68:20 error: redefinition of ‘ether_addr_copy’ static inline void ether_addr_copy
找到对应文件的对应行,该行内容一般为
#if LINUX_VERSION_CODE < KERNEL_VERSION(3,14,0)
将括号里面的内容改成小于安装的内核版本号,比如本次安装的系统内核版本2.6.32,可以改为
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
2.错误提示:/src/r8125_ptp.h:39:1: fatal error: linux/timecounter.h:No such file or directory
内核版本的原因,该版本内核没有这个文件
找到对应文件的对应行,直接注释
//#include <linux/timecounter.h>
3.错误提示:/src/r8125_n.c:1463:52 error: expected expression before ‘}’ token
删去)
前的,
或;
号
4.r8125_n.c:1325:31 error ‘struct net_device’ has no member named ‘tot_rx_rings’
直接注释
// tp->tot_rx_rings,
// tp->tot_tx_rings,