Redhat AS Linux network服务

来源:互联网 发布:大数据推荐算法 编辑:程序博客网 时间:2024/05/22 02:16

    Shell编程是一直想学习的,但苦于时间和精力。今天在使用过程中越发感受到shell的强大和不了解shell的遗憾。

    配置有双网卡的机器,第一块网卡eth0,第二块网卡eth1。现在要为这台机器配置一个外网地址,eth0已经配置为内网地址。eth1之前没有做过任何配置,于是就想在eth1上配置外网地址。配置好了,进行"service network restart",发现没有启动eth1这块网卡。于是进入/etc/init.d查看network这个脚本,由于对shell不怎么了解,没有看出什么名堂。只是发现network服务启动时,需要读取/etc/sysconfig/network-scripts下的文件。

    于是来到了/etc/sysconfig/network-scripts目录,发现有ifcfg-eth0和ifcfg-eth1两个文件,毫无疑问,是网卡的配置文件了。仔细一看配置选项"ONBOOT"的值在两个文件中是不一样的,ifcfg-eth0是yes,而ifcfg-eth1是no。于是立马想到了/etc/init.d/network文件,在其中查找了"ONBOOT"关键字,发现如下代码:

if LANG=C egrep -"^ONBOOT=['"]?[Nn][Oo]['"]?" ifcfg-$i > /dev/null ; then
                # 
this loads the module, to preserve ordering
                is_available $i
                
continue
fi

    在命令行执行 LANG=C egrep -"^ONBOOT=['"]?[Nn][Oo]['"]?" ifcfg-eth0 ,打印出"ifcfg-eth0";而LANG=C egrep -"^ONBOOT=['"]?[Nn][Oo]['"]?" ifcfg-eth1 ,却没有任何输出。断定应该是"ONBOO"字段的值不同引起的,于是乎,将ifcfg-eth1的ONBOOT的值改为yes。再次"service network restart",一切OK.

-------------------------------------------------------------------------------------------------------------------------------------------------

    设置网关用route命令,但是关于如何让它每次开机都生效却有很多办法。在网上搜索了一下,基本都是通过读配置文件的方式来实现的。由于历史原因,可写的配置文件非常多,让人感觉很混乱。今天突然发现一个比较易记的配置文件:/etc/sysconfig/network-scripts/ifcfg-*。字段配置如下(其中GATEWAY字段为要设置的网关地址):

DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
IPADDR=218.206.178.116
NETMASK=255.255.255.0
GATEWAY=218.206.178.65
TYPE=Ethernet
USERCTL=no
PEERDNS=yes
IPV6INIT=no

原创粉丝点击