1. 程式人生 > >centos7 初始優化+及目錄講解

centos7 初始優化+及目錄講解

timeout 登錄 dos 當前 socket 放大 存儲 install 服務器時間

CentOS 7系統安裝後的基礎優化

一、系統版本內核信息

[root@center ~]# cat /etc/redhat-release

CentOS Linux release 7.3.1611 (Core)

[root@center ~]# uname -a

Linux center 3.10.0-514.2.2.el7.x86_64 #1 SMP Tue Dec 6 23:06:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

[root@center ~]# uname -m 系統信息

x86_64

[root@center ~]# uname -r 內核版本信息

3.10.0-514.2.2.el7.x86_64

二、修改主機名

[root@localhost ~]# hostnamectl --static set-hostname zhongshabi 需要退出當前用戶登錄窗口再重新登錄後

三、配置yum

https://mirrors.tuna.tsinghua.edu.cn/help/centos/ 清華源

http://mirrors.163.com/.help/centos.html 163 源

http://mirrors.aliyun.com/repo/Centos-7.repo 阿裏雲源

 

yum clean cache 清空yum緩存

yum makecache

四、關閉SELinuxiptables

SELinux,它是一個 Linux 內核模塊,也是 Linux 的一個安全子系統。

SELinux 主要由美國國家安全局開發。2.6 及以上版本的 Linux 內核都已經集成了 SELinux 模塊。

SELinux 的結構及配置非常復雜,而且有大量概念性的東西,要學精難度較大。很多 Linux 系統管理員嫌麻煩都把 SELinux 關閉了。

註意:如果不關閉會導致很多服務及應用無法正常工作,都被攔截了

例子:上次重做高仿服務器時,就因為忽略了這個selinux導致本地host解析後網站就是打不開

關閉方法

1、當前關閉,服務器重啟後失效

[root@zhongshabi ~]# getenforce 獲取當前selinux

Enforcing

[root@zhongshabi ~]# setenforce 0 修改當前selinux 值設置成0或者1

[root@zhongshabi ~]# getenforce

Permissive # 寬松的

2、配置文件修改selinux,修改配置文件,重啟服務器生效

SELINUX=disabled # 修改為disabled即可,默認為Enforcing

# SELINUXTYPE= can take one of three two values:

#     targeted - Targeted processes are protected,

#     minimum - Modification of targeted policy. Only selected processes are protected.

#     mls - Multi Level Security protection.

SELINUXTYPE=targeted

五、同步服務器時間

安裝工具

yum install ntpdate -y

ntpdate 時間服務器有很多,可以網上搜索一下

ntpdate 192.168.1.80 同步服務器時間。192.168.1.80 是我們自己做的一個時間服務器

可以寫入到crontab中定期同步

六、文件描述符

擴展:文件描述符

文件描述符在形式上是一個非負整數。實際上,它是一個索引值,指向內核為每一個進程所維護的該進程打開文件的記錄表。當程序打開一個現有文件或者創建一個新文件時,內核向進程返回一個文件描述符。在程序設計中,一些涉及底層的程序編寫往往會圍繞著文件描述符展開。

但是文件描述符這一概念往往只適用於UnixLinux這樣的操作系統。

習慣上,標準輸入(standard input)的文件描述符是 0

標準輸出(standard output)是 1

標準錯誤(standard error)是 2

盡管這種習慣並非Unix內核的特性,但是因為一些 shell 和很多應用程序都使用這種習慣,因此,如果內核不遵循這種習慣的話,很多應用程序將不能使用。

[root@localhost ~]# ulimit n

1024 #查看文件描述符大小1024

[root@localhost ~]# ulimit -n 65536

[root@localhost ~]# ulimit -n

65536 臨時生效

[root@localhost ~]# echo ‘* - nofile 65536‘ >> /etc/security/limits.conf

配置完成後,重新登錄即可查看。

提示:也可以把ulimit -SHn 65535命令加入到/etc/rc.local,然後每次重啟生效

[root@c64 ~]# cat >>/etc/rc.local<<EOF

#open files

ulimit -HSn 65535

#stack size

ulimit -s 65535

EOF

 

 

* -    nofile  65536  

* - nproc  65536  

 

或者

 

* soft    nofile  65536  

* hard    nofile  65536  

* soft nproc  65536

* hard nproc  65536

 

 

soft nproc: 可打開的文件描述符的最大數(軟限制)

hard nproc: 可打開的文件描述符的最大數(硬限制)

soft nofile:單個用戶可用的最大進程數量(軟限制)

hard nofile:單個用戶可用的最大進程數量(硬限制)

 

七、配置linux內核參數

[root@zhongshabi ~]# vim /etc/sysctl.conf 內核參數配置文件

#關閉ipv6

net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.default.disable_ipv6 = 1

#避免放大攻擊

net.ipv4.icmp_echo_ignore_broadcasts = 1

#開啟惡意icmp錯誤消息保護

net.ipv4.icmp_ignore_bogus_error_responses = 1

#關閉路由轉發

net.ipv4.ip_forward = 0 開起路由轉發將0改為1即可

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.send_redirects = 0

#開啟反向路徑過濾

net.ipv4.conf.all.rp_filter = 1

net.ipv4.conf.default.rp_filter = 1

#處理無源路由的包

net.ipv4.conf.all.accept_source_route = 0

net.ipv4.conf.default.accept_source_route = 0

#關閉sysrq功能

kernel.sysrq = 0

#core文件名中添加pid作為擴展名

kernel.core_uses_pid = 1

#開啟SYN洪水攻擊保護

net.ipv4.tcp_syncookies = 1 表示開啟SYN Cookies。當出現SYN等待隊列溢出時,啟用cookies來處理,可防範少量SYN攻擊,默認為1,表示開啟的; 表示SYN隊列的長度,默認為1024,加大隊列長度為8192,可以容納更多等待連接的網絡連接數

net.ipv4.tcp_max_syn_backlog = 262144

#修改消息隊列長度

kernel.msgmnb = 65536

kernel.msgmax = 65536

#設置最大內存共享段大小bytes

kernel.shmmax = 68719476736

kernel.shmall = 4294967296

#timewait的數量,默認180000

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 TCP讀buffer,可參考的優化值: 32768 436600 873200 net.ipv4.tcp_wmem = 4096  16384   4194304 tcp寫buffer,可參考的優化值: 8192 436600 873200

net.core.wmem_default = 8388608 TCP寫buffer的默認值

net.core.rmem_default = 8388608 TCP讀buffer的默認值

net.core.rmem_max = 16777216 TCP寫buffer的最大值

net.core.wmem_max = 16777216 TCP寫buffer的最大值

#每個網絡接口接收數據包的速率比內核處理這些包的速率快時,允許送到隊列的數據包的最大數目

net.core.netdev_max_backlog = 262144

#限制僅僅是為了防止簡單的DoS 攻擊

net.ipv4.tcp_max_orphans = 3276800

#未收到客戶端確認信息的連接請求的最大值

net.ipv4.tcp_max_syn_backlog = 262144

net.ipv4.tcp_timestamps = 0

#內核放棄建立連接之前發送SYNACK 包的數量

net.ipv4.tcp_synack_retries = 1

#內核放棄建立連接之前發送SYN 包的數量

net.ipv4.tcp_syn_retries = 1

#啟用timewait 快速回收 net.ipv4.tcp_tw_recycle = 1

#開啟重用。允許將TIME-WAIT sockets 重新用於新的TCP 連接

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_mem = 94500000 915000000 927000000

net.ipv4.tcp_fin_timeout = 1

#當keepalive 起用的時候,TCP 發送keepalive 消息的頻度。缺省是2 小時

net.ipv4.tcp_keepalive_time = 30

#允許系統打開的端口範圍

net.ipv4.ip_local_port_range = 1024    65000

#修改防火墻表大小,默認65536

#net.netfilter.nf_conntrack_max=655350

#net.netfilter.nf_conntrack_tcp_timeout_established=1200

#確保無人能修改路由表

net.ipv4.conf.all.accept_redirects = 0

net.ipv4.conf.default.accept_redirects = 0

net.ipv4.conf.all.secure_redirects = 0

net.ipv4.conf.default.secure_redirects = 0

 

[root@zhongshabi ~]# sysctl -p  保存生效

八、服務器根目錄文件名都代表什麽意思

1.bin是系統有很多放置執行文件的目錄,但/bin比較特殊。因為/bin放置的是在單人維護模式下還能夠被操作的指令。/bin底下的指令可以被root與一般賬號所使用,主要有:cat,chmod,chown,date,mv,mkdir.cp,bash等常用的指令

2.boot這個目錄主要在放置開機會使用到的檔案,包括Linux核心檔案以及開機選單與開機所需配置文件等等。Linux kernel常用的檔名為:vmlinuz,如果使用的是gurb這個開機管理程序,則還會存在/boot/gurb這個目錄

3.dev任何裝置與接口設備都是以檔案的型態存在於這個目錄中的。

4.etc系統主要的配置文件幾乎都放置在這個目錄內,

5.home這是系統默認的用戶家目錄(home directory)

6.lib放置的則是在開機時會用到的函式庫

8.media底下放置的就是可移除的裝置,包括軟盤、光盤、DVD等等裝置都暫時掛載於此。常見的檔名有: /media/floppy, /media/cdrom等等。

9.mnt暫時掛載某些額外的裝置

10.opt這個是給第三方軟件放置的目錄。

11.proc這個目錄本身是一個『虛擬文件系統(virtual filesystem)』,他放置的數據都是在內存當中,例如系統核心、行程信息(process)、周邊裝置的狀態及網絡狀態等等。因為這個目錄下的數據都是在內存當中,所以本身不占任何硬盤空間,比較重要的檔案例如:/proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/* 等等。

12.root系統管理員(root)的家目錄。

13.sbinLinux有非常多指令是用來設定系統環境的,

14.tmp這是讓一般用戶或者是正在執行的程序暫時放置檔案的地方。這個目錄是任何人都能夠存取的,所以你需要定期的清理一下。

15.srv可以規為『service』的縮寫,是一些網絡服務吪啟動後,這些服務所需要取用的數據目錄。

16.sys這個目錄其實跟/proc非常類似也是一個虛擬的文件系統,主要也是記錄與核心的相關的信息。

17.usr是『Unix 操作系統軟件資源』所放置的目錄

18.var 是在系統運作後才會漸漸占用硬盤容量的目錄。用於存儲

centos7 初始優化+及目錄講解