Linux中网络相关的主要的几个配置文件为:
/ect/hosts #配置主机名(域名)和私有IP地址的对应/etc/sysconfig/network #配置主机名和网关
/etc/sysconfig/network-scripts/ifcfg-eth0 #eth0配置文件,eth1则文件名为ifcfg-eth1,以此类推(这里的ethX是网卡接口的名称,也可能是其他名称,例如emX等)
/etc/resolv.conf #配置DNS(关于使用哪个DNS服务器的配置)
1./etc/sysconfig/network-scripts/ifcfg-文件
在RedHat或CentOS中,系统网络设备的配置文件保存在/etc/sysconfig/network-scripts目录下,ifcfg-eth0包含第一块网卡的配置信息,ifcfg-eth1包含第二块网卡的配置信息。在启动时,系统通过读取这个配置文件决定某个网卡是否启动和如何配置。下面是/etc/sysconfig/network-scripts/ifcfg-eth0文件的示例:
1、手动设定IP:
DEVICE=eth0 #网卡接口名称
TYPE=Ethernet #网卡类型
MACADDR=00:0C:29:96:38:F8 #机器的物理地址,出厂时设置的
ONBOOT=yes #是否开机启动
BOOTPROTO=static #静态地址,还有其他选项[none|dootp|dhcp](引导时不使用协议| BOOTP协议|DHCP动态获得地址)
IPADDR=192.168.0.2 #赋给该网卡的IP地址
NETMASK=255.255.255.0 #子网掩码,C类网络都是这个掩码,表示前面三段数字代表网络地址,后面一段数字代表主机地址
GATEWAY=192.168.0.1 #默认网关,
BROADCAST=192.168.0.255 #广播地址
USERCTL=no #是否允许非root用户控制该设备
2、DHCP:
DEVICE=eth0
TYPE=Ethernet
MACADDR=00:0C:29:96:38:F8
ONBOOT=yes
BOOTPROTO=dhcp
当采用DHCP时,/etc/resolv.conf 会被自动设定,所以我们可以不用管它。
修改了网络配置文件之后,务必重启网卡,才能生效。
注:若希望手工修改网络地址或增加新的网络连接,可以通过修改对应的文件ifcfg-或创建新的文件来实现。
2./etc/resolv.conf文件
文件/etc/resolv.conf配置DNS客户端,它包含了DNS服务器地址和域名搜索配置,每一行应包含一个关键字和一个或多个的由空格隔开的参数。(配置正确的DNS地址是连接外网的必要条件,如果不连接外网,可以不设置这一项。也可以用system-config-network-tui命令来设置,这是一个文本模式的窗口工具,修改后可以直接改变该配置文件的内容)下面是一个例子文件:
search localdomainsearch localdomain:表示当提供了一个不包括完全域名的主机名时(主机名的部分名称),在该主机名后添加localdomain的后缀;nameserver:表示解析域名时使用该地址指定的主机为域名服务器。其中域名服务器是按照文件中出现的顺序来查询的。因此,应该首先给出最可靠的服务器。目前,至多支持三个名字服务器。
nameserver 192.168.3.1 #Primary DNS Server
nameserver 8.8.8.8 #Secondary DNS Server
3./etc/sysconfig/network文件
该文件用来指定服务器上的网络配置信息,下面是一个示例:NETWORK=yes #网络是否被配置
RORWARD_IPV4=yes #是否开启IP转发功能
HOSTNAME= localhost.localdomain #表示服务器的主机名
GAREWAY=192.168.0.1 #表示网络网关的IP地址
GATEWAYDEV=eth0 #网关的设备名,即选择使用哪个网卡
4./etc/hosts文件
当机器启动时,在可以查询DNS以前,机器需要查询一些主机名到IP地址的匹配。这些匹配信息存放在/etc/hosts文件中。在没有域名服务器情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的IP地址。下面是一个/etc/hosts文件的示例:
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
最左边一列是主机IP信息,中间一列是主机名。任何后面的列都是该主机的别名。
修改后,需要重启网络才会生效,service network用于调用/sbin/service脚本,以实现对网络服务的控制:
service network restart #重新启动网络设置
service network start #启动网络服务
service network stop #停止网络服务
service network status #查看网络服务状态
也可以 /etc/init.d/network [restart | start | stop | status]
不同Linux发行版的网络配置文件
Red Hat Linux / CentOS 系列网络配置文件路径:
/etc/sysconfig/network-scripts/ifcfg-ethX # IP地址,子网掩码等配置文件
/etc/sysconfig/network-scripts/ifcfg-lo # 回环网卡配置
/etc/sysconfig/network # 主机名和网关配置文件
/etc/resolv.conf # DNS配置文件
/etc/hosts # 主机和IP绑定信息
suse Linux 网络配置文件路径:
/etc/sysconfig/network/ifcfg-eth-id-HWaddr # IP地址,子网掩码等配置文件
/etc/HOSTNAME # 全局主机名配置
/etc/resolv.conf # DNS配置文件
/etc/sysconfig/network/routes # 网关配置文件
/etc/hosts # 主机和IP绑定信息
Debian / Ubuntu Linux 网络配置文件路径:
/etc/network/interfaces # IP地址,子网掩码等配置文件
/etc/resolv.conf # DNS
/etc/hostname # 全局主机名配置
/etc/hosts # 主机和IP绑定信息
Slackware Linux 网络配置文件路径:
/etc/rc.d/rc.inet1.conf # IP地址,子网掩码等配置文件
/etc/resolv.conf # DNS
/etc/hostname # 全局主机名配置
/etc/networks # 设置网络号等相关信息
/etc/hosts # 设置主机和IP地址绑定