LinuxSir.cn,穿越时空的Linuxsir!

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

网卡号的分配每次启动不固定。

[复制链接]
发表于 2005-11-12 13:05:18 | 显示全部楼层 |阅读模式
两张网卡, eth0 与 eth1 每次启动都会对调,怎么把它锁定?

ip 地址的分配在interfaces中用mapping 通过mac地址指定,
但是 dsl-provider 指定的网卡每次也要跟着换,是否要用shell script解决?
 楼主| 发表于 2005-11-13 10:01:27 | 显示全部楼层
难道大家从没有遇到这个问题?还是我的主板有点毛病?好象最近几次升级后出现。
写一个script解决
  1. /etc/network/interfaces
  2. auto lo eth0 eth1
  3. iface lo inet loopback

  4. mapping eth0 eth1
  5.         script /etc/network/get-mac-address.sh
  6.         map 00:0a:eb:27:e2:cd modem
  7.         map 00:00:e8:11:53:e4 lan
  8.        
  9. iface modem inet static
  10.         address 192.168.1.1
  11.         netmask 255.255.255.0
  12.         broadcast 192.168.1.255

  13. iface lan inet static
  14.         address 192.168.0.1
  15.         netmask 255.255.255.0
  16.         broadcast 192.168.0.255

  17. auto dsl-provider
  18. iface dsl-provider inet ppp
  19.         pre-up /etc/network/set-dsl-provider.sh modem
  20.         provider dsl-provider
复制代码


get-mac-address.sh 在 /usr/share/doc/ifupdown/examples

/etc/network/set-dsl-provider.sh
  1. #!/bin/bash
  2. if [ $# -ne 1 ]; then exit 1
  3. else
  4.     interface=$(grep $1 /etc/network/run/ifstate | sed "s/=.*//" | grep '^eth[0-9]\+$')
  5.     if ! [ -n "$interface" ]; then exit 1
  6.     fi
  7.    
  8.     file=/etc/ppp/peers/$IF_PROVIDER
  9.     if [ -f $file ]; then
  10.         sed 's/\(^[ \t]*\([^#].*[ \t]\+\)\?\)eth[0-9]\+\([ \t].*\|$\)/\1'$interface'\3/' $file > /tmp/tmp$$.$$
  11.         cp /tmp/tmp$$.$$ $file
  12.         rm /tmp/tmp$$.$$
  13.         exit 0
  14.     else
  15.         exit 1
  16.     fi
  17. fi
复制代码
回复 支持 反对

使用道具 举报

发表于 2005-11-15 15:28:24 | 显示全部楼层
赞!
问题就象日本鬼子(不是日本人民哦),楼主发现一个就解决一个,绝对是个好同志!
回复 支持 反对

使用道具 举报

发表于 2005-11-15 15:47:01 | 显示全部楼层
udev或者hotplug可以搞顶
回复 支持 反对

使用道具 举报

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

本版积分规则

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