keepalived實戰之小試牛刀

keepalived是什么

keepalived是集群管理中保證集群高可用的一個服務軟件,其功能類似于heartbeat,用來防止單點故障。

keepalived工作原理

keepalived是以VRRP協議為實現基礎的,VRRP全稱Virtual Router Redundancy Protocol,即虛擬路由冗余協議。 虛擬路由冗余協議,可以認為是實現路由器高可用的協議,即將N臺提供相同功能的路由器組成一個路由器組,這個組里面有一個master和多個backup,master上面有一個對外提供服務的vip(該路由器所在局域網內其他機器的默認路由為該vip),master會發組播,當backup收不到vrrp包時就認為master宕掉了,這時就需要根據VRRP的優先級來選舉一個backup當master。這樣的話就可以保證路由器的高可用了。 keepalived主要有三個模塊,分別是core、check和vrrp。core模塊為keepalived的核心,負責主進程的啟動、維護以及全局配置文件的加載和解析。check負責健康檢查,包括常見的各種檢查方式。vrrp模塊是來實現VRRP協議的。

keepalived的配置文件

keepalived只有一個配置文件keepalived.conf,里面主要包括以下幾個配置區域:
global_defs 主要是配置故障發生時的通知對象以及機器標識
static_ipaddress和static_routes區域配置的是是本節點的IP和路由信息
vrrp_script用來做健康檢查的,當時檢查失敗時會將vrrp_instance的priority減少相應的值
vrrp_instance用來定義對外提供服務的VIP區域及其相關屬性
vrrp_rsync_group用來定義vrrp_intance組,使得這個組內成員動作一致

keepalived實戰之-小試牛刀主備模型

實驗目標: 通過keepalived+lvs部署DR類型集群,實現高可用、負載均衡;主、備兩臺調度器均處于在線狀態,當任意一臺調度器宕機或出現故障時,VIP會“漂移”到另外一臺服務器上,繼續提供服務。

1.機器準備,做好時間同步,host解析

172.16.251.90  node1 [keepalived master]
172.16.251.91  node2 [keepalived backup]
172.16.251.92  node3 [web1 httpd rs1] 
172.16.251.94  node4 [web2 httpd rs2] 
172.16.251.95  node5 [client]

2.安裝lvs和keepalived,我們在node1,node2上安裝
node1:
(1).安裝ipvsadm組件

yum install ipvsadm keepalived -y

(2).啟動網卡間核心轉發功能

sysctl -w net.ipv4.ip_forward=1
cat /proc/sys/net/ipv4/ip_forward

node2:同上

3.準備好web服務,實現web訪問正常
node3:
(1).安裝httpd

yum install httpd -y
echo "this is web1 test page." >/var/www/html/index.html

(2).啟動httpd并測試一下子

systemctl start httpd
curl 127.0.0.1
[root@node3 ~]# curl 127.0.0.1
this is web1 test page.

node4:
(1).安裝httpd

yum install httpd -y
echo "this is web2 test page." >/var/www/html/index.html

(2).啟動httpd并測試一下子

systemctl start httpd
[root@node4 bin]# curl 127.0.0.1
this is web2 test page.

4.在node3,node4節點上配置vip

node3節點:
(1).配置VIP

ifconfig lo:0 172.16.50.50 netmask 255.255.255.255 broadcast 172.16.50.50 up
route add -host 172.16.50.50 dev lo:0

(2).配置rs主機參數

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

node4節點同上:

我們這里有個腳本可以通行配置:

cd /server/script/
vim setparam.sh

#!/bin/bash
        #
        vip=172.16.50.50
        mask='255.255.255.255'

        case $1 in
        start)
          echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
          echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
          echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
          echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

          ifconfig lo:0 $vip netmask $mask broadcast $vip up
          route add -host $vip dev lo:0
          ;;

         stop)
          ifconfig lo:0 down
          echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
          echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
          echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
          echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
          ;;

         *) 
          echo "Usage $(basename $0) start|stop"
          exit 1
      ;;
esac

5.在node1,node2上配置keepalived腳本

vim /etc/keepalived/keepalived.conf

node1腳本如下:

! Configuration File for keepalived

global_defs {

   #故障發生時給誰發郵件通知
   notification_email {
     root@localhost
   }
   #通知郵件從哪個地址發出
   notification_email_from keepalived@localhost
   #通知郵件的smtp地址
   smtp_server 127.0.0.1
   #連接smtp服務器的超時時間
   smtp_connect_timeout 30
   #通過組播地址通告狀態和優先級信息
   vrrp_mcast_group4 224.0.100.24  
}

vrrp_instance sr1 {
    #MASTER或BACKUP
    state MASTER
    #節點固有IP(非VIP)的網卡,用來發VRRP包
    interface ens33
    #取值在0-255之間,用來區分多個instance的VRRP組播
    virtual_router_id 51
    #設置優先級,選舉master,取值范圍1-255
    priority 100
    #健康查檢時間間隔
    advert_int 1
    #定義 router_id
    router_id node1
    #認證區域,認證類型有PASS和HA(IPSEC),密碼8位字符
    authentication {
        auth_type PASS
        auth_pass r9RbiPlp
    }
    #配置要監控的網絡接口,一旦接口出現故障,則轉為FAULT狀態;
    track_interface {    
        ens33                        
    }
    #nopreempt #非搶占模式
    #配置虛擬IP地址(vip)
    virtual_ipaddress {
        172.16.50.50/24 dev ens33 label ens33:0
    }
}

virtual_server 172.16.50.50 80 {
    #定義延遲輪詢時間(單位秒)  
    delay_loop 6
    #設定VS的調用算法
    lb_algo wrr
    #設定lvs調度類型
    lb_kind DR
    persistence_timeout 50
    #工作的協議
    protocol TCP
    #當所有real server宕掉時,sorry server頂替
    sorry_server 127.0.0.1 80     

    #真正提供服務的服務器RS1
    real_server 172.16.251.92 80 {
        #權重
        weight 1

        #設置健康狀態檢測方法
        HTTP_GET  {
            url {

              #定義要監控的URL;
              path /

              #判斷上述檢測機制為健康狀態的響應碼;
              status_code 200
            }

            #連接請求的超時時長
            connect_timeout 3
            #重試次數
            nb_get_retry 3
            #下次重試的延遲時間
            delay_before_retry 1
        }
    }

    #真正提供服務的服務器RS2
    real_server 172.16.251.94 80 {
        #權重
        weight 1

        #設置健康狀態檢測方法
        HTTP_GET  {
            url {

              #定義要監控的URL;
              path /

              #判斷上述檢測機制為健康狀態的響應碼;
              status_code 200
            }

            #連接請求的超時時長
            connect_timeout 3
            #重試次數
            nb_get_retry 3
            #下次重試的延遲時間
            delay_before_retry 1
        }
    }


}

node2腳本如下:

! Configuration File for keepalived

global_defs {

   #故障發生時給誰發郵件通知
   notification_email {
     root@localhost
   }
   #通知郵件從哪個地址發出
   notification_email_from keepalived@localhost
   #通知郵件的smtp地址
   smtp_server 127.0.0.1
   #連接smtp服務器的超時時間
   smtp_connect_timeout 30
   #通過組播地址通告狀態和優先級信息
   vrrp_mcast_group4 224.0.100.24  
}

vrrp_instance sr1 {
    #MASTER或BACKUP
    state BACKUP
    #節點固有IP(非VIP)的網卡,用來發VRRP包
    interface ens33
    #取值在0-255之間,用來區分多個instance的VRRP組播
    virtual_router_id 51
    #設置優先級,選舉master,取值范圍1-255
    priority 96
    #健康查檢時間間隔
    advert_int 1
    #定義 router_id
    router_id node2
    #認證區域,認證類型有PASS和HA(IPSEC),密碼8位字符
    authentication {
        auth_type PASS
        auth_pass r9RbiPlp
    }
    #配置要監控的網絡接口,一旦接口出現故障,則轉為FAULT狀態;
    track_interface {    
        ens33                        
    }
    #nopreempt #非搶占模式
    #配置虛擬IP地址(vip)
    virtual_ipaddress {
        172.16.50.50/24 dev ens33 label ens33:0
    }
}

virtual_server 172.16.50.50 80 {
    #定義延遲輪詢時間(單位秒)  
    delay_loop 6
    #設定VS的調用算法
    lb_algo wrr
    #設定lvs調度類型
    lb_kind DR
    nat_mask 255.255.255.255
    persistence_timeout 50
    #工作的協議
    protocol TCP
    #當所有real server宕掉時,sorry server頂替
    sorry_server 127.0.0.1 80     

    #真正提供服務的服務器RS1
    real_server 172.16.251.92 80 {
        #權重
        weight 1

        #設置健康狀態檢測方法
        HTTP_GET  {
            url {

              #定義要監控的URL;
              path /

              #判斷上述檢測機制為健康狀態的響應碼;
              status_code 200
            }

            #連接請求的超時時長
            connect_timeout 3
            #重試次數
            nb_get_retry 3
            #下次重試的延遲時間
            delay_before_retry 1
        }
    }

    #真正提供服務的服務器RS2
    real_server 172.16.251.94 80 {
        #權重
        weight 1

        #設置健康狀態檢測方法
        HTTP_GET  {
            url {

              #定義要監控的URL;
              path /

              #判斷上述檢測機制為健康狀態的響應碼;
              status_code 200
            }

            #連接請求的超時時長
            connect_timeout 3
            #重試次數
            nb_get_retry 3
            #下次重試的延遲時間
            delay_before_retry 1
        }
    }


}

6.測試關掉其中任何一個keepalived,都可訪問curl 172.16.50.50

keepalived實戰之-小試牛刀雙主模型

我們剛剛做了一個主備模型,現在我們將這個主備模型稍微改造一下,我們只需要改造keepalived的配置文件即可:

1.在這之前,因為我們做的是lvs-dr模型,所以同樣我們需要在node3,node4上做另外一個vip 因此在node3,node4上操作:

ifconfig lo:1 172.16.60.60 netmask 255.255.255.255 broadcast 172.16.60.60 up
route add -host 172.16.60.60 dev lo:1

我們用ifconfig可以看到兩個

lo:0: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 172.16.50.50  netmask 255.255.255.255
        loop  txqueuelen 1  (Local Loopback)

lo:1: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 172.16.60.60  netmask 255.255.255.255
        loop  txqueuelen 1  (Local Loopback)

通用腳本改成如下:

#!/bin/bash

# Filename:    setvip.sh
# Revision:    1.1
# Date:        2017/06/24
# Author:      Srayban
# Email:       626612631@qq.com
# Website:     no
# Description: 設置vip

. /etc/init.d/functions


vip="172.16.50.50"
vip2="172.16.60.60"
mask="255.255.255.255"
case $1 in
start)
     echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
     echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
     echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
     echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

     ifconfig lo:0 $vip netmask $mask broadcast $vip up
     ifconfig lo:1 $vip2 netmask $mask broadcast $vip2 up
     route add -host $vip dev lo:0
     route add -host $vip2 dev lo:1
     ;;

 stop)
     ifconfig lo:0 down
     ifconfig lo:1 down
     echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
     echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
     echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
     echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
     ;;

 *) 
     echo "Usage $(basename $0) start|stop"
     exit 1
     ;;
 esac
 action "setvip is success." true

2.在node1,node2上改造keepalived腳本

vim /etc/keepalived/keepalived.conf

node1腳本如下:

! Configuration File for keepalived

global_defs {

   #故障發生時給誰發郵件通知
   notification_email {
     root@localhost
   }
   #通知郵件從哪個地址發出
   notification_email_from keepalived@localhost
   #通知郵件的smtp地址
   smtp_server 127.0.0.1
   #連接smtp服務器的超時時間
   smtp_connect_timeout 30
   #通過組播地址通告狀態和優先級信息
   vrrp_mcast_group4 224.0.100.24  
}

vrrp_instance sr1 {
    #MASTER或BACKUP
    state MASTER
    #節點固有IP(非VIP)的網卡,用來發VRRP包
    interface ens33
    #取值在0-255之間,用來區分多個instance的VRRP組播
    virtual_router_id 51
    #設置優先級,選舉master,取值范圍1-255
    priority 100
    #健康查檢時間間隔
    advert_int 1
    #定義 router_id
    router_id node1
    #認證區域,認證類型有PASS和HA(IPSEC),密碼8位字符
    authentication {
        auth_type PASS
        auth_pass r9RbiPlp
    }
    #配置要監控的網絡接口,一旦接口出現故障,則轉為FAULT狀態;
    track_interface {    
        ens33                        
    }
    #nopreempt #非搶占模式
    #配置虛擬IP地址(vip)
    virtual_ipaddress {
        172.16.50.50/24 dev ens33 label ens33:0
    }
}


vrrp_instance sr2 {
    #MASTER或BACKUP
    state BACKUP
    #節點固有IP(非VIP)的網卡,用來發VRRP包
    interface ens33
    #取值在0-255之間,用來區分多個instance的VRRP組播
    virtual_router_id 61
    #設置優先級,選舉master,取值范圍1-255
    priority 96
    #健康查檢時間間隔
    advert_int 1
    #定義 router_id
    router_id node1
    #認證區域,認證類型有PASS和HA(IPSEC),密碼8位字符
    authentication {
        auth_type PASS
        auth_pass r9ObiP0p
    }
    #配置要監控的網絡接口,一旦接口出現故障,則轉為FAULT狀態;
    track_interface {    
        ens33                        
    }
    #nopreempt #非搶占模式
    #配置虛擬IP地址(vip)
    virtual_ipaddress {
        172.16.60.60/24 dev ens33 label ens33:1
    }
}


virtual_server 172.16.60.60  80 {
    #定義延遲輪詢時間(單位秒)  
    delay_loop 6
    #設定VS的調用算法
    lb_algo wrr
    #設定lvs調度類型
    lb_kind DR
    persistence_timeout 50
    #工作的協議
    protocol TCP
    #當所有real server宕掉時,sorry server頂替
    sorry_server 127.0.0.1 80     

    #真正提供服務的服務器RS1
    real_server 172.16.251.92 80 {
        #權重
        weight 1

        #設置健康狀態檢測方法
        HTTP_GET  {
            url {

              #定義要監控的URL;
              path /

              #判斷上述檢測機制為健康狀態的響應碼;
              status_code 200
            }

            #連接請求的超時時長
            connect_timeout 3
            #重試次數
            nb_get_retry 3
            #下次重試的延遲時間
            delay_before_retry 1
        }
    }

    #真正提供服務的服務器RS2
    real_server 172.16.251.94 80 {
        #權重
        weight 1

        #設置健康狀態檢測方法
        HTTP_GET  {
            url {

              #定義要監控的URL;
              path /

              #判斷上述檢測機制為健康狀態的響應碼;
              status_code 200
            }

            #連接請求的超時時長
            connect_timeout 3
            #重試次數
            nb_get_retry 3
            #下次重試的延遲時間
            delay_before_retry 1
        }
    }


}


virtual_server 172.16.50.50 80 {
    #定義延遲輪詢時間(單位秒)  
    delay_loop 6
    #設定VS的調用算法
    lb_algo wrr
    #設定lvs調度類型
    lb_kind DR
    persistence_timeout 50
    #工作的協議
    protocol TCP
    #當所有real server宕掉時,sorry server頂替
    sorry_server 127.0.0.1 80     

    #真正提供服務的服務器RS1
    real_server 172.16.251.92 80 {
        #權重
        weight 1

        #設置健康狀態檢測方法
        HTTP_GET  {
            url {

              #定義要監控的URL;
              path /

              #判斷上述檢測機制為健康狀態的響應碼;
              status_code 200
            }

            #連接請求的超時時長
            connect_timeout 3
            #重試次數
            nb_get_retry 3
            #下次重試的延遲時間
            delay_before_retry 1
        }
    }

    #真正提供服務的服務器RS2
    real_server 172.16.251.94 80 {
        #權重
        weight 1

        #設置健康狀態檢測方法
        HTTP_GET  {
            url {

              #定義要監控的URL;
              path /

              #判斷上述檢測機制為健康狀態的響應碼;
              status_code 200
            }

            #連接請求的超時時長
            connect_timeout 3
            #重試次數
            nb_get_retry 3
            #下次重試的延遲時間
            delay_before_retry 1
        }
    }


}

node2腳本如下:

! Configuration File for keepalived

global_defs {

   #故障發生時給誰發郵件通知
   notification_email {
     root@localhost
   }
   #通知郵件從哪個地址發出
   notification_email_from keepalived@localhost
   #通知郵件的smtp地址
   smtp_server 127.0.0.1
   #連接smtp服務器的超時時間
   smtp_connect_timeout 30
   #通過組播地址通告狀態和優先級信息
   vrrp_mcast_group4 224.0.100.24  
}

vrrp_instance sr1 {
    #MASTER或BACKUP
    state BACKUP
    #節點固有IP(非VIP)的網卡,用來發VRRP包
    interface ens33
    #取值在0-255之間,用來區分多個instance的VRRP組播
    virtual_router_id 51
    #設置優先級,選舉master,取值范圍1-255
    priority 96
    #健康查檢時間間隔
    advert_int 1
    #定義 router_id
    router_id node2
    #認證區域,認證類型有PASS和HA(IPSEC),密碼8位字符
    authentication {
        auth_type PASS
        auth_pass r9RbiPlp
    }
    #配置要監控的網絡接口,一旦接口出現故障,則轉為FAULT狀態;
    track_interface {    
        ens33                        
    }
    #nopreempt #非搶占模式
    #配置虛擬IP地址(vip)
    virtual_ipaddress {
        172.16.50.50/24 dev ens33 label ens33:0
    }
}


vrrp_instance sr2 {
    #MASTER或BACKUP
    state MASTER
    #節點固有IP(非VIP)的網卡,用來發VRRP包
    interface ens33
    #取值在0-255之間,用來區分多個instance的VRRP組播
    virtual_router_id 61
    #設置優先級,選舉master,取值范圍1-255
    priority 100
    #健康查檢時間間隔
    advert_int 1
    #定義 router_id
    router_id node2
    #認證區域,認證類型有PASS和HA(IPSEC),密碼8位字符
    authentication {
        auth_type PASS
        auth_pass r9ObiP0p
    }
    #配置要監控的網絡接口,一旦接口出現故障,則轉為FAULT狀態;
    track_interface {    
        ens33                        
    }
    #nopreempt #非搶占模式
    #配置虛擬IP地址(vip)
    virtual_ipaddress {
        172.16.60.60/24 dev ens33 label ens33:1
    }
}


virtual_server 172.16.60.60  80 {
    #定義延遲輪詢時間(單位秒)  
    delay_loop 6
    #設定VS的調用算法
    lb_algo wrr
    #設定lvs調度類型
    lb_kind DR
    nat_mask 255.255.255.255
    persistence_timeout 50
    #工作的協議
    protocol TCP
    #當所有real server宕掉時,sorry server頂替
    sorry_server 127.0.0.1 80     

    #真正提供服務的服務器RS1
    real_server 172.16.251.92 80 {
        #權重
        weight 1

        #設置健康狀態檢測方法
        HTTP_GET  {
            url {

              #定義要監控的URL;
              path /

              #判斷上述檢測機制為健康狀態的響應碼;
              status_code 200
            }

            #連接請求的超時時長
            connect_timeout 3
            #重試次數
            nb_get_retry 3
            #下次重試的延遲時間
            delay_before_retry 1
        }
    }

    #真正提供服務的服務器RS2
    real_server 172.16.251.94 80 {
        #權重
        weight 1

        #設置健康狀態檢測方法
        HTTP_GET  {
            url {

              #定義要監控的URL;
              path /

              #判斷上述檢測機制為健康狀態的響應碼;
              status_code 200
            }

            #連接請求的超時時長
            connect_timeout 3
            #重試次數
            nb_get_retry 3
            #下次重試的延遲時間
            delay_before_retry 1
        }
    }


}

virtual_server 172.16.50.50 80 {
    #定義延遲輪詢時間(單位秒)  
    delay_loop 6
    #設定VS的調用算法
    lb_algo wrr
    #設定lvs調度類型
    lb_kind DR
    nat_mask 255.255.255.255
    persistence_timeout 50
    #工作的協議
    protocol TCP
    #當所有real server宕掉時,sorry server頂替
    sorry_server 127.0.0.1 80     

    #真正提供服務的服務器RS1
    real_server 172.16.251.92 80 {
        #權重
        weight 1

        #設置健康狀態檢測方法
        HTTP_GET  {
            url {

              #定義要監控的URL;
              path /

              #判斷上述檢測機制為健康狀態的響應碼;
              status_code 200
            }

            #連接請求的超時時長
            connect_timeout 3
            #重試次數
            nb_get_retry 3
            #下次重試的延遲時間
            delay_before_retry 1
        }
    }

    #真正提供服務的服務器RS2
    real_server 172.16.251.94 80 {
        #權重
        weight 1

        #設置健康狀態檢測方法
        HTTP_GET  {
            url {

              #定義要監控的URL;
              path /

              #判斷上述檢測機制為健康狀態的響應碼;
              status_code 200
            }

            #連接請求的超時時長
            connect_timeout 3
            #重試次數
            nb_get_retry 3
            #下次重試的延遲時間
            delay_before_retry 1
        }
    }


}

3.腳本改造以后,啟動keepalived

for i in {1..12};do curl 172.16.50.50; curl 172.16.60.60; done

可以看到兩個都能正常訪問了

原創文章,作者:srayban,如若轉載,請注明出處:http://www.www58058.com/78490

(0)
sraybansrayban
上一篇 2017-06-24 20:55
下一篇 2017-06-25 14:59

相關推薦

  • N23-第三周博客作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@localhost ~]# who | cut -d' ' -f1 | sort -u 2、取出最后登錄到當前系統的用戶的相關信息。 [root@localhost ~]# last -1 | head -1 3、取出當前系統上被用戶當…

    Linux干貨 2016-12-05
  • 文件查找命令(find、locate)

    在文件系統上查找符合條件的文件: 實現工具:locate, find locate: 依賴于事先構建好的索引庫; 系統自動實現(周期性任務); 手動更新數據庫(updatedb); 工作特性: 查找速度快; 模糊查找; 非實時查找; locate [OPTION]… PATTERN… -b:只匹配路徑中的基名; -c:統計出共有多少個符合條件的文件;…

    Linux干貨 2016-11-06
  • MySQL/MariaDB數據庫基于SSL實現主從復制

    前言 備份數據庫是生產環境中的首要任務,重中之重,有時候不得不通過網絡進行數據庫的復制,由于MySQL/MariaDB的主從復制是明文傳送的,如果在生產環境中跨網絡傳送,數據的安全性就無法完全保證,為了解決這一問題,我們需要一種安全的方式進行傳送,即基于SSL加密進行數據傳輸。 部署配置 實驗拓撲 實驗環境 系統環境:CentOS6.6 數據庫版本:mari…

    Linux干貨 2015-06-21
  • 馬哥教育網絡班21期+第6周課程練習

    請詳細總結vim編輯器的使用并完成以下練習題 1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; [root@localhost ~]# cp /etc/rc.d/rc.sysinit /tmp [root@localhost tmp]# vim rc.sysin…

    Linux干貨 2016-08-02
  • 0803linux基礎小記

    讓普通用戶無法登錄: centos 6  touch /etc/nologin echo "wating" > /etc/nologin 普通用戶登錄時不能進入系統,有提示信息 centos7  touch /etc/nologin 或touch /run/nologin  chage -l …

    Linux干貨 2016-08-05
  • Homework Week-11 加密、CA及DNS

    1、詳細描述一次加密通訊的過程,結合圖示最佳。 ——————————————————————&#…

    Linux干貨 2016-11-01
欧美性久久久久