本片文章针对的是 RHEL 系列的 Linux 系统。
使用配置文件配置的方式是永久有效的。
IP、掩码、网关、DNS 的网络配置文件为:
/etc/sysconfig/network-scripts/ifcfg-<interface_name>
interface_name:网络接口(网卡)名称
路由相关的配置文件:`
/etc/sysconfig/network-scripts/route-<interface_name>
interface_name:网络接口(网卡)名称
网络配置文件详解
先查看一下本机的 /etc/sysconfig/network-scripts/ifcfg-eth0
配置文件(即 eth0 网卡的配置文件):
DEVICE=eth0
HWADDR=00:0C:29:45:2C:8B
TYPE=Ethernet
UUID=c4f2a4bb-e7ed-4623-84ad-3da42d130eda
ONBOOT=yes
NM_CONTROLLED=yes
IPADDR=10.0.1.201
PREFIX=24
GATEWAY=10.0.1.254
DNS1=10.0.1.254
IPV6_PRIVACY=no
下面对该配置文件中的相关属性进行说明与补充:
DEVICE
:此配置文件应用到的接口设备(网卡)名称;HWADDR
:对应的设备的 MAC 地址;BOOTPROTO
:引导协议,指定该网卡启动时使用哪一种地址配置协议,常用有dhcp
、static
、none
、bootp
;NM_CONTROLLED
:NM 是“NetworkManager”的简写,这是 RHEL 为 RHEL 6 所研发的为了取代 network 脚本(/etc/rc.d/init.d/network
,在 CentOS 5 上使用)实现网络管理和配置的服务脚本,该脚本为/etc/rc.d/init.d/NetworkManager
。该项属性的作用是指定该网卡是否接受 NM 的控制,CentOS 6 上的 NM 还不完善,建议禁用,设置为no
即可;ONBOOT
:在系统启动(引导)时是否激活此设备;TYPE
:工作时的接口类型,常见有 Ethernet(以太网)、Bridge(桥接);UUID
:设备的唯一标识;IPADDR
:手动指定 IP 地址,当BOOTPROTO
为static
时使用;NETMASK
:子网掩码;GATEWAY
:默认网关;DNS1
:第一个 DNS 服务器指向,相对/etc/resolv.conf
中配置的优先级较高;DNS2
:第二个 DNS 服务器指向;USERCTL
:普通用户是否可控制此设备;PEERDNS
:如果BOOTPROTO
的值为dhcp
,是否允许 dhcp 服务器分配的 DNS 服务器指向信息直接覆盖/etc/resolv.conf
文件;
/etc/resolv.conf
一般情况普通用户时无权限修改,但网络配置文件必要时允许普通用户进行配置。
配置完毕后重启网卡生效:
service network restart
还可执行:
/etc/rc.d/init.d/network restart
service network
实际上就是调用该可执行脚本。
路由配置文件详解
默认情况下 /etc/sysconfig/network-scripts
下是不存在路由文件的,我们可以在该目录下手动创建一个 route-eth0
文件来作为 eth0
网卡的路由配置文件。
该配置文件有两种配置风格,并且这两种风格是不能混合使用的。
第一种
<TARGET> via <GW>
TARGET:目标地址;
GW:网关;
例:配置一条主机路由,目标主机 IP 为 192.168.1.3
,所经网关为 10.0.0.1
。
192.168.1.3 via 10.0.1.1
第二种
每三行定义一条路由信息:
ADDRESS<n>=TARGET # 设置目标地址,<n> 是一个数字,如 ADDRESS1=10.0.1.203
NETMASK<n>=mask # 设置子网掩码,<n> 是一个数字,如 NETMASK=255.255.255.0
GATEWAY<n>=GW # 设置网关,<n> 是一个数字,如 GATEWAY=10.0.1.254
例:添加一条网络路由,目标主机 IP 为 192.168.0.0
,掩码为 255.255.255.0
,所经网关为 10.0.0.1
。
ADDRESS0=192.168.0.0
NETMASK0=255.255.255.0
GATEWAY0=10.0.0.1
网卡配置多地址
要给网卡配置多个地址,可以在 /etc/sysconfig/network-scripts
目录下以如下文件名格式创建配置文件:
ifcfg-<interface_name>:<alias>
interface_name:使用的网卡设备名称;
alias:别名;
例:ifcfg-eth0:0
在该配置文件中的属性要求如下:
DEVICE
:与<interface_name>_<alias>
一致;HWADDR
:MAC 地址,建议不保留;UUID
:建议不保留;GATEWAY
:一个网卡只有一个网关,不保留;
配置方式与普通网络配置文件相同。
例:给 eth0
网卡新增地址 10.0.1.202
。
在 /etc/sysconfig/network-scripts
下创建文件 ifcfg-eth0:0
:
DEVICE=eth0:0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
IPADDR=10.0.1.202
PREFIX=24
DNS1=10.0.1.254
注意,该种方式添加地址不能使用 DHCP 引导。
评论区