前言

首先跟大家聊聊我的情况吧。因为网络极其关键,要不然服务器还服务个毛,就会是一个废物。

我是在最小化安装Centos7系统的时候,设置网络的时候发现,只能检测到我的无线网卡,也就是WIFI,然后我在那里连上了WIFI,我也推荐在安装系统的界面你就脸上WIFI,否则到了命令行里面你不知道连WIFI的命令是什么,出一堆幺蛾子。

不管怎么说,我发现无法检测到我的有线网卡,注意:安装系统中界面上的连接网络的添加设备中的bond,bridge等等都不是,一开始我还以为是。
即:

ip addr

只有lo(回环本地),wlo1(无线网卡1)两个网卡。

所以,我还不算太不幸,起码有一个无线网卡,可以用来yum一些东西。比如查看我们的有线网卡的型号:

yum install pciutils
lspci | grep -i ethernet

有线网卡:Realtek 3000

04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. Device 3000 (rev 06)

然后后来才知道,似乎是因为2.5G网卡是目前的新型网卡,很多系统中的那些网卡驱动根本不支持,所以我们需要自己安装。所以,一般情况下,我们需要看看自己的有线网卡是什么型号,然后找驱动对吧。但是我找了好久,也没有找到我的网卡对应的驱动,反而回过头来发现,其实下面的这个网卡驱动是通用的,都是针对2.5G网卡的。进入这个网站:
在这里插入图片描述
就下载那个2.5G最新的即可,也就是众所周知的r8125,算比较有名吧。

所以你有两种方案:

  1. 用Windows下载,然后用U盘拷过去。怎么拷贝
  2. 由于有无线网,可以使用wget 下载地址的方式直接下载。

下载完之后,就是安装喽。

准备

需要下载一些东西,所以你可以先配置一下yum的国内源,方法见我的这个LINUX专栏里或者自己百度搜。

  1. bios禁用secure boot,也就是设置为disable。
  2. yum install gcc,这个系统我是最小化安装的,默认没有,所以需要安装。
  3. yum install kernel*,下载所有有关于内核的东西。

以上3个其实只要你以前在Centos7上安装过驱动,不管是什么驱动,都需要做,所以处之淡然。

所以现在就是一个问题,如果你是最小安装,又没有无线网,只怕你会遇到很多的困难,因为yum不了啊,不过,据我所知gcc即使最小安装也是可以yum的,下面那个kernel就不知道了。如果不行,又没网的话,建议你改成yum本地源,然后下载一个centos 的everything版本的.iso文件到U盘里,并设置其为yum源,里面应该有这些东西。

正题

dnf group install "Development Tools"
#解压网卡驱动文件
tar xvf r8125-9.003.05.tar.bz2 -C /usr/src
#然后到解压之后的文件夹里/usr/src/r8125
./autorun.sh

这一步很关键,有可能会报错,一般可能是下面几个问题:

问题1:

make: *** /lib/modules/2.6.32-573.7.1.el6.x86_64/build/: No such file or directory. Stop.

按照报错提示的,去看一下到底有没有这个文件:

/lib/modules/2.6.32-431.el6.x86_64/build

如果有还报错,那么就删除这个build,然后执行下面的。再去看看有没有build了。

#下面这个其实就是之前做的yum install kernel*
yum install -y kernel-devel kernel-headers
ln -s /usr/src/kernels/2.6.32-573.7.1.el6.x86_64/ /lib/modules/2.6.32-431.el6.x86_64/build 

然后再来:

./autorun.sh
问题2

modprobe:fatal:mudule r8125 not found

这个还是那个kernel*的问题,安装了就不会有事。

问题3

modprobe error could not insert:required keys

这个其实就是secure boot的问题,你关了就没事。

问题4

这个问题是代码的版本问题,这个你仔细看提示,它说是哪一行错,你就到那一行去修改,有两个文件要修改:r8125.h和r8125_n.c。你可以vim这个文件,然后":行数“,然后回车就可以定位到报错的那一行。然后改成(3,10,0),也就是内核版本,这个我不知道Centos7是不是都是3.10.0(我的是这个),你可以uname -r查看一下。

错误提示 :/src/r8125.h:59:20 error: redefinition of ‘ether_addr_copy’ static inline void ether_addr_copy

// 解决方案 在r8125.h 这个文件的第五十八行
#if LINUX_VERSION_CODE < KERNEL_VERSION(3,14,0)
 
// 改为
 
#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)

r8125_n.c:10870:9 error :unknown field ‘ndo_change_mtu’ specified in initializer

// 解决方案
cat /usr/src/kernels/3.10.0-327.el7.x86_64/include/linux/netdevice.h | grep ndo_change_mtu
// 这个文件里面 ndo_change_mtu 定义的是什么名称  我这里是ndo_change_mtu_rh74
// 在r8125_n.c的10870行对应改掉就行了 这个官方承认是个bug

r8125_n.c:13519:28 error ‘struct net_device’ has no member named ‘last_rx’

// 解决方案 这个是内核的版本问题 直接用 // 注释掉

然后再次运行:

./autorun.sh

按理应该是万事大吉了。

此时,我们使用

ip addr

可以看到多了一块网卡,就是我们的有线网卡。但是呢,其却没有配置文件(/etc/sysconfig/network-scripts/ifcfg-en***),而那个回环和无线网卡都有。我们可以自己创建一个,但是你不是高手的话我不推荐,比如UUID这些你需要自己填,比较麻烦,又怕有一些名字和ID被你弄混了,所以有一个可视化的方法介绍给你,这个方法是来自于https://www.cnblogs.com/wdyjt/p/14159155.html

 nmtui

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择确定和返回,退出即可,很容易。最重要的是去看一下配置文件有没有了,反正我是有了,而且我们不需要再进行修改,也就是说,完事了。

至此,网通了。


完结撒花

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐