[20161228]linux修改网络配置问题.txt
--今天要修改一块网卡的网络配置,一般在修改前我习惯做一个备份,但是在我启动网络时,还是让我惊讶一下.
--以下是我在测试环境做的测试:
1.环境:
# cat /etc/issue
Oracle Linux Server release 5.9
Kernel \r on an \m
2.修改网络配置:
# cd/etc/sysconfig/network-scripts
# cp ifcfg-eth0 ifcfg-eth0.org
--//做一些修改脚本.我这里没有修改.
# service network restart
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]
Bringing up interface eth0.org: [ OK ]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--//这个是我以前也做过,没有注意的细节!!难道现在的版本这样吗?或者我以前忽略了.
3.深入探究:
--检查/etc/init.d/network脚本,存在如下代码:
# find all the interfaces besides loopback.
# ignore aliases, alternative configurations, and editor backup files
interfaces=$(ls ifcfg* | \
LANG=C sed -e "$__sed_discard_ignored_files" \
-e '/\(ifcfg-lo$\|:\|ifcfg-.*-range\)/d' \
-e '/ifcfg-[A-Za-z0-9#\._-]\+$/ { s/^ifcfg-//g;s/[0-9]/ &/}' | \
LANG=C sort -k 1,1 -k 2n | \
LANG=C sed 's/ //')
# grep "sed_discard_ignored_files" /etc/init.d/*
/etc/init.d/functions:__sed_discard_ignored_files='/\(~\|\.bak\|\.orig\|\.rpmnew\|\.rpmorig\|\.rpmsave\)$/d'
/etc/init.d/network: LANG=C sed -e "$__sed_discard_ignored_files" \
*/
--可以发现在扫描确定那些网口时,开头ifcfg*,仅仅取消后缀为bak,orig,rpmnew,rpmorig,rpmsave的文件.
--改名看看.
# mv ifcfg-eth0.xxx ifcfg-eth0.bak
# service network restart
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]
--这样就不会读取ifcfg-eth0.bak文件.
--不过我最终发现IP还是第一次设置的地址,没仔细跟踪,总之以后维护要注意这个细节.