Linux服務知識點總結

一.firewalld防火牆linux

1.firewalld簡述nginx

firewalld:防火牆,其實就是一個隔離工具:工做於主機或者網絡的邊緣。
對於進出本主機或者網絡的報文根據事先定義好的網絡規則作匹配檢測,
對於可以被規則所匹配的報文作出相應處理的組件(這個組件能夠是硬件,也能夠是軟件):算法

主機防火牆sql

網絡防火牆後端

2.具體操做服務器

(1).filter表cookie

限制全部主機(0.0.0.0)拒絕ping本主機                    iptables -t filter -A INPUT -s 0.0.0.0 -d 192.168.254.24 -p icmp -j REJECT    
顯示全部主機(0.0.0.0)拒絕經過ens33網卡ping本主機       iptables -t filter -A INPUT -d 192.168.254.24 -i ens33 -p icmp -j REJECT

(2).nat表網絡

 

 #源地址爲192.168.250.0網段的ip地址通過防火牆都轉換成192.168.31.100這個ip地址(SNAT:源地址轉換)
    iptables -t nat -A POSTROUTING -s 192.168.250.0/24 ! -d 192.168.250.0/24 -j SNAT --to-source 192.168.31.100
    
 #訪問目標地址爲192.168.31.200這個機器而且是tcp協議80號端口的都轉發給192.168.250.1(DNAT目標地址轉換)
    iptables -t nat -A PREROUTING -d 192.168.31.200 -p tcp --dport 80 -j DNAT --to-destination 192.168.250.1:80

 #訪問目標地址爲192.168.31.200這個機器而且是tcp協議80號端口的都轉發給192.168.31.100的9999號端口(DNAT目標端口地址轉換)
    iptables -t nat -A PREROUTING -d 192.168.31.200 -p tcp --dport 80 -j DNAT --to-destination 192.168.31.100:9999

 

二.LVS架構

1.lvs介紹併發

LVS 是一個實現負載均衡集羣的開源軟件項目,LVS架構從邏輯上可分爲調度層、Server集羣層和共享存儲。

LVS 由2部分程序組成,包括 ipvs 和 ipvsadm:

(1).ipvs(ip virtual server):一段代碼工做在內核空間,叫ipvs,是真正生效實現調度的代碼。
(2).ipvsadm:另一段是工做在用戶空間,叫ipvsadm,負責爲ipvs內核框架編寫規則,定義誰是集羣服務,而誰是後端真實的服務器(Real Server)

2.lvs/nginx/HAproxy的區別

LVS:
(1).抗負載能力強。抗負載能力強、性能高,能達到F5硬件的60%;對內存和cpu資源消耗比較低
(2).工做在網絡4層,經過vrrp協議轉發(僅做分發之用),具體的流量由linux內核處理,所以沒有流量的產生。
(3).穩定性、可靠性好,自身有完美的熱備方案;(如:LVS+Keepalived)
(4).應用範圍比較廣,能夠對全部應用作負載均衡;
(5).不支持正則處理,不能作動靜分離。
(6).支持負載均衡算法:rr(輪循)、wrr(帶權輪循)、lc(最小鏈接)、wlc(權重最小鏈接)
(7).配置 複雜,對網絡依賴比較大,穩定性很高。

Ngnix:

(1).工做在網絡的7層之上,能夠針對http應用作一些分流的策略,好比針對域名、目錄結構;
(2).Nginx對網絡的依賴比較小,理論上能ping通就就能進行負載功能;
(3).Nginx安裝和配置比較簡單,測試起來比較方便;
(4).也能夠承擔高的負載壓力且穩定,通常能支撐超過1萬次的併發;
(5).對後端服務器的健康檢查,只支持經過端口來檢測,不支持經過url來檢測。
(6).Nginx對請求的異步處理能夠幫助節點服務器減輕負載;
(7).Nginx僅能支持http、https和Email協議,這樣就在適用範圍較小。
(8).不支持Session的直接保持,但能經過ip_hash來解決。、對Big request header的支持不是很好,
(9).支持負載均衡算法:Round-robin(輪循)、Weight-round-robin(帶權輪循)、Ip-hash(Ip哈希)
(10).Nginx還能作Web服務器即Cache功能。

HAProxy:

(1).支持兩種代理模式:TCP(四層)和HTTP(七層),支持虛擬主機;
(2).可以補充Nginx的一些缺點好比Session的保持,Cookie的引導等工做
(3).支持url檢測後端的服務器出問題的檢測會有很好的幫助。
(4).更多的負載均衡策略好比:動態加權輪循(Dynamic Round Robin),加權源地址哈希(Weighted Source Hash),加權URL哈希和加權參數哈希(Weighted Parameter Hash)已經實現
(5).單純從效率上來說HAProxy更會比Nginx有更出色的負載均衡速度。
(6).HAProxy能夠對Mysql進行負載均衡,對後端的DB節點進行檢測和負載均衡。
(7)支持負載均衡算法:Round-robin(輪循)、Weight-round-robin(帶權輪循)、source(原地址保持)、RI(請求URL)、rdp-cookie(根據cookie)
(8).不能作Web服務器即Cache。

3.LVS的三種工做模式

(1).NAT模式(VS-NAT)

原理:就是把客戶端發來的數據包的IP頭的目的地址,在負載均衡器上換成其中一臺RS的IP地址併發至此RS來處理,RS處理完後把數據交給負載均衡器,

負載均衡器再把數據包原IP地址改成本身的IP,將目的地址改成客戶端IP地址。期間,不管是進來的流量,仍是出去的流量,都必須通過負載均衡器。

優勢:集羣中的物理服務器可使用任何支持TCP/IP操做系統,只有負載均衡器須要一個合法的IP地址

缺點:擴展性有限。當服務器節點(普通PC服務器)增加過多時,負載均衡器將成爲整個系統的瓶頸,由於全部的請求包和應答包的流向都通過負載均衡器。

當服務器節點過多時,大量的數據包都交匯在負載均衡器那,速度就會變慢!

(2).直接路由模式(VS-DR)

原理:負載均衡器和RS都使用同一個IP對外服務但只有DR對ARP請求進行響應,全部RS對自己這個IP的ARP請求保持靜默.

也就是說,網關會把對這個服務IP的請求所有定向給DR,而DR收到數據包後根據調度算法,找出對應的RS,把目的MAC地址改成RS的MAC(由於IP一致)

並將請求分發給這臺RS這時RS收到這個數據包,處理完成以後,因爲IP一致,能夠直接將數據返給客戶。

則等於直接從客戶端收到這個數據包無異,處理後直接返回給客戶端,因爲負載均衡器要對二層包頭進行改換,因此負載均衡器和RS之間必須在一個廣播域。

優勢:和TUN(隧道模式)同樣,負載均衡器也只是分發請求,應答包經過單獨的路由方法返回給客戶端

與VS-TUN相比,VS-DR這種實現方式不須要隧道結構,所以可使用大多數操做系統作爲物理服務器。

缺點:要求負載均衡器的網卡必須與物理網卡在一個物理段上。

(3).IP隧道模式(VS-TUN)

原理:首先要知道,互聯網上的大多Internet服務的請求包很短小,而應答包一般很大.那麼隧道模式就是,把客戶端發來的數據包,封裝一個新的IP頭標記(僅目的IP)發給RS

RS收到後,先把數據包的頭解開,還原數據包,處理後,直接返回給客戶端,不須要再通過負載均衡器。注意,因爲RS須要對負載均衡器發過來的數據包進行還原,因此說必須支持

IPTUNNEL協議,因此,在RS的內核中,必須編譯支持IPTUNNEL這個選項。

優勢:負載均衡器只負責將請求包分發給後端節點服務器,而RS將應答包直接發給用戶

因此,減小了負載均衡器的大量數據流動,負載均衡器再也不是系統的瓶頸,就能處理很巨大的請求量

這種方式,一臺負載均衡器可以爲不少RS進行分發。並且跑在公網上就能進行不一樣地域的分發。

缺點:隧道模式的RS節點須要合法IP,這種方式須要全部的服務器支持」IP Tunneling」,(IP Encapsulation)協議,服務器可能只侷限在部分Linux系統上。

 

三.keepalived

1.keepalived介紹

keepalived 是linux下一個輕量級的高可用解決方案,它與HACMP實現功能相似,均可以實現服務或者網絡的高可用,可是又有差異:hacmp是一個專業的、功能完善的高可用軟件,它提供了HA軟件所需的基本功能,好比心跳檢測和資源接管,檢測集羣中的系統服務,在集羣節點間轉移共享ip地址全部者等,hacmp功能強大,可是部署和使用相對麻煩,同時也是商業化軟件,與hacmp相比,keepalived主要是經過虛擬路由冗餘來實現高可用功能,雖然他沒有hacmp功能強大,可是keepalived部署使用相對簡單,全部配置只須要一個配置文件便可完成.

2.工做原理(VRRP協議) 

keepalived是以VRRP協議爲實現基礎的,VRRP全稱Virtual Router Redundancy Protocol,即虛擬路由冗餘協議。

虛擬路由冗餘協議,能夠認爲是實現路由器高可用的協議,即將N臺提供相同功能的路由器組成一個路由器組。這個組裏面有一個master和多個backup,

master上面有一個對外提供服務的vip(該路由器所在局域網內其餘機器的默認路由爲該vip),master會發組播,當backup收不到vrrp包時就認爲master宕掉了。

這時就須要根據VRRP的優先級來選舉一個backup當master。這樣就能夠保證路由器的高可用了。

3.體系結構

 

內核模塊:

IPVS:主要用於經過IPVS跟lvs進行整合,是lvs的核心模塊,跟lvs一塊使用的

NETLINK:主要實現一些網絡的功能 

用戶模塊:(主要用於高可用)

checker:檢查服務狀態

vrrp stack:用於DS高可用

 4.配置文件

keepalived默認配置文件在/etc/keepalived/keepalived.conf

文件主要分爲三類:

(1)全局配置

(2)VRRP配置

(3)LVS配置

 

四.ansible

相關文章
相關標籤/搜索