• Linux网络配置文件详解


    --Linux网络配置文件详解
    ----------------------2013/10/03

    目前在企业级服务器的Linux系统中,RHEL占有绝对的优势,不管是曾经在互联网公司还是在目前测试Virtualization都是用的RHEL,所以本文主要是针对RedHat的linux来写的。前阵子有一次也被测试中的各种网络配置给搞晕了,因为我们VT-D和SR-IOV基本上都用NIC来测试的。收集了点资料,结合实际经验总结一下。

    Redhat Linux的网络配置,基本上是通过修改几个配置文件来实现的,虽然也可以用ifconfig来设置IP,用route来配置默认网关,用hostname来配置主机名,但是重启后会丢失。

    Linux中网络相关的主要的几个配置文件为:

    /ect/hosts配置主机名(域名)和IP地址的对应
    /etc/sysconfig/network配置主机名和网关
    /etc/sysconfig/network-scripts/ifcfg-eth0 eth0配置文件,eth1则文件名为ifcfg-eth1,以此类推/etc/resolv.conf配置DNS客户端(关于使用哪个DNS服务器的配置)

    1./etc/sysconfig/network-scripts/ifcfg-<interface-name>
    文件
    在RedHat中,系统网络设备的配置文件保存在/etc/sysconfig/network-scripts目录下,ifcfg-eth0包含第一块网卡的配置信息,ifcfg-eth1包含第二块网卡的配置信息。在启动时,系统通过读取这个配置文件决定某个网卡是否启动和如何配置。

    下面是/etc/sysconfig/network-scripts/ifcfg-eth0文件的示例:
    DEVICE=eth0
    IPADDR=192.168.0.2
    NETMASK=255.255.255.0
    BROADCAST=192.168.0.255
    NBOOT=yes
    BOOTPROTO=none
    GATEWAY=192.168.0.1

    若希望手工修改网络地址或增加新的网络连接,可以通过修改对应的文件ifcfg-<interface-name>或创建新的文件来实现。

    DEVICE=<name>   <name>表示物理设备的名字
    IPADDR=<address>   <address>表示赋给该网卡的IP地址
    NETMASK=<mask>  <mask>表示子网掩码
    BROADCAST=<address> <address>表示广播地址
    NBOOT=yes/no  启动时是否激活该卡
    BOOTPROTO=none  none:无须启动协议;bootp:使用bootp协议;dhcp:使用dhcp协议
    GATEWAY=<address> <address>表示默认网关
    MACADDR=<MAC-address> <MAC-address>表示指定一个MAC地址
    USERCTL=yes/no    是否允许非root用户控制该设备

    2./etc/resolv.conf
    文件
    文件/etc/resolv.conf配置DNS客户端,它包含了DNS服务器地址和域名搜索配置,每一行应包含一个关键字和一个或多个的由空格隔开的参数。下面是一个例子文件:

    search wuxp.com
    nameserver 192.168.0.1
    nameserver 192.168.0.2

    search wuxp.com:表示当提供了一个不包括完全域名的主机名时,在该主机名后添加wuxp.com的后缀;nameserver:表示解析域名时使用该地址指定的主机为域名服务器。其中域名服务器是按照文件中出现的顺序来查询的。因此,应该首先给出最可靠的服务器。目前,至多支持三个名字服务器。

    3./etc/sysconfig/network
    文件

    该文件用来指定服务器上的网络配置信息,下面是一个示例:
    NETWORK=yes
    RORWARD_IPV4=yes
    HOSTNAME=server.wuxp.com
    GAREWAY=192.168.0.1
    GATEWAYDEV=eth0
    NETWORK=yes/no    网络是否被配置
    FORWARD_IPV4=yes/no    是否开启IP转发功能
    HOSTNAME=<hostname> <hostname>表示服务器的主机名
    GAREWAY=<address>    <address>表示网络网关的IP地址
    GAREWAYDEV=<device>  <device>表示网关的设备名,如:eth0

    4./etc/hosts
    文件

    当机器启动时,在可以查询DNS以前,机器需要查询一些主机名到IP地址的匹配。这些匹配信息存放在/etc/hosts文件中。在没有域名服务器情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的IP地址。
    下面是一个/etc/hosts文件的示例:
    127.0.0.1 Localhost server.wuxp.com
    192.168.0.3 station1.wuxp.com
    最左边一列是主机IP信息,中间一列是主机名。任何后面的列都是该主机的别名。

    修改后,需要重启网络才会生效:重新启动网络设置:/sbin/service network restart

    service network start //启动网络服务
    service network stop //停止网络服务
    service network status //查看网络服务状态
     

    另外,还有单个网卡绑定多个IP和多个网卡绑定为一块虚拟网卡的配置。

    1
    、单网卡绑定多个IP

    有时,我们需要在一块网卡上配置多个IP,例如,在上面的例子中,我们还需要为eth0配置IP 192.168.168.2和192.168.168.3。那么需要再在/etc/sysconfig/network-scripts下新建两个配置文件:

    ifcfg-eth0:0
    内容如下:

    DEVICE=eth0:0

    BOOTPROTO=static
    IPADDR=192.168.168.2
    NETMASK=255.255.255.0
    NBOOT=yes

    ifcfg-eth0:1
    内容如下:

    DEVICE=eth0:1

    BOOTPROTO=static
    IPADDR=192.168.168.3
    NETMASK=255.255.255.0
    NBOOT=yes

    2
    、多个网卡绑定成一块虚拟网卡

    为了提供网络的高可用性,我们可能需要将多块网卡绑定成一块虚拟网卡对外提供服务,这样即使其中的一块物理网卡出现故障,也不会导致连接中断。比如我们可以将eth0和eth1绑定成虚拟网卡bond0
    首先在/etc/sysconfig/network-scripts/下创建虚拟网卡bond0的配置文件ifcfg-bond0,内容如下

    DEVICE=bond0

    BOOTPROTO=none
    BROADCAST=192.168.168.255
    IPADDR=192.168.168.1
    NETMASK=255.255.255.0
    NETWORK=192.168.168.0
    NBOOT=yes
    TYPE=Ethernet
    GATEWAY=192.168.168.250
    USERCTL=no

    然后分别修改eth0和eth1的配置文件

    ifcfg-eth0内容:

    DEVICE=eth0

    BOOTPROTO=none
    NBOOT=yes
    USERCTL=no
    MASTER=bond0
    SLAVE=yes

    ifcfg-eth1内容

    DEVICE=eth1

    BOOTPROTO=none
    NBOOT=yes
    USERCTL=no
    MASTER=bond0
    SLAVE=yes

    因为linux的虚拟网卡是在内核模块中实现的,所以需要安装的时候已经装好该module。在/etc/modprobe.conf文件(好像有些老版本是/etc/modules.con)中添加如下内容(如果没有该文件,则新建一个):

    alias bond0 bonding

    options bond0 miimon=100 mode=1 primary=eth0

    其中miimon=100表示每100ms检查一次链路连接状态,如果不通则会切换物理网卡

    mode=1表示主备模式,也就是只有一块网卡是active的,只提供失效保护。如果mode=0则是负载均衡模式的,所有的网卡都是active,还有其他一些模式很少用到
    primary=eth0表示主备模式下eth0为默认的active网卡

    最后,在/etc/rc.local中加入

    modprobe bonding miimon=100 mode=1

    重启机器后可以看到虚拟网卡已经生效,可以通过插拔两个物理网卡的网线来进行测试,不过linux中网卡接管的时间好象比较长。
     
  • 相关阅读:
    Js特效总结
    asp.net中的绝对路径和相对路径
    GrideView合并列合并序号,隐藏某列按钮
    WebConfig 配置文件详解
    ASP.NET打印EXCEl报表技术总结
    ADO.NET DataSet、DataTable、DataRow、DataView的学习
    asp.netGridView使用技巧
    .net Remoting
    C# webservice开发
    js实现网页打印分页打印
  • 原文地址:https://www.cnblogs.com/jackhub/p/3404686.html
Copyright © 2020-2023  润新知