LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2220|回复: 4

linux中网卡配置的研究

[复制链接]
发表于 2003-12-23 07:00:39 | 显示全部楼层 |阅读模式
这几天看了一下linux的network配置, 最后没有搞的清楚,反倒把机子的配置搞乱了. 还请看帖的兄弟指教.
1. 系统为Fedora1, 配置文件包括/etc/sysconfig/hwconf, /etc/sysconfig/networking目录,redhat-config-network, /etc/modules.conf, /etc/modprobe.conf, Kernel 为2.6.0.
2. 系统中网卡硬件有三个: national semi的10/100网卡,所用module为natsemi; fast ethernet 10/100 pcmaic card, module为tulip; Prism2.5 wireless 卡,所用module为orinoco_pci.

过程
1. 原来的/etc/sysconfig/hwconf中有关于这三个网卡的配置描述, 可是在redhat-config-network中看到的却于之不同, 比如在前者中wireless卡是eth0而redhat-config-network中却是eth1. 从而得知redhat-config中关于网卡的配置不是从hwconf中得来.
2. 将hwconf所有的关于eth的配置全部删除, 运行kudzu, kudzu显示系统中找到新的硬件, 而就是刚刚从hwconf中删除的硬件. 从而得知, 是kudzu将配置写入hwconf.
3. 由于没有在kudzu中选择配置网卡, 这样redhat-config-network中的配置和原来的还是一模一样.从而得知redhat-config-network中网卡硬件和tcpip配置都不是从hwconf来的. 但是如果你在kudzu时选择配置找到的硬件, kudzu又会将配置写入/etc/sysconfig/networking,使得在redhat-config-network中原来的配置变成新的配置,或是在原来的基础上增加新的配置. (我也搞不清楚为什么这里配置不稳定.)
4. 继续研究/etc/modules.conf和/etc/modprobe.conf文件,发现在这两个文件中都有对于这三个网卡的module的配置, 如 alias eth0 tulip, alias eth1 orinoco_pci, alias eth2 natsemi. 将这两个文件中网卡的配置都删除, 再启动redhat-config-networkj将'Devices'和'Hardware'中的设置全部删除, 保存. 再启动redhat-config-network,发现在'硬件'tab中网卡的硬件还是存在(/etc/sysconfig/networking/devices中没有任何配置文件). 同时, 我将hwconf中的关于eth的项目全部删除. 再启动redhat-config-network, 发现'hardware'中的网卡硬件还是存在. 不知配置网卡硬件的信息是从何处读入的...
5. 此时, 'device'tab中没有任何配置. 开始用redhat-config-network配置网卡, 配置完后保存, 查看modules.conf和modprobe.conf文件, 发现modules.conf中加入了网卡的module配置而modprobe.conf中却没有.
6. 之后, 又做了些其它的测试, 如分别将modprobe.conf和modules.conf的配置删除, 再看redhat-config-network的变化; 将pcmaic 网卡拔除, 删除配置, 在插上, 加入配置, 看其变化; 删除配置, 重新启动机器, 看是否能自动增加配置等等.

结果 (自己测出, 不一定正确, 还请验正)
1. redhat-config-network中硬件配置不是从/etc/sysconfig/hwconf读入, 好象hwconf和redhat-config-network也没有什么直接的联系.
2. 竟管是用的2.6内核, redhat-config-network中的网卡设备模块信息还是直接写入/etc/modules.conf而不是/etc/modprobe.conf, 当然, 也同时生成所有的ifcfg-ethx文件.
3. kudzu信息直接写入/etc/sysconfig/hwconf文件.
4. 如果在/etc/modprobe.conf文件中也加上网卡的模块信息,有时就会出问题, 你将会在redhat-config-network中发现硬件设备配置发生混乱. 特别是modprobe.conf中和modules.conf中模块信息加载不一致时, 比如, 在modules.conf中eth0是加载wireless card模块而modprobe.conf中是tulip模块...
5. 加载pcmaic 网卡时多半会引起网卡硬件混乱, 如出现两个相同的网卡, wireless card 突然变成了Ethernet 卡等等.

问题
1. 不知有没有兄弟作过这方面的研究,有没有发生过这样的问题?
2. redhat-config-network中'hardware' 页中的网卡硬件信息到底是从哪里读入, 如何修改. (我将hwconf, modprobe.conf, modules.conf中所由网卡信息删除, 甚至将网卡的module 'rmmod', 竟然还是能找到.)
发表于 2003-12-27 18:55:47 | 显示全部楼层
不错。
辛苦了兄弟。

欢迎大家讨论。

北南 呈上
发表于 2003-12-28 06:36:35 | 显示全部楼层
给个线索,有个著名的工具叫lsof,能查看正在运行的程序所打开的文件。

楼主直接改/etc/sysconfig下面的文件的思路是对的,redhat-config-network这个工具估计没有预料到用户会用在2.6.0的kernel上,听说2.6.0的模块配置文件和2.4.x的不同。
 楼主| 发表于 2003-12-29 09:41:48 | 显示全部楼层
是的,我也是这样想的。redhat-config-network还是将module配置信息写入modules.conf文件而不是modprobe.conf文件,虽然是在2.6kernel下。现在一个仍搞不清楚的问题是,在redhat-config-network中hardware页中网卡硬件的信息到底是从哪里读入的?还有就是在gnome下有个基于gui的hardware browser软件,从中读出的网卡信息又是另一种完全不一样的配置。跟redhat-config-network中和/etc/sysconfig/下的都不一样。很奇怪/
发表于 2003-12-30 16:54:30 | 显示全部楼层
到现在我还不懂,如果在字符下,redhat-network-network这个命令并不能运行,如何配置网卡?选择驱动?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表