歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

centos系統初始化

centos系統初始化   初始化常用環境變量   1 # vi .bashrc 2 alias  worksrc='cd /usr/local/src;ls' 3 配置生效 4 # source .bashrc yum預裝常用的服務器軟件   01 #vim  linux編輯器 02 #wget 網絡自動下載文件的工具,支持通過HTTP、HTTPS、FTP三個最常見的TCP/IP協議下載 03 #crontab  cron是一個常駐服務,它提供計時器的功能,讓用戶在特定的時間得以執行預設的指令或程序。只要用戶會編輯計時器的配置文件,就可以使 用計時器的功能 04 #mlocate 基於數據庫快速查找文件,經常用updatedb命令更新數據庫 05 #ntp 時間同步服務組件 06 #SecureCRT的sz/rz工具包 07 yum -y install vim wget gcc make crontabs mlocate ntp lrzsz gcc-c++ autoconf; 08 # 09 #sysstat:是一個軟件包,包含監測系統性能及效率的一組工具,這些工具對於我們收集系統性能數據,比如CPU使用率、硬盤和網絡吞吐數據,這些數據的收集和分析,有利於我們判斷系統是否正常運行,是提高系統運行效率、安全運行服務器的得力助手 10 #dstat:用來替換 vmstat,iostat,netstat,nfsstat和ifstat這些命令的工具是一個全能彩色系統信息統計工具 11 #screen:類似nohup,能同時連接多個本地或遠程的命令行會話,並在其間自由切換,適合遠程管理終端長時間遠程跑的程序 12 yum -y install sysstat dstat screen ; 13 # 14 #top是linux下常用的監控程序,htop相當於其加強版,顏色顯示不同參數,且支持鼠標操作 15 #安裝支持組件 16 wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz 17 tar xvfz ncurses-5.9.tar.gz 18 cd ncurses-5.9 19 ./configure 20 make 21 make install 22 #安裝htop: 主頁http://sourceforge.net/projects/htop/files/htop/ 23 wget http://sourceforge.net/projects/htop/files/htop/1.0.2/htop-1.0.2.tar.gz/download 24 tar zxvf htop-1.0.2.tar.gz 25 cd htop-1.0.2 26 ./configure 27 make 28 make install 時間和時區設置   查看當前時區時間   1 date -R 每隔10分鐘同步一下時鐘   1 echo " */10 * * * * /usr/sbin/ntpdate 61.129.42.44 >> /home/ntp.log" >> /var/spool/cron/root 2 service crond restart 3 /usr/sbin/ntpdate 61.129.42.44 替換默認時區為上海   1 rm -rf /etc/localtime       #刪除當前默認時區 2 ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #復制替換默認時區為上海 防火牆配置腳本   iptables.rule:設定最基本的規則,包括清除防火牆規則、載入模組、設定服務可接受等; iptables.deny:設定抵擋某些惡意主機的進入; iptables.allow:設定允許某些自訂的後門來源主機!   001 [root@www ~]# mkdir -p /usr/local/iptables 002 [root@www ~]# cd /usr/local/iptables 003 [root@www iptables]# vim iptables.rule 004 #!/bin/bash 005 # 請先輸入您的相關參數,不要輸入錯誤了! 006   EXTIF="eth0"             # 這個是可以連上 Public IP 的網絡界面 007   INIF="eth1"              # 內部 LAN 的連接介面;若無則寫成 INIF="" 008   INNET="192.168.100.0/24" # 若無內部網絡介面,請填寫成 INNET="" 009   export EXTIF INIF INNET 010 # 第一部份,針對本機的防火牆設定!########################################## 011 # 1. 先設定好核心的網路功能: 012   echo "1" > /proc/sys/net/ipv4/tcp_syncookies #開啟 TCP Flooding的DoS攻擊抵擋機制,但這個設定不適合loading已經很高的主機 013   echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts #取消 ping 廣播的回應 014   #開啟逆向路徑過濾,以符合 IP 封包與網路介面的設定,開啟記錄有問題的封包 015   for i in /proc/sys/net/ipv4/conf/*/{rp_filter,log_martians}; do 016         echo "1" > $i 017   done 018   #取消來源路由,這個設定值是可以取消的;取消重新宣告路徑的功能;取消傳送重新宣告路徑的功能 019   for i in /proc/sys/net/ipv4/conf/*/{accept_source_route,accept_redirects,\ 020 send_redirects}; do 021         echo "0" > $i 022   done 023 # 2. 清除規則、設定預設政策及開放 lo 與相關的設定值 024   PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:/usr/local/bin; export PATH 025   #清除已有規則 026   iptables -F 027   iptables -X 028   iptables -Z 029   #設置默認策略 030   iptables -P INPUT   DROP 031   iptables -P OUTPUT  ACCEPT 032   iptables -P FORWARD ACCEPT 033   #開放lo 034   iptables -A INPUT -i lo -j ACCEPT 035   #只要是聯機成功的數據包或與已發出去請求相關的數據包就予以通過 036   iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 037 # 3. 啟動額外的防火牆 script 模組 038   if [ -f /usr/local/iptables/iptables.deny ]; then 039         sh /usr/local/iptables/iptables.deny 040   fi 041   if [ -f /usr/local/iptables/iptables.allow ]; then 042         sh /usr/local/iptables/iptables.allow 043   fi 044   if [ -f /usr/local/httpd-err/iptables.http ]; then 045         sh /usr/local/httpd-err/iptables.http 046   fi 047 # 4. 允許某些類型的 ICMP 封包進入,通常我們會把ICMP type 8拿掉,讓遠程主機不知道主機是否存在,也不會對ping回應 048   AICMP="0 3 3/4 4 11 12 14 16 18" 049   for tyicmp in $AICMP 050   do 051     iptables -A INPUT -i $EXTIF -p icmp --icmp-type $tyicmp -j ACCEPT 052   done 053 # 5. 允許某些服務的進入,請依照你自己的環境開啟 054 iptables -A INPUT -p TCP -i $EXTIF --dport  22 --sport 1024:65534 -j ACCEPT # SSH 055 iptables -A INPUT -p TCP -i $EXTIF --dport  80 --sport 1024:65534 -j ACCEPT # WWW 056 # iptables -A INPUT -p TCP -i $EXTIF --dport  21 --sport 1024:65534 -j ACCEPT # FTP 057 # iptables -A INPUT -p TCP -i $EXTIF --dport  25 --sport 1024:65534 -j ACCEPT # SMTP 058 # iptables -A INPUT -p UDP -i $EXTIF --dport  53 --sport 1024:65534 -j ACCEPT # DNS 059 # iptables -A INPUT -p TCP -i $EXTIF --dport  53 --sport 1024:65534 -j ACCEPT # DNS 060 # iptables -A INPUT -p TCP -i $EXTIF --dport 110 --sport 1024:65534 -j ACCEPT # POP3 061 # iptables -A INPUT -p TCP -i $EXTIF --dport 443 --sport 1024:65534 -j ACCEPT # HTTPS 062 # 第二部份,針對後端主機的防火牆設定!############################### 063 # 1. 先載入一些有用的模組 064   modules="ip_tables iptable_nat ip_nat_ftp ip_nat_irc ip_conntrack 065 ip_conntrack_ftp ip_conntrack_irc" 066   for mod in $modules 067   do 068       testmod=`lsmod | grep "^${mod} " | awk '{print $1}'` 069       if [ "$testmod" == "" ]; then 070             modprobe $mod 071       fi 072   done 073 # 2. 清除 NAT table 的規則吧! 074   iptables -F -t nat 075   iptables -X -t nat 076   iptables -Z -t nat 077   iptables -t nat -P PREROUTING  ACCEPT 078   iptables -t nat -P POSTROUTING ACCEPT 079   iptables -t nat -P OUTPUT      ACCEPT 080 # 3. 若有內部介面的存在 (雙網卡) 開放成為路由器,且為 IP 分享器! 081   if [ "$INIF" != "" ]; then 082     iptables -A INPUT -i $INIF -j ACCEPT 083     echo "1" > /proc/sys/net/ipv4/ip_forward 084     if [ "$INNET" != "" ]; then 085         for innet in $INNET 086         do 087             iptables -t nat -A POSTROUTING -s $innet -o $EXTIF -j MASQUERADE 088         done 089     fi 090   fi 091   # 如果你的 MSN 一直無法連線,或者是某些網站 OK 某些網站不 OK, 092   # 可能是 MTU 的問題,那你可以將底下這一行給他取消註解來啟動 MTU 限制范圍 093   # iptables -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss \ 094   #          --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu 095 # 4. NAT 伺服器後端的 LAN 內對外之伺服器設定 096 # iptables -t nat -A PREROUTING -p tcp -i $EXTIF --dport 80 \ 097 #          -j DNAT --to-destination 192.168.1.210:80 # WWW 098 # 5. 特殊的功能,包括 Windows 遠端桌面所產生的規則,假設桌面主機為 1.2.3.4 099 # iptables -t nat -A PREROUTING -p tcp -s 1.2.3.4  --dport 6000 \ 100 #          -j DNAT --to-destination 192.168.100.10 101 # iptables -t nat -A PREROUTING -p tcp -s 1.2.3.4  --sport 3389 \ 102 #          -j DNAT --to-destination 192.168.100.20 103 # 6. 最終將這些功能儲存下來吧! 104   /etc/init.d/iptables save iptables.allow腳本設置   1 [root@www iptables]# vim iptables.allow 2 #!/bin/bash 3 # 允許進入本機的其他網絡或主機啊! 4   iptables -A INPUT -i $EXTIF -s 140.116.44.0/24 -j ACCEPT iptables.deny腳本設置   1 [root@www iptables]# vim iptables.deny 2 #!/bin/bash 3 # 阻擋的主機ip或者主機所在的整個網段 4   iptables -A INPUT -i $EXTIF -s 140.116.44.254 -j DROP 腳本權限設置   1 [root@www iptables]# chmod 700 iptables.* 開機啟動   1 [root@www ~]# vim /etc/rc.d/rc.local 2 # 1. Firewall 3 /usr/local/iptables/iptables.rule 優化內核參數   優化內核具體要看此服務器安裝的軟件,實現的功能,參數不是一成不變的,要隨著改變   01 mv /etc/sysctl.conf /etc/sysctl.conf.`date +"%Y-%m-%d_%H-%M-%S"` 02 echo "net.ipv4.ip_forward = 0 03 net.ipv4.conf.default.rp_filter = 1 04 net.ipv4.conf.default.accept_source_route = 0 05 net.ipv6.conf.all.disable_ipv6 = 1 06 net.ipv6.conf.default.disable_ipv6 = 1 07 kernel.sysrq = 0 08 kernel.core_uses_pid = 1 09 net.ipv4.tcp_syncookies = 1 10 kernel.msgmnb = 65536 11 kernel.msgmax = 65536 12 kernel.shmmax = 68719476736 13 kernel.shmall = 4294967296 14 net.ipv4.tcp_max_tw_buckets = 6000 15 net.ipv4.tcp_sack = 1 16 net.ipv4.tcp_window_scaling = 0 17 net.ipv4.tcp_rmem = 4096 87380 16777216 18 net.ipv4.tcp_wmem = 4096 16384 16777216 19 net.core.wmem_default = 8388608 20 net.core.rmem_default = 8388608 21 net.core.rmem_max = 16777216 22 net.core.wmem_max = 16777216 23 net.core.netdev_max_backlog = 262144 24 net.core.somaxconn = 262144 25 net.ipv4.tcp_max_orphans = 3276800 26 net.ipv4.tcp_max_syn_backlog = 262144 27 net.ipv4.tcp_timestamps = 0 28 net.ipv4.tcp_synack_retries = 1 29 net.ipv4.tcp_syn_retries = 1 30 net.ipv4.tcp_tw_recycle = 1 31 net.ipv4.tcp_tw_reuse = 1 32 net.ipv4.tcp_mem = 94500000 915000000 927000000 33 net.ipv4.tcp_fin_timeout = 15 34 net.ipv4.tcp_keepalive_time = 30 35 vm.swappiness = 10" >> /etc/sysctl.conf 36 sysctl -p 總結:經過上面一系列的配置,服務器初始化大部分完成,尤其注意防火牆設置,一旦處理不好,就有可能把自己關在門外!    
Copyright © Linux教程網 All Rights Reserved