centos6 网络配置的相关内容

目录

添加网卡方法

在 CentOS 6 中添加网卡的方法:

start_udev

这个命令会重新扫描新加的硬件并做相关的处理。

如果我们加的是网卡,识别不对或者想更新网卡的名字,我们并不需要编辑 /etc/sysconfig/network-scripts/ 下的内容。运行完上面命令后如果不正常,直接修改 udev 有关网络的配置就行了。

Udev 网络配置

有关网络的 udev 的具体网卡序号的配置文件是 /etc/udev/rules.d/70-persistent-net.rules 这个文件。

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:78:e8:2e", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:04:19:6c", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

像上面这样,最多修改一下 MAC 地址和 NAME 大多都能达到我们的需求。

修改完了,我们可以使用 udev 的命令来测试一下:

udevadm test /sys/class/net/eth0/

这个可以很详细的显示 udev 的识别和处理的过程。

网络配置文件处理

另外需要注意一点,新加的硬件,如果在 setup 和 system-config-network-tui 中添加了网卡,但 /etc/sysconfig/network-scripts/ 找不到配置文件时。其实是因为这些命令默认会给生成的配置文件放到 /etc/sysconfig/networking/devices/。所以这时,只要把这下面的配置文件拷贝到 /etc/sysconfig/network-scripts/,再使用 system-config-network-tui 来配置就正常了。

cp /etc/sysconfig/networking/devices/* /etc/sysconfig/network-scripts/

重新启动后就可以了。

添加的网卡,如果在 /etc/sysconfig/network-scripts/ 下没有配置类似于 ifcfg-eth0,就直接复制一份即可。


CentOS 6 网络配置详解

一、配置文件详解

在 RHEL 或者 CentOS 等 Redhat 系的 Linux 系统里,跟网络有关的主要设置文件如下:

文件路径功能描述
/etc/host.conf配置域名服务客户端的控制文件
/etc/hosts完成主机名映射为 IP 地址的功能
/etc/resolv.conf域名服务客户端的配置文件,用于指定域名服务器的位置
/etc/sysconfig/network包含了主机最基本的网络信息,用于系统启动
/etc/sysconfig/network-script/系统启动时初始化网络的一些信息
/etc/xinetd.conf定义了由超级进程 xinetd 启动的网络服务
/etc/networks完成域名与网络地址的映射
/etc/protocols设定了主机使用的协议以及各个协议的协议号
/etc/services设定主机的不同端口的网络服务

1. /etc/host.conf 文件

默认信息如下:

multi on # 允许主机拥有多个 IP 地址
order hosts,bind # 主机名解析顺序,即本地解析,DNS 域名解析的顺序

这个文件一般不需要我们修改,默认的解析顺序是本地解析、DNS 服务器解析。

2. /etc/hosts 文件

默认的内容大概如下:

127.0.0.1 butbueatiful localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6

可见,默认的情况是本机 ip 和本机一些主机名的对应关系,第一行是 ipv4 信息,第二行是 ipv6 信息。

测试解析效果:

[root@butbueatiful ~]# ping -c 3 butbueatiful
PING butbueatiful (127.0.0.1) 56(84) bytes of data.
64 bytes from butbueatiful (127.0.0.1): icmp_seq=1 ttl=64 time=0.061 ms
64 bytes from butbueatiful (127.0.0.1): icmp_seq=2 ttl=64 time=0.052 ms
64 bytes from butbueatiful (127.0.0.1): icmp_seq=3 ttl=64 time=0.051 ms

[root@butbueatiful ~]# ping -c 3 localhost.localdomain
PING butbueatiful (127.0.0.1) 56(84) bytes of data.
64 bytes from butbueatiful (127.0.0.1): icmp_seq=1 ttl=64 time=0.055 ms
64 bytes from butbueatiful (127.0.0.1): icmp_seq=2 ttl=64 time=0.035 ms
64 bytes from butbueatiful (127.0.0.1): icmp_seq=3 ttl=64 time=0.050 ms

添加新的本地解析:

192.168.0.100 yyyy.com www.yyyy.com

3. /etc/resolv.conf

指定域名解析的 DNS 服务器 IP 等信息,配置参数:

  • nameserver - 指定 DNS 服务器的 IP 地址
  • domain - 定义本地域名信息
  • search - 定义域名的搜索列表
  • sortlist - 对 gethostbyname 返回的地址进行排序

配置示例(使用 Google DNS):

nameserver 8.8.8.8
nameserver 8.8.4.4

4. /etc/sysconfig/network

典型配置:

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=butbueatiful
GATEWAY=192.168.0.1

参数说明:

参数说明
NETWORKING设置网络是否有效,yes 有效,no 无效
NETWORKING_IPV6设置 ipv6 网络是否有效,yes 有效,no 无效
HOSTNAME设置服务器的主机名
GATEWAY指定默认网关 IP

5. ifcfg-ethX 网卡配置文件

配置示例 /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"
BOOTPROTO="static"
BROADCAST="192.168.0.255"
HWADDR="00:16:36:1B:BB:74"
IPADDR="192.168.0.100"
NETMASK="255.255.255.0"
ONBOOT="yes"

参数说明:

参数说明
DEVICE设备名,不要自己乱改
BROADCAST广播地址
HWADDR物理地址,不要乱改
IPADDRIP 地址
NETMASK子网掩码
ONBOOT启动或者重启网络时,是否启动该设备
BOOTPROTO开机协议:static(静态 IP)、none、dhcp(动态获得 IP)

6. route-ethX 路由配置文件

设置静态路由示例:

# 动态添加路由
[root@butbueatiful ~]# route add -net 172.17.27.0 netmask 255.255.255.0 gw 192.168.0.254 dev eth0

# 永久静态路由配置
[root@butbueatiful ~]# vi /etc/sysconfig/network-scripts/route-eth0
# 追加
172.17.27.0/24 via 192.168.0.254

二、常用的网络配置命令

传统命令方式

ifconfig 命令

ifconfig eth0 up                    # 开启 eth0 网卡
ifconfig eth0 down                  # 关闭 eth0 网卡
ifconfig eth0 -arp                  # 关闭 eth0 网卡 arp 协议
ifconfig eth0 promisc               # 开启 eth0 网卡的混合模式
ifconfig eth0 mtu 1400              # 设置 eth0 网卡的最大传输单元为 1400
ifconfig eth0 192.168.0.2/24        # 设置 eth0 网卡 IP 地址
ifconfig eth0 192.168.0.2 netmask 255.255.255.0  # 功能同上

hostname 命令

hostname                    # 查看主机名
hostname butbueatiful.com   # 设置主机名为 butbueatiful.com

route 命令

# 添加路由
route add -net 192.168.3.0/24 gw 192.168.0.254                    # 设置到 192.168.3.0 网段的网关
route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.0.254 # 功能同上
route add -host 192.168.4.4 gw 192.168.0.254                      # 设置到主机的网关
route add default gw 192.168.0.254                                # 设置默认网关

# 删除路由
route del -net 192.168.3.0/24        # 删除网段的网关信息
route del -host 192.168.4.4          # 删除主机的网关信息
route del default gw 192.168.0.254   # 删除默认网关

现代 ip 命令(推荐)

网络接口管理

ip link show                      # 显示网络接口信息
ip link set eth0 up               # 开启网卡
ip link set eth0 down             # 关闭网卡
ip link set eth0 promisc on       # 开启网卡的混合模式
ip link set eth0 promisc off      # 关闭网卡的混合模式
ip link set eth0 txqueuelen 1200  # 设置网卡队列长度
ip link set eth0 mtu 1400         # 设置网卡最大传输单元

IP 地址管理

ip addr show                           # 显示网卡 IP 信息
ip addr add 192.168.0.1/24 dev eth0   # 设置 eth0 网卡 IP 地址
ip addr del 192.168.0.1/24 dev eth0   # 删除 eth0 网卡 IP 地址

路由管理

ip route list                                         # 查看路由信息
ip route add 192.168.4.0/24 via 192.168.0.254 dev eth0  # 设置网段网关
ip route add default via 192.168.0.254 dev eth0        # 设置默认网关
ip route del 192.168.4.0/24                          # 删除网段网关
ip route del default                                 # 删除默认路由

三、CentOS 6.2 网络配置文件示例

网卡配置文件

# cat /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"                    # 设备名
NM_CONTROLLED="yes"              # 设备是否被 NetworkManager 管理
ONBOOT="no"                      # 开机是否启动
HWADDR="00:0C:29:59:E2:D3"       # 硬件地址(MAC 地址)
TYPE=Ethernet                    # 类型
BOOTPROTO=none                   # 启动协议 {none|dhcp}
IPADDR=192.168.0.1               # IP 地址
PREFIX=24                        # 子网掩码
GATEWAY=192.168.0.254            # 默认网关
DNS1=202.106.0.20                # 主 DNS
DOMAIN=202.106.46.151            # 辅助 DNS
UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  # 设备 UUID 编号

网络基础配置

# cat /etc/sysconfig/network

HOSTNAME=butbueatiful.com  # 主机名

四、重要注意事项

1. DNS 配置防丢失

方法一:设置 PEERDNS

DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
TYPE=Ethernet
PEERDNS=no  # 防止 /etc/resolv.conf 被重写

方法二:在网卡配置中指定 DNS

DNS1=127.0.0.1
DNS2=8.8.8.8

2. 安全设置

保护重要配置文件不被篡改:

# 设置文件不可修改
chattr +i /etc/{resolv.conf,hosts}

# 需要修改时解除保护
chattr -i /etc/{resolv.conf,hosts}

3. 网络故障排除思路

  1. 检查配置文件:是否有书写及语法错误等
  2. 检查本机网络协议ping -c 3 127.0.0.1
  3. 检查本机网卡链路ping -c 3 192.168.0.1(本机 IP 地址)
  4. 检查网关ping -c 3 192.168.0.254(网关 IP 地址)
  5. 检查外部连通性ping -c 3 www.google.com.hk
  6. 检查硬件

通过以上完整的配置指南,您可以熟练地在 CentOS 6 系统中进行网络配置和故障排除。

💬 评论