本文给出了初次安装好 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 # $ sudo yum -y install wget curl # # 阿里源(推荐): $ 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 # $ yum clean all $ yum makecache
更新源 换源后,你需要更新一下软件源,以启用新源:
1 2 3 4 $ sudo yum update # 若更新 yum 源,不更新系统内核: $ sudo yum --exclude=kernel* update
你可以使用新源,升级系统中应用程序(可选):
域名/主机名映射 关于 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 # 添加如下: 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 命令可以直接修改主机名(临时生效):