centos7.6 最小化安裝后的操作


centos7.6 最小化安裝后的操作

一、修改網卡信息

cat >/etc/sysconfig/network-scripts/ifcfg-ens33<<"EOF"
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="ens33"
UUID="cfd1e3b1-5c3c-4aff-8878-7159bda66163"
DEVICE="ens33"
ONBOOT="yes"
IPV6_PRIVACY="no"
IPADDR=10.192.42.236 #本機地址
NETMASK=255.255.248.0 #子網掩碼
GATEWAY=10.192.47.254 #默認網關
EOF

# 重啟網卡服務
systemctl restart network.service
# 或
service network restart
修改網卡信息

二、DNS設置

# DNS設置
cat >>/etc/resolv.conf<<"EOF"
nameserver 10.192.68.66
EOF
DNS設置

三、永久修改主機

# 修改主機名
hostnamectl set-hostname db236

四、安裝系統工具包

yum install -y net-tools
yum install -y wget

五、切換yum源

# 切換aliyun的yum源
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.bak 
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 
# 重建源數據緩存 
yum clean all
yum makecache 

yum -y install vim-enhanced wget net-tools telnet vim lrzsz ntp
yum -y install lshw pciutils gdisk system-storage-manager 
yum -y install bash-completion zip unzip bzip2 tree tmpwatch pinfo man-pages
yum -y install nano vim-enhanced tmux screen
yum -y install net-tools psmisclsof sysstat
yum -y install yum-plugin-security yum-utils createrepo
yum -y install get wget curl eliks lynx lftp mailx mutt reync 
yum -y install libaio make cmake gcc-c++ gcc zib zlib-devel open openssl-devel pcre pcre-devel
切換yum

六、設置時間同步

yum -t install ntp
ntpdate asia.pool.ntp.org
# systemctl stop ntpd.service
cat >>/var/spool/cron/root<<"EOF"
*/10 * * * * /usr/sbin/ntpdate asia.pool.ntp.org >/dev/null
EOF
設置同步時間

七、防火牆配置

# 關閉CentOS7自帶的防火牆 firewall 啟用 IPtable 
systemctl stop firewalld
systemctl disable firewalld.service 

#安裝IPtables防火牆 
yum install -y iptables-services

#開放443端口(HTTPS)
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

#保存上述規則
service iptables save

#開啟服務
systemctl restart iptables.service
systemctl enable  iptables.service

 

# 修改iptables配置文件,開放以下端口 (默認開啟了22端口,
# 以便putty等軟件的連接,實例開啟80端口和3306端口,
# 以便后期lamp環境使用,注:80 為Apache默認端口,3306為MySQL的默認端口)

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

service iptables save
service iptables reload 

 

##################### iptables #####################

cat >fwiptables.sh<<"EOF"
#!/bin/bash

IPT=`which iptables`
$IPT -F
$IPT -X
$IPT -P INPUT DROP
$IPT -P FORWARD ACCEPT 
$IPT -P OUTPUT ACCEPT
$IPT -N syn-flood
##本地回環 內網允許任何
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -m state --state NEW -s 10.0.0.0/8 -j ACCEPT
# ssh 端口開放 任何IP
$IPT -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT
# 根據需求填寫相應的端口
$IPT -A INPUT -p tcp -m multiport --dports 80,8087,89,3306 -j ACCEPT
# zabbix監控地址
$IPT -A INPUT -p tcp -s 10.192.42.236 -m state --state NEW -m tcp --dport 10050 -j ACCEPT
# ICMP 規則控制
$IPT -A INPUT -p icmp -m limit --limit 100/sec --limit-burst 100 -j ACCEPT
$IPT -A INPUT -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT
# DOS防護
$IPT -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j syn-flood
$IPT -A INPUT -j REJECT --reject-with icmp-host-prohibited
$IPT -A syn-flood -p tcp -m limit --limit 3/sec --limit-burst 6 -j RETURN
$IPT -A syn-flood -j REJECT --reject-with icmp-port-unreachable

EOF
sh fwiptables.sh

########################################################################
iptables修改腳本

八、關閉selinux

# 關閉selinux
cp  /etc/selinux/config  /etc/selinux/config.bak
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config    
sed -i 's/SELINUXTYPE=targeted/# SELINUXTYPE=targeted/' /etc/selinux/config
setenforce 0

九、精簡開機啟動服務

#精簡開機自啟動服務
# systemctl 是管制服務的主要工具,它整合了chkconfig 與 service功能於一體。
systemctl is-enabled iptables.service   #查詢防火牆是否開機啟動
systemctl restart sshd #有可能不需要加service
systemctl is-enabled servicename.service #查詢服務是否開機啟動
systemctl enable *.service #開機運行服務
systemctl disable *.service #取消開機運行
systemctl start *.service #啟動服務
systemctl stop *.service #停止服務
systemctl restart *.service #重啟服務
systemctl reload *.service #重新加載服務配置文件
systemctl status *.service #查詢服務運行狀態
systemctl --failed #顯示啟動失敗的服務
精簡開機自啟動服務

十、定時清理郵箱目錄下的垃圾文件

定時自動清理cat /var/spool/postfix/maildrop/目錄垃圾文件,放置inode節點被占滿;centos7默認安裝了postfix郵件服務,

因此郵件位置 /var/spool/postfix/maildrop/會存在垃圾文件,如果長時間不清理,會導致inode數量不夠用,從而無法存放文件。

mkdir -p /usr/local/scripts
cat >/usr/local/scriptsspool_clean.sh<<"EOF"
#!/bin/sh
find /var/spool/clientmqueue/ -type f -mtime +30 | xargs rm -f
EOF
#然后將其加入到crontab定時任務中

echo '*/30 * * * * /bin/sh /server/scripts/spool_clean.sh >/dev/null 2>&1' >> /var/spool/cron/root

十一、鎖定關鍵文件系統

# 鎖定關鍵文件系統
[root@db236 ~]# chattr +i /etc/passwd
[root@db236 ~]# lsattr /etc/passwd
----i----------- /etc/passwd

# 去鎖,可以修改文件
[root@db236 ~]# chattr -i /etc/passwd
[root@db236 ~]# lsattr /etc/passwd
---------------- /etc/passwd
[root@db236 ~]# 

十二、文件描述符大小調整

文件描述符是由無符號整數表示的句柄,進程使用它來標識打開的文件。

sed -i 's/4096/unlimited/' /etc/security/limits.d/20-nproc.conf
cat >>/etc/sysctl.conf <<"EOF"
################################################################
net.ipv4.tcp_keepalive_time =600
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_timestamps=1
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.ip_local_port_range = 32768   60999
net.ipv4.tcp_max_syn_backlog = 1024
net.core.somaxconn = 1024
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.netdev_max_backlog = 1000
net.ipv4.tcp_max_orphans = 2000
net.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_tcp_timeout_established = 180
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120

# 結合DDOS和TIME_WAIT過多,建議增加如下參數設置:
# Use TCP syncookies when needed
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_synack_retries=3
net.ipv4.tcp_syn_retries=3
net.ipv4.tcp_max_syn_backlog=2048
# Enable TCP window scaling
# net.ipv4.tcp_window_scaling: = 1
# Increase TCP max buffer size
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
# Increase Linux autotuning TCP buffer limits
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
# Increase number of ports available
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 300
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.ip_local_port_range = 5000 65000

################################################################
EOF

sysctl -p

cat >>/etc/bashrc<<"EOF"
ulimit -u 65536
EOF
source /etc/bashrc


cat >>/etc/security/limits.conf <<"EOF"

* hard nofile 1000000
* soft nofile 1000000
EOF
調整文件描述符大小

十三、修改字符集

# 修改字符編碼,默認是LANG=en_US.UTF-8
# 修改該文件之前,可以先查看已經安裝的語言包:
locale -a  可通過grep過濾查看是否有中文語言包
# 如果沒有語言包
yum -y install kde-l10n-Chinese  
yum -y reinstall glibc-common  
# 安裝完成后通過vi命令編輯配置文件
vim /etc/locale.conf
LANG="zh_CN.UTF-8"
source /etc/locale.conf 

#去除系統及內核版本登錄前的屏幕顯示
# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 
# cat /etc/issue
\S
Kernel \r on an \m
調整字符集

十四、禁止ping設置

# 開啟禁止ping
echo "net.ipv4.icmp_echo_ignore_all=1"  1>> /etc/sysctl.conf
sysctl -p
# 關閉禁止ping
# 首先要刪除 /etc/sysctl.conf 里面 net.ipv4.icmp_echo_ignore_all = 1 
# 之后執行如下命令
echo 0 1> /proc/sys/net/ipv4/icmp_echo_ignore_all
# 后續就可以通過更改 cat  /proc/sys/net/ipv4/icmp_echo_ignore_all文件
# 0 關閉 1 開啟
禁止ping

十五、歷史記錄設置

# 以下都是臨時生效,默認1000不需要更改
# 設置的是閑置賬號的超時時間
export TMOUT=10 10秒后提示超時時間
# 設置終端history顯示條數
export HISTSIZE=5 只顯示最近5條信息
# 上面的終端顯示對應的是 cat ~/.bash_history 
export HISTFILESIZE=5 該文件只保存5條信息
# 清空歷史記錄
history -c
# 指定條數刪除
history -d 歷史記錄條屬
歷史記錄設置


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM