论坛风格切换切换到宽版
  • 881阅读
  • 8回复

[问题求助]改MAC,修改配置文件实现 [复制链接]

上一主题 下一主题
离线qscefb.
 
发帖
2089
C币
-60468
威望
366
贡献值
1
银元
-1
铜钱
4573
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
在网上看到的更.改MAC都是用命令行下的参数,服务器
但是我总觉得应该能够通过修改配置文件实现,应该是 if.confi.g.eth0 不知道该添加什么变量,          婚庆
顺便说一下,感觉Lin.ux的好多设置都要用命令行来设置,还要添加.到开机脚本中,正规的设置不是应该修改配置文件么,关于怎么配置,修改什么文件.,也没有一个权威性质的手册,网上又是众说纷纭,实在迷茫,还望大侠指点一二,谢谢域名

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线daofeng99.
发帖
2012
C币
-152620
威望
379
贡献值
1
银元
-5
铜钱
4612
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
如果非要做配置文件, 那就自己修改/etc/init.d/network这个脚本咯。
在开启网络部分自己从一个配置文件中读入,然后设置。
/sbin/ifdown eth0
awk `system("/sbin/ifconfig eth0 hw ether " $1)` /etc/MAC_addr.txt
/sbin/ifup eth0

离线lsl3325009.
发帖
2008
C币
-235911
威望
401
贡献值
1
银元
-2
铜钱
4606
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13


QUOTE:原帖由 xinglp 于 2007-5-22 20:07 发表于 1楼  
在网上看到的更改MAC都是用命令行下的参数,
但是我总觉得应该能够通过修改配置文件实现,应该是 ifconfig.eth0 不知道该添加什么变量,
顺便说一下,感觉Linux的好多设置都要用命令行来设置,还要添加到开机 ...



MAC我不太清楚,该修改那个配置文件。因为用IFCONFIG修改必须在网卡DOWN的状态下。否则不起作用。
但是,不可否认,你的想法或思路是好的。实质的LINUX也就是这么做的。譬如网卡的配置,防火墙的配置,甚至是路由表,还有各种服务的配置。

但从另一方面说,脚本也并不是不好的东西。CISCO的配置文件,说白了就是一个开机的脚本,这和LINUX下的RC.LOCAL没什么两样,甚至你都可以用复制粘贴的方式来执行,但是世界上千千万万的CISCO都是用的这中方式,出错过吗?没有,

所以说,在计算机中能完成工作的,能达到目的的就是好方法。

离线chaoran898.
发帖
2053
C币
-60843
威望
358
贡献值
1
银元
0
铜钱
4539
人人网人气币
0
只看该作者 地板  发表于: 2010-04-13
修改/etc/sysconfig/network-scripts/ifcfg-eth0
格式:
DEVICE=eth0
BOOTPROTO=static
BROADCAST=219.222.202.255
HWADDR=04:4B:80:80:80:03
IPADDR=219.222.202.128
NETMASK=255.255.255.0
NETWORK=219.222.202.0
ONBOOT=yes
TYPE=Ethernet

离线kaobo.
发帖
2065
C币
-60356
威望
403
贡献值
1
银元
-2
铜钱
4722
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-13


QUOTE:原帖由 xinglp 于 2007-5-22 20:07 发表于 1楼  
在网上看到的更改MAC都是用命令行下的参数,
但是我总觉得应该能够通过修改配置文件实现,应该是 ifconfig.eth0 不知道该添加什么变量,
顺便说一下,感觉Linux的好多设置都要用命令行来设置,还要添加到开机 ...


這個以前討論過了,請參閱:

http://linux.chinaunix.net/bbs/viewthread.php?tid=764131

--

离线yszkm.
发帖
2099
C币
-152659
威望
380
贡献值
1
银元
-3
铜钱
4664
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-13


QUOTE:原帖由 bingosek 于 2007-5-22 23:46 发表于 4楼  
修改/etc/sysconfig/network-scripts/ifcfg-eth0
格式:
DEVICE=eth0
BOOTPROTO=static
BROADCAST=219.222.202.255
HWADDR=04:4B:80:80:80:03
IPADDR=219.222.202.128
NETMASK=255.255.255.0
NETWORK=2 ...


這個提供的資訊不大正確,HWADDR 是提供指定符合的 nic 的 mac address 才要套用成為 eth0 介面。

--

发帖
1973
C币
-198791
威望
339
贡献值
1
银元
-1
铜钱
4278
人人网人气币
0
只看该作者 6楼 发表于: 2010-04-13
还是喜欢命令来修改,用配置比较麻烦,主要在麻烦在不同发行版之间配置文件不一样,机器太多,不好弄。

另外,如果使用udev的LINUX系统要小心了,Ubuntu直接修改interfaces文件会导致系统启动的时候HUNG在udev上,查了好久才定位问题,RH没试过。

离线ccc.cui.
发帖
2141
C币
-60591
威望
381
贡献值
1
银元
-5
铜钱
4660
人人网人气币
0
只看该作者 7楼 发表于: 2010-04-13
谢谢你们,十分感谢

离线qlylny.
发帖
2011
C币
-60576
威望
375
贡献值
1
银元
-3
铜钱
4516
人人网人气币
0
只看该作者 8楼 发表于: 2010-04-13
1. HWADDR 与 MACADDR 意思十万八千里... HWADDR 是指定系统有多张网路卡时, 只有网路卡 mac addr 为指定项目时才使用该 IP 分配设定。MACADDR 是说指定这个介面配置把网路卡 MAC 调整后才套用该 IP 配置。

谢谢指正,看了一下ifcfg-eth的脚本,的确是这样:
关于HWADDR:
# remap, if the device is bound with a MAC address and not the right device num
# bail out, if the MAC does not fit
if [ -n "${HWADDR}" ]; then
    FOUNDMACADDR=`get_hwaddr ${REALDEVICE}`
    if [ "${FOUNDMACADDR}" != "${HWADDR}" ]; then
        curdev=`get_device_by_hwaddr ${HWADDR}`
        if [ -n "$curdev" ]; then
          rename_device "${REALDEVICE}" "${HWADDR}" "${curdev}" || {
            echo $"Device ${DEVICE} has different MAC address than expected, ignoring."
            exit 1
          }
        fi
    fi
fi
关于MACADDR:
# this isn't the same as the MAC in the configuration filename.  It is
# available as a configuration option in the config file, forcing the kernel
# to think an ethernet card has a different MAC address than it really has.
if [ -n "${MACADDR}" ]; then
   ip link set dev ${DEVICE} address ${MACADDR}
fi
快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个