操作系统安装重启后,需要做一些简单的系统配置,让服务器系统可以与其他终端正常连接,还可以正常访问外部网(互联网)
默认主机名为localhost,建议在安装完成系统后根据实际情况修改默认的主机名。 临时修改主机名:hostname qiangqiang 配置文件修改主机名(/etc/hostname): #localdomain -->将原来的注释 qiangqiang ----> 修改实际需要的主机名 永久修改主机名:hostnamectl set-hostname xiaoqiang
系统配置ip地址的配置文件在/etc/sysconfig/network-scripts目录下。 动态: TYPE="Ethernet" -->#网卡类型(通常是Ethemet以太网) PROXY_METHOD="none" --->#代理方式:为关闭状态 BROWSER_ONLY="no" --->#只是浏览器:否 BOOTPROTO="dhcp" ---->#网卡的引导协议【static:静态IP(指定静态后IP地址就固定了,不建议采用动态分配) dhcp:动态IP none:不指定,不指定容易出现各种各样的网络受限】 DEFROUTE="yes" --->#默认路由 IPV4_FAILURE_FATAL="no" --->#是否开启IPV4致命错误检测 IPV6INIT="yes" --->#IPV6是否自动初始化:是 IPV6_AUTOCONF="yes" ---> #IPV6是否自动配置:是 IPV6_DEFROUTE="yes" --->#IPV6是否可以为默认路由:是 IPV6_FAILURE_FATAL="no" --->#是否开启IPV6致命错误检测 IPV6_ADDR_GEN_MODE="stable-privacy" --->#IPV6地址生成模型 NAME="ens33" --->网卡设备名称 ONBOOT="yes" --->是否开机启动(如果yes则开机后自动加载使用当前配置文件),要想网卡开机就启动或通过 `systemctl restart network`控制网卡,必须设置为 `yes` IPADDR=192.168.1.24 # 本机IP NETMASK=255.255.255.0 或PREFIX=24 #子网掩码 ,可不写 GATEWAY=192.168.1.2 #默认网关 ,可不写 DNS1=8.8.8.8 # 可不写 DNS2=8.8.8.5 # 可不写
在操作系统安装完成之后,尽量避免使用root用户登录操作,这样可以降低不必要的风险,因此需要根据日常维护添加操作用户。 useradd xiaoqiang passwd xiaoqiang 没有交互式修改密码:echo "xiaoqiang" | passwd --stdin xiaoqiang
操作系统一般采用最小化安装方式,因此许多常用的服务、软件、命令没有安装。 yum install -y wget lrzsz vim telnet bash-completion epel-release
在安装系统之后,由于自带的yum源下载速度比较慢,因此我们替换国内的yun源,这里以阿里源为例。 替换之前先备份之前的yum源文件: cd /etc/yum.repos.d/ && mkdir bak && mv -f *.repo bak/ wget http://mirrors.aliyun.com/repo/Centos-7.repo wget http://mirrors.aliyun.com/repo/epel-7.repo
关闭和禁止防火墙开机启动:systemctl stop firewalld && systemctl disable firewalld
seliux服务配置文件在/etc/selinux/config中。 将SELINUX=enforcing修改成:SELINUX=disabled修改完后重启服务器永久生效。 sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config 临时:setenforce 0 查看:getenforce
为了加强系统安全性,需要对ssh服务默认配置进行修改。 ssh服务的配置文件:/etc/ssh/ssh_config 修改前备份:cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak 配置文件: Port=22 --->默认端口22改成2388 PermitRootLogin no --->不允许root登录 PermitEmptyPasswords no --->不允许空密码登录 USeDNS no --->不允许使用dns解析 修改完后,使用:systemctl restart sshd 重启该服务
系统默认的文件描述符为1024,可以使用ulimit -n查看。 echo "* - nofile 65535" >>/etc/security/limits.conf logout --->退出登录 ulimit -n ---查看
echo "export TMOUT=300">>/etc/profile --->300秒后会提示超时自动退出登录。 source /etc/profile #默认单位为秒。
#!/usr/bin/env bash if [[ "$(whoami)" != "root" ]]; then echo "please run this script as root ." >&2 exit 1 fi ping -w1 -c1 www.baidu.com &>/dev/null if [ $? -eq 0 ];then net="网络正常" else red "网络无法连接" exit 0 fi # set -e stty erase ^H red(){ echo -e "\033[31m[error ]: $1\033[0m" sleep 1 } yellow(){ echo -e "\033[33m[warning]: $1\033[0m" sleep 1 } green(){ echo -e "\033[32m[info ]: $1\033[0m" sleep 1 } yellow "即将开始安装常用软件" yum install -y vim wget bash-completion epel-release &>/dev/null green "下载完成 vim wget bash-completion epel-release " ipaddr=`echo "$SSH_CONNECTION" | cut -d' ' -f 3` if [ -f /etc/centos-release ];then os="centos" else os="unknow" fi time=`date +"%F %X"` green "$ipaddr" green "$os" green "$time" green "$net" yellow "确认这是进行初始化操作,否则请中断操作,不然会给您的系统带来灾难。" sleep 2 yellow "开始关闭防火墙" iptables_config(){ systemctl stop firewalld.service && systemctl disable firewalld.service &>/dev/bull yum install iptables-services -y &>/dev/null systemctl enable iptables &>/dev/null systemctl start iptables &>/dev/null iptables -F service iptables save } green "防火墙已关闭" yellow "开始关闭SELINUX" selinux_conf(){ sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config setenforce 0 getenforce } green "SELINUX已关闭" yellow "开始配置yum源和epel源" yum_config(){ yum install epel-release -y &>/dev/null cd /etc/yum.repos.d/ && mkdir bak && mv -f *.repo bak/ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo &>/dev/null wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo &>/dev/null yum clean all &>/dev/null && yum makecache &>/dev/null && yum repolist &>/dev/null } green "yum源和epel源配置完成" yellow "即将进行静态ip地址配置,脚本通过dhcp自动获取ip地址进行定义" ip_config(){ cat > /etc/sysconfig/network-scripts/ifcfg-ens33 <<EOF TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="static" IPADDR="$ipaddr" PREFIX=24 GATEWAY="${ipaddr%.*}.2" DNS1=114.114.114.114 DNS2=8.8.8.8 DEFROUTE="yes" DEVICE="ens33" ONBOOT="yes" EOF } green "ip地址配置完成" yellow "优化ssh登录" ssh_config(){ sed -ri 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/' /etc/ssh/sshd_config sed -ri 's/#UseDNS yes/UseDNS no/' /etc/ssh/sshd_config } green "ssh优化成功" yellow "安装chrony时间同步服务及同步阿里云时间" chrony_config(){ timedatectl set-local-rtc 1 && timedatectl set-timezone Asia/Shanghai yum -y install chrony && systemctl start chronyd.service && systemctl enable chronyd.service yum install -y ntpdate &>/dev/null sed -i -e '/^server/s/^/#/' -e '1a server ntp.aliyun.com iburst' /etc/chrony.conf systemctl restart chronyd.service } green "安装并自启chrony时间同步服务及同步阿里云时间成功" yellow "自动设置永久主机名称" hostnamectl(){ hostnamectl --static set-hostname xiaoqiang } green "设置永久主机名称成功" yellow "修改文件连接最大数" ulimit_config(){ echo "ulimit -SHn 102400" >> /etc/rc.local cat >> /etc/security/limits.conf << EOF * soft nofile 102400 * hard nofile 102400 * soft nproc 102400 * hard nproc 102400 EOF } green "修改文件连接最大数完成" yellow "优化内核参数" sysctl_config(){ cp /etc/sysctl.conf /etc/sysctl.conf.bak cat > /etc/sysctl.conf << EOF net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 0 kernel.core_uses_pid = 1 net.ipv4.tcp_syncookies = 1 kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.shmmax = 68719476736 kernel.shmall = 4294967296 net.ipv4.tcp_max_tw_buckets = 6000 net.ipv4.tcp_sack = 1 net.ipv4.tcp_window_scaling = 1 net.ipv4.tcp_rmem = 4096 87380 4194304 net.ipv4.tcp_wmem = 4096 16384 4194304 net.core.wmem_default = 8388608 net.core.rmem_default = 8388608 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.core.netdev_max_backlog = 262144 net.core.somaxconn = 262144 net.ipv4.tcp_max_orphans = 3276800 net.ipv4.tcp_max_syn_backlog = 262144 net.ipv4.tcp_timestamps = 0 net.ipv4.tcp_synack_retries = 1 net.ipv4.tcp_syn_retries = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_mem = 94500000 915000000 927000000 net.ipv4.tcp_fin_timeout = 1 net.ipv4.tcp_keepalive_time = 30 net.ipv4.ip_local_port_range = 1024 65000 EOF /sbin/sysctl -p echo "sysctl set OK!!" } green "优化内核参数完成" main(){ iptables_config selinux_conf yum_config ip_config ssh_config chrony_config hostnamectl ulimit_config sysctl_config } main