日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

RHEL/CentOS通用性能优化、安全配置参考

發布時間:2023/11/27 生活经验 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RHEL/CentOS通用性能优化、安全配置参考 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

RHEL/CentOS通用性能優化、安全配置參考

?

本文的配置參數是筆者在實際生產環境中反復實踐總結的結果,完全適用絕大多數通用的高負載、安全性要求的網絡服務器環境。故可以放心使用。

?

若有異議,歡迎聯系zhangxugg@163.com探討。

?

提示:強烈建議使用RHEL?5.6/CentOS?5.6及以上版本的系統,否則可能會有差異。

?

一、配置yum更新源
CentOS不需要配置可以直接使用官方提供的yum源(但速度往往較慢),而RHEL在沒有購買授權服務情況下,是無法使用redhat官方的yum源的。如果你使用了CentOS但對其官方提供的yum源下載速度不滿意,或使用RHEL,需要從安裝光盤(或ISO鏡像)建立自己的yum源,那么請參照本節。
一般來說,建立yum更新源有三種方式
使用本地物理光盤

使用本地ISO文件

使用HTTP/FTP服務器

這幾種方式中,使用本地光盤、本地ISO文件的缺陷很明顯--只能為本機使用,無法實現網絡yum源共享,所以推薦使用HTTP方式建立yum更新源。以RHEL為標準,分別介紹這三種方式的配置

?

1.?使用本地光盤鏡像
A.?將光盤放入光驅(虛擬機如VM,?virtualbox,應該是為虛擬機分配光驅)

B.?建立掛載點

mkdir?/mnt/cdrom
C.?裝載光盤至掛載點?

mount?/dev/hdc?/mnt/cdrom/

D.?編輯文件?/etc/yum.repos.d/local.repo?,輸入以下內容

[base]

name=Red?Hat?Enterprise?Linux?Local?Source

baseurl=file:///mnt/cdrom/Server

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

?

[Cluster]

name=Red?Hat?Enterprise?Linux?Cluster

baseurl=file:///mnt/cdrom/Cluster

?

[ClusterStorage]

name=Red?Hat?Enterprise?Linux?ClusterStorage

baseurl=file:///mnt/cdrom/ClusterStorage

E.?驗證是否配置成功
yum?repolist

2.?使用本地ISO鏡像,?方法與使用光盤大同小異
A.?將系統鏡像ISO文件上傳至服務器某個目錄中(我使用的鏡像文件名為rhel-server-5.4-i386-dvd.iso)
B.?建立掛載目錄??mkdir?/mnt/OS

C.?卸載光驅并裝載ISO文件至掛載目錄???
umount?/mnt/cdrom/

mount?-o?loop?rhel-server-5.4-i386-dvd.iso?/mnt/cdrom/
D.?其它配置請參照第1小節的D、E步驟即可


3.?使用HTTP方式建立yum源,這需要預先在服務器上安裝Http?Server,如apache,?nginx,lighttpd均可。
A.?準備好系統ISO鏡像文件,上傳到yum服務器某個目錄中
B.?參照第2小節,將ISO文件裝載到某個目錄中,假設為?/mnt/os

C.?配置http服務器,發布上一步裝載的目錄,以nginx配置為例子?假設服務器IP為192.168.56.101

server?{

??server_name?192.168.56.101;

??location?/rhel-5.4?{

????alias??/mnt/os;

????autoindex?on;

??}

}

?

D.?刪掉舊的yum配置文件
mv?-f?/etc/yum.repos.d/*?~/

?

E.?編輯文件?/etc/yum.repos.d/onlineyum.repo?輸入以下內容

[base]

name=Red?Hat?Enterprise?Linux?Online?Source

baseurl=http://192.168.56.101/rhel-5.4/Server

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

?

[Cluster]

name=Red?Hat?Enterprise?Linux?Cluster

baseurl=http://192.168.56.101/rhel-5.4/Cluster

?

[ClusterStorage]

name=Red?Hat?Enterprise?Linux?ClusterStorage

baseurl=http://192.168.56.101/rhel-5.4/ClusterStorage


F.?測試配置是否生效

yum?repolist

?

提示:
請將nginx配置中的server_name,?onlineyum.repo文件中的主機名按實際情況修改

如此處理后,其它服務器只要按上述步驟建立/etc/yum.repos.d/onlineyum.repo文件即可使用共享的yum源了

二、環境設置
主要是設置shell的環境,使日常的操作更為便捷
1.??去掉SSH登錄時DNS反向解析,以加快終端登錄速度

sed??-r?"s/.*UseDNS.+/UseDNS?no/i"?/etc/ssh/sshd_config??>?/tmp/sshd_config

mv?-f?/tmp/sshd_config?/etc/ssh/sshd_config

service?sshd?restart

?

2.?設置vi,?vim的默認的tab、行號顯示參數

echo?"set?tabstop=4"?>>?/etc/virc

echo?"set?tabstop=4"?>>?/etc/vimrc

echo?"set?number"?>>?/etc/virc

echo?"set?number"?>>?/etc/vimrc

?

3.?設置vim的別名為vi,?這樣當我們使用vi命令時,實質上是使用了vim

echo?"alias?vi=vim"?>>?~/.bashrc

source?~/.bashrc

?

4.?設置正確的時區

cp??/usr/share/zoneinfo/Asia/Chongqing??/etc/localtime

?

printf?'ZONE="Asia/Chongqing"\nUTC=false\nARC=false'?>?/etc/sysconfig/clock

?

#更新系統時間

ntpdate?pool.ntp.org

?

#執行crontab?-e,?輸入以下內容,每天凌晨6點更新系統時間

06***/sbin/ntpdate?pool.ntp.org??2>&1?|?/bin/logger

?

5.?設置終端為英文,避免中文顯示亂碼的不必要麻煩

echo?'LANG="en_US.UTF-8"'?>?/etc/sysconfig/i18n

source??/etc/sysconfig/i18n

?

6.?停止SELinux功能,避免出現異常現象。設置/etc/sysconfig/selinux文件中

SELINUX=disabled


三、服務優化?只開啟必要的服務,提高安全性和性能

安裝完Linux之后,以下服務是必須的必須開啟(以RHEL?5.6為參照),沒列出的服務可關閉

acpid???#高級控制電源管理接口

crond???#定時執行任務

haldaemon??#必須開啟,否則可能導致控制臺鍵盤鼠標無法使用

hidd???????#同上

irqbalance???#支持多cpu中斷,必須開啟

kudzu???????#檢測硬件變化時自動進行配置?

lvm2-monitor??#用于監測LVM狀態

messagebus???#Linux系統進程間通訊的關鍵服務

mdmonitor????#監測軟RAID健康狀態??即使沒有使用軟RAID,?也強烈建議啟用此服務

mdmpd???????#同上,即使沒有多路徑存儲設備,也強烈建議啟用之

network???????#網絡支持

readahead_early??#預先加載特定的應用程序到內存中以提供性能

readahead_later??#同上

smartd??????????#硬盤故障自動檢測

sshd????????????

syslog

klogd???????????#如果服務列表中存在,則必須開啟

?

提示:配置服務可使用ntsysv工具,比較方便

?

其它強烈建議開啟的服務

iptables????#使用內核防火墻保護服務器?請根據具體需要配置防火墻規則

?

?

四、Linux內核優化
1.?如果使用了iptables防火墻,則按以下參數優化

#如果發現iptbles影響網絡性能或有丟包現象,執行以下命令以優化之

在高流量狀態下,如果iptables的hash表過小,就會出現丟包現象,系統日志中產生ip_conntrack:?table?full,?dropping?packet.這時網絡傳輸變得超慢。

??

設置為65536,?意味著netfilter可以跟蹤65536*8=50多萬個連接,逐步調整此值,直到不出現丟包現象為至。另外,如果這個值設置過大,也會有警告:falling?back?to?vmalloc?因此不能過大

?

grep?-i?"ip_conntrack"?/etc/modprobe.conf?||?\

echo?"options?ip_conntrack?hashsize=65536"?>>?/etc/modprobe.conf

?

echo?"net.ipv4.netfilter.ip_conntrack_tcp_timeout_established?=?1200"?>>?/etc/sysctl.conf

service?iptables?restart

sysctl?-p

?

提示:當重啟iptables服務時,以上參數會失效,所以請務必修改/etc/init.d/iptables腳本

case?"$1"?in

????start)

????stop

????start

修改為

case?"$1"?in

????start)

????stop

????start

????/sbin/sysctl?-p??>?/dev/null?2>&1

?

即在iptables啟動之后,強制重新加載/etc/sysctl.conf的配置

?

?

2.?優化內核網絡相關參數,向/etc/sysctl.conf中追加以下內容

net.core.netdev_max_backlog=3000

net.ipv4.conf.lo.accept_redirects=0

net.ipv4.conf.all.accept_redirects=0

net.ipv4.conf.eth0.accept_redirects=0

net.ipv4.conf.default.accept_redirects=0

?

net.ipv4.tcp_tw_recycle=1

net.ipv4.tcp_tw_reuse=1

net.ipv4.tcp_tw_reuse=1

net.ipv4.tcp_fin_timeout=30

net.ipv4.tcp_keepalive_time=600

net.ipv4.tcp_max_syn_backlog=8192

net.ipv4.tcp_max_tw_buckets?=?9000

?

net.ipv4.tcp_syn_retries?=?1

?

net.core.rmem_max=16777216

net.core.wmem_max=16777216

?

net.ipv4.tcp_syncookies=1

net.ipv4.tcp_rmem=4096?87380?16777216

net.ipv4.tcp_wmem=4096?65536?16777216

?

net.ipv4.ip_local_port_range?=?102465535

vm.swappiness?=?10

?

使用sysctl?-p使配置生效。

?

在機器可重啟動情況下,強烈建議重啟以確認配置生效

?

五、配置iptables防火墻規則
在沒有其它防火墻保護措施時,一定要盡可能使用iptables的強大功能保護好您的服務器。如果不善于使用iptables,?則不是一個合格的系統工程師

?

如果不使用iptables,?此小節不必實踐

提示:在配置防火墻規則時為防止自己被拒之門外,強烈建議在作以下措施
運行crontab?-e?輸入以下內容

*/3???*???*???*???*??/etc/init.d/iptables?stop

?

即每3分鐘自動停止防火墻。這樣即使由于配置錯誤使自己被攔截,等待3分鐘之后,即可解除。

?

開始配置防火墻規則

這里假設服務器使用兩個IP段地址12.35.56.0/24(公網IP),192.168.0.0/16(內網)

服務器提供http?(80端口)服務

單個IP到80端口的并發連接最多為30個

來自一個C類網段的并發連接最多為600個

ping的頻率最多為10個請求每秒

來自同IP段的任何連接信任

信任已經建立的連接。

服務器出站連接全部允許

允許到1723端口的VPN連接以及gre協議(此服務器同時作為VPN服務器使用)

其它入站連接全部禁止

允許所有的出站連接

?

提示:本內容在RHEL?5.6?/CentOS?5.6版本上測試通過,對舊版本系統,可能會有問題

?

/etc/sysconfig/iptables中的內容為

*filter

:INPUT?ACCEPT?[0:0]

:FORWARD?ACCEPT?[0:0]

:OUTPUT?ACCEPT?[94:9668]

-A?INPUT?-i?lo?-j?ACCEPT?

-A?INPUT?-s?192.168.0.0/16?-j?ACCEPT

-A?INPUT?-s?12.23.56.0/24??-j?ACCEPT

-A?INPUT?-p?icmp?-m?limit?--limit?10/sec?--limit-burst?30?-j?ACCEPT

-A?INPUT?-p?icmp?-j?DROP

-A?INPUT?-m?state?--state?ESTABLISHED,RELATED?-j?ACCEPT

-A?INPUT?-p?tcp?--dport?80?-m?connlimit?--connlimit-above?20??--connlimit-mask?32?-j?DROP

-A?INPUT?-p?tcp?--dport?80?-m?connlimit?--connlimit-above?600?--connlimit-mask?24?-j?DROP

-A?INPUT?-p?tcp?--dport?80?-j?ACCEPT

-A?INPUT?-p?tcp?--dport?1723?-j?ACCEPT

-A?INPUT?-p?gre?-j?ACCEPT

-A?INPUT?-j?DROP

COMMIT

?

重啟防火墻以使規則生效

service?iptables?restart

?

提示:經過測試發現RHEL?5.4系統上,iptables沒有限制并發連接模塊。

?

測試若沒有問題,運行crontab?-e?去掉我們開始添加的自動停止防火墻的任務

啟用服務

chkconfig?iptables?on

轉載于:https://www.cnblogs.com/sunbeidan/p/8477614.html

總結

以上是生活随笔為你收集整理的RHEL/CentOS通用性能优化、安全配置参考的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。