Linux-配置网络的四种方法

时间:2024-03-08 14:57:41

Linux 为 配 置 网 络 提 供 了 许 多 工 具 , 其 中 有 图 形 界 面 的 ( 如NetworkManager1)、也有伪图形界面(如 system-config-network 2)的。虽然使用这些工具来配置网络会很方便,但是由于各个发行版本的 Linux 所提供的网络配置工具很可能完全不同,并且通过命令行界面的远程登录也无法使用这些图形界面的工具,所以我们并不打算使用工具来配置网络,而选择通过直接编辑相关文件来配置网络参数。在 Linux 系统中,网络是通过若干个文本文件进行配置的,需要编辑这些文
件来完成联网工作。系统中重要的有关网络配置文件为:/etc/services、/etc/host.conf 、 /etc/nsswitch.conf 、 /etc/xinetd.conf /etc/modules.conf 、/etc/sysconfig/network、/etc/hosts、/etc/resolv.conf 和/etc/sysconfig/ networkscripts/ifcfg-ethN。我们在这里要简要解释的后四个文件。

注:上面这些文件都支持由"#"开头的注释

/etc/sysconfig/network 文件
/etc/sysconfig/network 文件用来为主机设定全局网络参数(也即不是针对单
个网络接口的参数)。

NETWORKING= 值表示是否配置这个网络,可以是如下值:
 yes —配置网络
 no — 不配置网络

HOSTNAME= 值为主机名,一般来说,这个主机名应该是一个完
整的 FQDN ( Fully Qualified Domain Name),也即主机名+域名,如 hostname.expample.com。但是主机名并非必须为 FQDN,你可以给主机取一个任意格式的名字

GATEWAY= 值为网络的默认网关 IP 地址

注:/etc/sysconfig/network 中的 GATEWAY 参数会被

/etc/sysconfig/network-scripts/ifcfg-eth0 中的 GATEWAY 参数覆盖

/etc/sysconfig/network-scripts/ifcfg-ethN 文件
对于主机上的每个网络接口都需要进行配置,在 Linux 中每个网络接口都有一个独立的配置文件,文件名一般为:/etc/sysconfig/network-scripts/ifcfg-ethN,其中 N是一个数字,代表主机网络接口的序号,例如,主机中有多个网络接口,那么第一个接口的配置文件就叫做 ifcfg-eth0,第二个接口的配置文件就叫做ifcfg-eth1,依次类推。网络接口配置文件控制每个网络接口的行为,当系统启动时就使用这些文件来确定激活哪些网络接口和如何去配置这些接口。注意,网络接口配置文件中的某些配置会影响到主机上其他网络接口甚至整个整个主机网络配置。

BOOTPROTO= 值表示采用何种方式来配置主机网络参数,可以是如下值:
 none/static — 手动配置此主机网络
 bootp — 使用 BOOTP 协议动态配置主机网络参数.

 dhcp — 使用 dhcp 协议动态配置主机网络参数.

DEVICE= 值表示物理设备的名称,也即网卡的名称
DEFROUTE= 值表示是否将本网络接口作为网络的默认路由(default route),可以是如下值:
 yes — 是.
 no — 否.

DNS{1,2}= 值表示 DNS 服务器的 IP 地址,可以添加两个 DNS服务器 DNS1 和 DNS2,如果 PEERDNS 参数值为 yes ,那么此 DNS 参数值将覆盖 /etc/resolv.conf 文件中的DNS 服务器配置.

HWADDR= 值为太网卡的 MAC 地址,是如下格式一个 12 位的16 进制串 AA:BB:CC:DD:EE:FF. 如果主机上有两张以上的网卡这个参数就是必须的,可以保证不管网卡加载次序如何,设备名都不会改变,进而能够让正确的配置文件来对其进行配置.

IPADDR= 值为当前网络接口 IP 地址.IPV4_FAILURE_FATAL= 值指的是,当 IPv4 和 IPv6 配置都可用时,IPv4 配置失败是是否视为设备激活失败, 可以是如下值:
 yes — 是.
 no — 否.

IPV6INIT= 值表示是否对配置主机的 IPv6 网络参数,可以是如下值:
 yes — 是.
 no — 否.

NETMASK= 值为当前网络接口的子网掩码.

NM_CONTROLLED= 值表示此网络接口是否允许 RHEL 和 CentOS 中的默认图形界面的网络配置工具 NetworkManager 来进行配置, 可以是如下值:
 yes — 是.
 no — 否.

ONBOOT= 值表示是否在启动时激活此网络接口,可以是如下值:
 yes — 是.

 no — 否.

PEERDNS= 值表示是否允许接口配置文件中的 DNS 参数值覆
盖 /etc/resolv.conf 文件中的 DNS 服务器配置,可以是如下值:
 yes — 是.
 no — 否.

PEERROUTES=

SRCADDR= 表示为从这个接口发出去的数据包指定另外一个源地址 (而不是接口的 IP 地址).

USERCTL= 值表示是否允许除 root 用户之外的用户配置此网络接口,可以是如下值:
 yes — 是.
 no — 否

/etc/resolv.conf 和/etc/hosts 文件
该文件是 DNS 客户端配置文件,它的格式很简单,每行以一个关键字开头,后接配置参数。最主要是 nameserver 关键字,如果没指定 nameserver 就找不到 DNS 服务器,其它关键字都是可选的。

nameserver = 为 DNS 服务器的 IP 地址,总共可以指定 3 个 DNS服务器 IP 地址

domain= 值表示本地域名

search= 值表示域名的搜索列表,默认情况下仅包括本地域名

下面是一个/etc/resolv.conf 文件的示例:
domain ringkee.com
search www.ringkee.com ringkee.com
nameserver 202.96.128.86

nameserver 202.96.128.166

/etc/hosts 文件是一个用于储存计算机网络中各节点信息的文件。这个文件负责将主机名映射到相应的 IP 地址。hosts 文件通常用于补充或取代小型网络中 DNS 的功能。和 DNS 不同的是,用户可以直接对/etc/hosts 文件进行控制。
在默认情况下, /etc/hosts 仅包括两行,分别用于指定 IPv4 网络中和 IPv6 网
络中回环接口的主机名(默认情况下为 localhost.localdomain):

IP 地址

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

下面是一个/etc/resolv.conf 文件的示例:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

以上两行建议保留

IP 地址 主机名(Hostname) 主机别名(Alias)

208.164.186.1 deep.openna.com deep
208.164.186.2 mail.openna.com mail
208.164.186.3 web.openna.com web