说明1:此步涉及到的各项配置为作者习惯,每人对系统的需求不同,所以配置习惯不同,无固定配置,按需配置。
说明2:补充二中的两张网卡的配置是基于补充一的
作者的配置习惯以 shell 脚本的方式呈现,也可手动依次配置,如下:
$ vim system_config.sh
#!/bin/bash
set -e
echo -e "\e[1;31m \n########## 正在对本机进行基础配置 ##########\n \e[0m"
sleep 2
##############################################################################################################################
echo -e "\e[1;31m \n########## 正在配置:网卡信息 ##########\n \e[0m"
sleep 2
echo "下列是所有网卡:"
echo -e "$(ifconfig | grep "ens" | cut -d ":" -f 1)\n"
# 交互式选择要改成dhcp还是static,其中变量为:way
read -p "输入要配置的网卡名称:" ens
echo "正在开启网卡"
sed -i '/^ONBOOT/ c ONBOOT=yes' /etc/sysconfig/network-scripts/ifcfg-"$ens"
echo $? && echo "网卡已开启:$(cat /etc/sysconfig/network-scripts/ifcfg-"$ens" | grep "ONBOOT")"
# 交互式选择要改成dhcp还是static,其中变量为:way
read -p "输入IP的获取方式(dhcp/static):" way
# 如果变量的值为dhcp
if [ "$way" == dhcp ]
then # 进行以下程序
# 提示正在修改DHCP
echo "正在将ip获取方式改为:dhcp"
sed -i '/^BOOTPROTO/ c BOOTPROTO=dhcp' /etc/sysconfig/network-scripts/ifcfg-"$ens" # 用 BOOTPROTO=dhcp 替换以 BOOTPROTO 为开头的行
sed -i '/^IPADDR/ d' /etc/sysconfig/network-scripts/ifcfg-"$ens" # 要有以 IPADDR 为开头的行就删除
sed -i '/^NETMASK/ d' /etc/sysconfig/network-scripts/ifcfg-"$ens" # 同上
sed -i '/^PREFIX/ d' /etc/sysconfig/network-scripts/ifcfg-"$ens" # 同上
sed -i '/^GATEWAY/ d' /etc/sysconfig/network-scripts/ifcfg-"$ens"
sed -i '/^DNS/ d' /etc/sysconfig/network-scripts/ifcfg-"$ens"
else # 否则进入以下程序
# 提示正在修改静态IP
echo "正在将ip获取方式改为:static"
sed -i '/^IPADDR/ d' /etc/sysconfig/network-scripts/ifcfg-"$ens" # 如果已有IPADDR则删除
sed -i '/^NETMASK/ d' /etc/sysconfig/network-scripts/ifcfg-"$ens" # 同上
sed -i '/^PREFIX/ d' /etc/sysconfig/network-scripts/ifcfg-"$ens" # 同上
sed -i '/^GATEWAY/ d' /etc/sysconfig/network-scripts/ifcfg-"$ens" # 同上
sed -i '/^DNS1/ d' /etc/sysconfig/network-scripts/ifcfg-"$ens" # 同上
sed -i '/^DNS2/ d' /etc/sysconfig/network-scripts/ifcfg-"$ens" # 同上
sed -i '/^DNS3/ d' /etc/sysconfig/network-scripts/ifcfg-"$ens" # 同上
read -p "输入IP:" ip # 输入要更改的IP的值
read -p "输入掩码:" netmask # 同上
read -p "输入网关:" gateway # 同上
read -p "输入DNS:" dns # 同上
sed -i '/^BOOTPROTO/ c BOOTPROTO=static' /etc/sysconfig/network-scripts/ifcfg-"$ens" # 将BOOTPROTO改为static
echo "IPADDR=${ip}" >> /etc/sysconfig/network-scripts/ifcfg-"$ens"
echo "NETMASK=${netmask}" >> /etc/sysconfig/network-scripts/ifcfg-"$ens"
fi
echo "正在重启网卡"
systemctl restart network
echo $? && echo "网卡重启完成"
sleep 2
##############################################################################################################################
echo -e "\e[1;31m \n########## 正在配置:关NetworkManager ##########\n \e[0m"
sleep 2
echo "正在关闭NetworkManager"
systemctl stop NetworkManager
echo $? && echo "已关闭NetworkManager"
echo "正在将NetworkManager设为开机不自启"
systemctl disable NetworkManager
echo $? && echo "已将NetworkManager设为开机不自启"
sleep 2
##############################################################################################################################
echo -e "\e[1;31m \n########## 正在配置:关SELINUX ##########\n \e[0m"
sleep 2
echo "正在关selinux…………"
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
echo $? && echo "已将selinux关闭"
sleep 2
##############################################################################################################################
echo -e "\e[1;31m \n########## 正在配置:关防火墙 ##########\n \e[0m"
sleep 2
# iptables -L #查看防火墙规则
echo "正在清空防火墙规则…………"
iptables -F
echo $? && echo "防火墙规则已清空"
echo "正在关闭 firewalld"
systemctl stop firewalld
echo $? && echo "已关闭firewalld"
echo "正在将firewalld设为开机不自起"
systemctl disable firewalld
echo $? && echo "已将firewalld设为开机不自起"
echo '$(systemctl status firewalld)'
##############################################################################################################################
echo -e "\e[1;31m \n########## 正在配置:优化 SSH 服务 ##########\n \e[0m"
echo "正在将 UesDNS 改为 no"
sed -i '/#UseDNS/ a 'UseDNS\ no'' /etc/ssh/sshd_config
echo "已将 UesDNS 改为 no:$(cat /etc/ssh/sshd_config | grep 'UseDNS')"
echo "正在重启 sshd"
systemctl restart sshd
echo $? && echo "sshd已重启"
# 给 system_config.sh 脚本文件可执行权限
$ chmod a+x system_config.sh
# 查看文件属性
$ ls -l system_config.sh
-rwxr-xr-x. 1 root root 5.7K 9月 1 08:00 system_config.sh
# 执行 systemcz_config.sh 脚本文件
$ bash system_config.sh
# 配置好系统后,重启虚拟机
$ reboot
# 创建虚拟机快照
# 快照命名为:Base_Config