CentOS Server: Quick Configuration Guide

本文给出了初次安装好 Linux Centos 之后推荐掌握的一些基础配置方法,完成以下内容的阅读可以帮助新手快速掌握 Ubuntu Server/Desktop 的使用。

本文所作目的:一方面作为 CentOS7 快速配置记录,方便下次使用;另一方作为分享以帮助更多的 CentOS 小白快速上手。

补充:如果文中有表述不正确的地方,望各位大佬不吝指正~~~


系统网络配置以及网络代理

首先,你需要掌握 CentOS Server 系统网络信息的基本查看方法:

查看网卡信息

通过 CentOS7 Server 的 Shell 中,执行 ip addr 命令进行查看:

1
2
3
4
5
6
7
8
9
10
11
12
$ ip addr
# 本地回环:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever

# 网卡信息:
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:35:34:49 brd ff:ff:ff:ff:ff:ff

上面的 enp0s3 就是我们要设置网络的网卡名称,有些机器可能有好几块网卡,一定要看清楚!!!

如果想使用 ifconfig 指令,需要先安装 net-tools

1
2
$ sudo yum -y install net-tools
$ ifconfig

关于ifconfig 查看信息详细描述,可以参见【Linux Instruction Usage Guide】博文中网络通信部分说明。


网络配置

这里提供两种 CentOS Server 网卡(网络适配器)的网络配置方法:

  • GUI 配置方法:DeskTop 环境下推荐使用图像化界面进行配置
  • 文件配置方法:使用网络相关的配置文件进行配置

网卡(网络适配器)需要配置的信息有:网络 IP 地址(IP ADDRESS)&& 子网掩码(NETMASK)&& 网关(GATEWAY)&& 域名解析服务器地址(DNS)。

| ================================================== Split Line =============================================== |

GUI 配置方法

Desktop(桌面)依次点击 >>> 系统设置【System Sets】>>> 网络设置【Network Sets】>>> 有线【Wired】设置 >>>【IPV4 Setting】:

这里可以选择设置网络为:自动 DHCP(Automatic(DHCP))<<< 动态 IP;或者 手动(Manual 模式)<<< 静态 IP

1
2
3
4
5
6
7
# 示例静态网络信息配置如下:

ADDRESS = 192.168.0.131 # IP 地址
NETMASK = 255.255.252.0 # 子网掩码
GATEWAY = 192.168.0.1 # 网关

DNS = 114.114.114.114, 8.8.8.8 # DNS

设置完成之后,如果你不想每次配置完网络后重启服务器,可以通过重启相关的网络服务使配置生效(见后文重启网卡)。


文件配置方法

通过修改网卡配置文件的方法来配置 CentOS 网络:

[1] >>> 网卡配置文件

CentOS 中的 “网卡配置文件(ifcfg-*)” 位于系统配置目录(/etc/sysconfig)下的网络配置目录(network-scripts):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ ls -al /etc/sysconfig/ | grep "network"
drwxr-xr-x. 2 root root 4096 Mar 7 01:46 network-scripts

$ ls /etc/sysconfig/network-scripts/
ifcfg-enp0s3 ifdown-ppp ifup-ib ifup-Team
ifcfg-lo ifdown-routes ifup-ippp ifup-TeamPort
ifdown ifdown-sit ifup-ipv6 ifup-tunnel
ifdown-bnep ifdown-Team ifup-isdn ifup-wireless
ifdown-eth ifdown-TeamPort ifup-plip init.ipv6-global
ifdown-ib ifdown-tunnel ifup-plusb network-functions
ifdown-ippp ifup ifup-post network-functions-ipv6
ifdown-ipv6 ifup-aliases ifup-ppp
ifdown-isdn ifup-bnep ifup-routes
ifdown-post ifup-eth ifup-sit

这里,待配置网卡为 enp0s3,故可以通过修改其配置文件 ifcfg-enp0s3 来为 CentOS Server 设置网络:

1
sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

网卡配置文件默认文件内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
TYPE=Ethernet                               # 网络接入类型:Ethernet(以太网)
PROXY_METHOD=none # 代理模式
BROWSER_ONLY=no
BOOTPROTO=dhcp # 启动时的网络协议:动态(dhcp)/静态(static)
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3 # 设定网卡名称,要与文件名保持一致
UUID=6620a662-540c-478d-bd15-9b47ed8ffec6 # UUID
DEVICE=enp0s3 # 设定网卡名称,要与文件名保持一致
ONBOOT=no # 是否在开机时启动网卡

需要关注 BOOTPROTO(缺省值为:dhcp),和 ONBOOT(缺省值为:no)两项。


[2] >>> 设置动态获取 IP

你应该发现了,CentOS7 安装好之后,一开始是上不了网的:

1
2
$ ping www.baidu.com
ping: www.baidu.com: Name or service not known

不知道你有没有注意到之前查询到的网卡信息:

1
2
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:35:34:49 brd ff:ff:ff:ff:ff:ff

可能你会很困惑:CentOS 系统默认不是动态(DHCP)获取 IP 的吗,为什么没有获取到 IP 地址?!!

事实上,这和 ifcfg-enp0s3 网卡配置文件中 ONBOOT 的缺省值有关:开机时不启动网卡,也就获取不到可上网的 IP 了。

你需要将其启用,以支持动态 IP 获取:

1
2
BOOTPROTO=dhcp
ONBOOT=yes

如果你不想每次配置完网络后重启服务器,可以通过重启相关的网络服务使配置生效(见后文重启网卡)。

重新测试网络连通性:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 成功获取到 IP 地址:
$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:35:34:49 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global noprefixroute dynamic enp0s3
valid_lft 85343sec preferred_lft 85343sec
inet6 fe80::1df6:d005:eb04:aeb7/64 scope link noprefixroute
valid_lft forever preferred_lft forever

# 已经可以访问外网了:
$ ping -c 1 www.baiduc.com
PING www.baiduc.com (50.28.56.190) 56(84) bytes of data.
64 bytes from smoke.parklogic.com (50.28.56.190): icmp_seq=1 ttl=47 time=311 ms

--- www.baiduc.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 311.533/311.533/311.533/0.000 ms

| ================================================== Split Line =============================================== |

↓↓↓↓↓↓ 临时获取动态 IP 的方法,重启系统后失效 ↓↓↓↓↓↓

你也可以通过 dhclient 自动获取一个 IP 地址:

1
2
3
4
5
6
7
$ sudo nmcli device connect enp0s3
Device 'enp0s3' successfully activated with ...
$ ip addr

# 或者:

$ sudo dhclient enp0s3

此时,获取的 IP 是动态的,下次重启系统后,IP 地址也会变化,不利于远程访问。


[1.3] >>> 设置静态 IP

事实上,很多情况下,我们更多的想给网卡分配一个固定 IP(静态 IP)。

网卡的 IP 地址不是随便给定的,其依赖于所在局域网络的网关(路由)。

假设你的网关 IP 地址为:192.168.0.1/24,你可以通过 |>>> 在线网络和 IP 地址计算器 <<<| 站点,获取当前待配置网卡可用 IP 地址配置信息,如下:

1
2
3
ip address 192.168.0.3
netmask 255.255.255.0
gateway 192.168.0.1

有了静态 IP 地址、网关、子网掩码等信息,↓↓↓↓↓↓ 下面就可以开始设置设置静态 IP 了 ↓↓↓↓↓↓

重新打开网卡配置文件 ifcfg-enp0s3,修改配置项 BOOTPROTO >>> (static),和 ONBOOT >>> (yes),并根据上面的网卡可用 IP 地址配置信息,追加写入如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=6620a662-540c-478d-bd15-9b47ed8ffec6
DEVICE=enp0s3
ONBOOT=yes
IPADDR=192.168.0.3
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.1
DNS2=8.8.8.8

如果你不想每次配置完网络后重启服务器,可以通过重启相关的网络服务使配置生效(见后文重启网卡)。

重新测试网络连通性:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 成功获取到 IP 地址:
$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:35:34:49 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.3/24 brd 192.168.0.255 scope global noprefixroute dynamic enp0s3
valid_lft 85343sec preferred_lft 85343sec
inet6 fe80::1df6:d005:eb04:aeb7/64 scope link noprefixroute
valid_lft forever preferred_lft forever

# 已经可以访问外网了:
$ ping -c 1 www.baiduc.com
PING www.baiduc.com (50.28.56.190) 56(84) bytes of data.
64 bytes from smoke.parklogic.com (50.28.56.190): icmp_seq=1 ttl=47 time=311 ms

--- www.baiduc.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 311.533/311.533/311.533/0.000 ms

| ================================================== Split Line =============================================== |

👇👇👇 关于 DNS 配置 👇👇👇

上面我们将 DNS 域名解析服务器地址设置在了网卡配置文件中。

重启服务器或网络服务,DNS 生效后会体现在 /etc/resolv.conf 文件中:

1
2
3
4
$ cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.0.1
nameserver 8.8.8.8

事实上,该文件是 DNS 域名解析服务器的配置文件,你可以去掉网卡配置文件中关于 DNS 的设置,直接通过 /etc/resolv.conf 配置文件来配置 DNS:

1
2
3
# Generated by NetworkManager
nameserver 192.168.0.1
nameserver 8.8.8.8

配置完成后,需要重启网卡或系统以使 DNS 配置生效,并且进行网络连通(上网)测试。


重启网卡

上面设置完成后,网络配置并不会立即生效,你需要重启系统以使其生效。

重启操作系统的方法太麻烦,你可以通过重启网卡(网络服务)来解决(二选其一):

1
2
3
4
5
# 通过 systemctl 控制重启网卡:
$ sudo systemctl restart network

# 重启网卡 network 服务:
$ sudo service network restart

更换 Yum 软件源 (换源)

在介绍 Yum 换源之前需要介绍一下 Yum 中源概念:

| ================================================== Split Line =============================================== |

何为源

就像家里的电视机,Yum 相当于买了一台电视机,有了电视不意味着你就能看节目了,你要手动添加频道(信号源)才能看你想看的电视节目。

你可以将 Yum 源理解为一个存放了各种 RPM 应用包的远程服务器,更进一步的说 源 是用于访问服务器的链接。

Yum,默认使用的是 RedHat 官方提供的源,这时 Yum 源 设置的是官方源对应的链接。当你使用 Yum 进行包的安装、更新操作时,会从官方源中去搜索、下载你需要的包。

而由于 Yum 使用的官方源位于外网,网络时好时坏,这可能会导致使用 Yum 进行包的安装、更新等操作失败的情况:

1
2
3
An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.
ConnectTimeout ......

这时就需要更换一个稳定、高速的源来提供良好的网络环境。所幸的是,国内镜像源站点提供了 Yum 的镜像源,感谢开源~~~


Yum 源的配置文件是:/etc/yum.repos.d/CentOS-Base.repo,你可以在其中配置国内镜像源。

备份官方源

换源之前,先来将官方源备份一份:

1
$ sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

一旦配置出错,或者想还原官方源的时候可以随时还原。


更换国内源

国内常用 Ubuntu 镜像源:教育网的源(比如:清华源、中科大源)、阿里源、网易源等等。

1)教育网推荐(中科大的、清华源)

修改源配置文件中的官方源为国内镜像源:

1
2
3
4
5
### 1. 清华源:https://mirrors.tuna.tsinghua.edu.cn
Yum Sources Help >>> https://mirror.tuna.tsinghua.edu.cn/help/centos/

### 2. 中科大源:https://mirrors.ustc.edu.cn
Yum Sources Help >>> https://mirrors.ustc.edu.cn/help/centos.html

其中,Yum Sources Help 后面的网址是各个镜像源 CentOS 换源的帮助文档。

2)阿里源 && 网易源

1
2
3
4
5
### 1. 阿里源: https://mirrors.aliyun.com/ubuntu/
Yum Sources Help >>> https://developer.aliyun.com/mirror/centos

### 2. 网易源: https://mirrors.163.com/
Yum Sources Help >>> https://mirrors.163.com/.help/centos.html

其中,Yum Sources Help 后面的网址是各个镜像源 CentOS 换源的帮助文档。

↓↓↓↓↓↓ 具体方法 ↓↓↓↓↓↓

1
2
3
4
5
6
7
8
9
10
11
12
### 1. 准备下载工具(wget/curl):
$ sudo yum -y install wget curl

### 2. 修改源配置文件中的官方源为国内镜像源(覆盖):
# 阿里源(推荐):
$ sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 网易源:
$ sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo

### 3. 清理 yum 缓存,并生成新的缓存:
$ yum clean all
$ yum makecache

更新源

换源后,你需要更新一下软件源,以启用新源:

1
2
3
4
$ sudo yum update

# 若更新 yum 源,不更新系统内核:
$ sudo yum --exclude=kernel* update

你可以使用新源,升级系统中应用程序(可选):

1
sudo yum upgrade

域名/主机名映射

关于 CentOS 修改主机名这里提供三种方法:

[1] >>> 修改配置文件

你可以通过修改主机名配置文件 /etc/hostname,来修该 CentOS OS 的主机名:

1
2
3
4
5
6
7
8
9
10
11
12
13
# 查看主机名:
$ hostname

# 修改主机名配置文件,修改为:Slaver1
$ vi /etc/hostname

# 如果需要添加主机名和 IP 映射(可选):
$ vi /etc/hosts # /etc/sysconfig/network 也可以
# 添加如下:
192.168.33.1 Slaver1

# 重启生效:
$ reboot

| ================================================== Split Line =============================================== |

[2] >>> hostnamectl

1
2
3
4
5
6
7
8
# 产看主机名:
$ hostname

# 使用 hostnamectl 命令修改主机名为:Slaver1:
hostnamectl set-hostname Slaver1

# 无需重启,只需新开会话便可变为新的主机名
$ hostname

| ================================================== Split Line =============================================== |

[3] >>> hostname

hostname 命令可以直接修改主机名(临时生效):

1
$ hostname Slaver1

Author

Waldeinsamkeit

Posted on

2015-04-01

Updated on

2024-03-08

Licensed under

You need to set install_url to use ShareThis. Please set it in _config.yml.

Comments

You forgot to set the shortname for Disqus. Please set it in _config.yml.