学 Linux 必看,小学生都能看懂的保姆级教程 —— 配置 LInux

说明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 91 08:00 system_config.sh

# 执行 systemcz_config.sh 脚本文件
$ bash system_config.sh

# 配置好系统后,重启虚拟机
$ reboot

# 创建虚拟机快照
# 快照命名为:Base_Config
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值