LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
123
返回列表 发新帖
楼主: abcbuzhiming

请教高人解释一下gentoo手册中配置网卡的这几步到底是为什么?

[复制链接]
 楼主| 发表于 2007-8-21 22:51:13 | 显示全部楼层
Post by tell
ln -s net.lo net.eth1    —— 这一步一般不需要,网卡驱动配好后一般自动出现/etc/init.d/net.eth0
还有,你是在哪里执行的上述命令?/etc/init.d还是/etc/runlevels/{boot,default}?
/etc/init.d中存放一些脚本,可以用于开机时执行,但这些脚本要链接到/etc/runlevels下开机时才会真正执行,
rc-update所做的就是这件事,添加/删除/etc/runlevels下的链接而已

redhat有/etc/rc.d/rc.{0,1,2,3,4,5,6}这几个目录,这是经典的启动目录排列方式,
gentoo用了自己的一套,只剩下/etc/runlevels/{boot,default,nonetwork,single}
好像新版ubuntu也用了它自己的一套启动方式


需要,如果你有第二块网卡的话,比如一块eth0,一块eth1,默认的net.eth0可能已经存在/etc/init.d下,但是eth1是绝对不存在的,这一点我已经反复把gentoo装了不下20编

在哪里执行这些命令?我不懂你的意思,我用命令时全部写的绝对路径,,我现在奇怪的就在这,rc-dpdate仅仅是添加了一个链接,为什么这个链接被删除后他代表的东西还能启动呢,虽然从启动命令行的滚动来看不是在default组启动的


/etc/rc.d/rc.{0,1,2,3,4,5,6}
这是不是linux的通用启动目录,是不是说记录在其中的可以在系统启动时启动,真是的话我要好好研究一下了,gentoo手册上没有提到这点
Post by SDE
也许跟这里有关
/etc/conf.d/rc

# RC_NET_STRICT_CHECKING allows some flexibility with the 'net' service.
# The following values are allowed:
#  none  - The 'net' service is always considered up.
#  no    - This basically means that at least one net.* service besides net.lo
#          must be up.  This can be used by notebook users that have a wifi and
#          a static nic, and only wants one up at any given time to have the
#          'net' service seen as up.
#  lo    - This is the same as the 'no' option, but net.lo is also counted.
#          This should be useful to people that do not care about any specific
#          interface being up at boot.
#  yes   - For this ALL network interfaces MUST be up for the 'net' service to
#          be considered up.

RC_NET_STRICT_CHECKING="no"

看明白了,难道真是这个,要去研究一下

Post by tell
我是怀疑你
rc-update add net.eth1 boot

那么
rc-upade del net.eth1 default
自然没用,
所以,贴下
rc-update show

还有你rc-upade写错了,我从你那段拷下来发现*_*

这是不可能的,为了验证,我亲自去/etc/runlevels下的default目录和boot目录确认过
回复 支持 反对

使用道具 举报

发表于 2007-8-22 00:09:58 | 显示全部楼层
看/etc/conf.d/rc里的这几个选项

RC_HOTPLUG="yes"
如果是yes,表示如果插上硬件,而且你有驱动,驱动自动加载(此即hotplug),之后此硬件相关的服务会自动启动

RC_COLDPLUG="yes"
和hotplug类似,不过只是指开机时检测加载硬件驱动

RC_PLUG_SERVICES="net.eth0 !net.*"
如此就表示不管是hot还是coldplug,只有eth0会自动启动,其他任何网络界面都不会启动

而我自己则做的更绝,我根本不让系统加载我的8139cp模块——我只用无线网卡
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-22 07:49:21 | 显示全部楼层
Post by zhllg
看/etc/conf.d/rc里的这几个选项

RC_HOTPLUG="yes"
如果是yes,表示如果插上硬件,而且你有驱动,驱动自动加载(此即hotplug),之后此硬件相关的服务会自动启动

RC_COLDPLUG="yes"
和hotplug类似,不过只是指开机时检测加载硬件驱动

RC_PLUG_SERVICES="net.eth0 !net.*"
如此就表示不管是hot还是coldplug,只有eth0会自动启动,其他任何网络界面都不会启动

而我自己则做的更绝,我根本不让系统加载我的8139cp模块——我只用无线网卡


差不多明白了,不过我对gentoo的内核编译还了解的不深,所以我编译的时候网卡驱动不是以M形式编译进去的,是完全塞进内核里的

不过最后有个问题,那就是eth*这东西到底是一个硬件层面上的东西,还仅仅是一个软件的网络界面,我们都知道类似ppp0这样的只是一个软件界面而已,可是为什么当ppp0从eth*这块网卡上拨号时,系统仍然会启动eth*呢,eth*到底仅仅是一个网络界面,还是包含硬件层面的东西?
回复 支持 反对

使用道具 举报

发表于 2007-8-22 13:40:20 | 显示全部楼层
当然eth0是和硬件对应的,network interface就是网卡,直译就是网络界面
如果你用ADSL,ppp0就会依赖于eth0,因为ADLS是ppp over ethernet
如果你用56K modem,那ppp0就代表modem
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-22 14:22:53 | 显示全部楼层
Post by zhllg
当然eth0是和硬件对应的,network interface就是网卡,直译就是网络界面
如果你用ADSL,ppp0就会依赖于eth0,因为ADLS是ppp over ethernet
如果你用56K modem,那ppp0就代表modem


啊?那不对了,看来我的理解还是有问题,那如果一块网卡上绑定多个IP,这每个IP代表什么?我记得曾经听说过linux可以做策略路由,一块网卡绑定多个IP,然后内网的机器以不同的IP出去,这个时候这些IP代表的是什么?代表这块网卡,还是每个IP算一个网络界面?
回复 支持 反对

使用道具 举报

发表于 2007-8-22 14:48:09 | 显示全部楼层
ip代表通信地址,这是没有疑义的

An IP address (Internet Protocol address) is a unique address that certain electronic devices use in order to identify and communicate with each other on a computer network utilizing the Internet Protocol standard (IP)

不过我的回帖可能让你有些糊涂了,不好意思
我第一个回帖里的网络界面指的是服务,也是这个服务所代表的通信节点,就是网络地址,就是IP
第二个我又说是指网卡,我其实是忘记看了我的第一个回帖
这两种理解都正确,不过要看具体环境
http://en.wikipedia.org/wiki/Network_interface

ppp0, eth0这些东西一般都和具体硬件一一对应,不过ADSL是特殊的,ADSL是pppoe,也就是运行在以太网之上的ppp协议,ppp0此时就和eth0重叠,对应同一个物理硬件。或者你想象成是一个虚拟硬件,但下面依赖于实体物理硬件。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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