![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TPB9kMVpXT3lFROBDOsJGcohVYsR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zRQpkL0UTN5IzM0gTM0AjNwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
第九章 主要講了網絡的配置方法,與ssh服務管理遠端主機
一、網絡的配置方法
網絡的配置方法有很多,隻要學會一種就行,當然圖形化界面更簡單,但是這裡主要講nmcli指令,nmcli通過指令行即可管理網絡。
nmcli 主要有兩個層面:
1)連結:就好比手機中的無線網連結,在家用 home 連結,學校用 school 連結,在公司用work連結,連結也就是針對不 同網絡環境的配置。
2)網卡:就是用來使用連結的裝置,沒有硬體裝置,有再多連結配置也無法使用。
以上就對應了nmcli 指令的兩個模式
nmcli c[onnection] {show|up|down|modify|add|edit|clone|delete|monitor|reload|load|import|export} 針對連結的管理
nmcli d[evice] {status|show|set|connect|reapply|modify|disconnect|delete|monitor|wifi|lldp} 針對網卡裝置的管理
1、針對連結的管理指令
nmcli c show [連結名稱] 如不指定連結名稱則顯示所有連結。如果指定連結名稱則顯示指定連結的詳細資訊
nmcli c up [連結名稱] 和 nmcli c down [連結名稱] 啟動或停止 指定的連結。就好像手機連結或斷開指定的wifi一樣。
需要注意的是:當停止一個指定的連結時,系統會自動尋找和切換另一個可用的連結,就好像你的手機目前有
兩個可用的wifi,當斷開目前wifi時,系統會切換另一個可用的連結。
nmcli c modify [連結名稱] [+|- 選項.屬性名 設定的變量] 修改指定連結的某個屬性。+|- 需要指定屬性的索引
nmcli c add
type ethernet | wifi | bond | bond-slave | team | team-slave | vpn | ..... 此屬性必須指定,不可省略,指定你要建立連結的 連結屬性。
以下常用的屬性根據需要添加,如不指定則使用預設配置,
[con-name 連結名稱] 建立連結的名稱
[ifname 網絡接口名] 指定建立連結的網絡接口名, 也就是綁定到的網卡裝置
[ip4 IP位址/掩碼] 指定ip位址
[gw4 網關] 指定網關位址
[autoconnect yes|no] 是否自動連結
nmcli c edit [連結名稱] 通過互動式 編輯連結的各種屬性,裡面有引導,這裡就不贅述了。其中所有的屬性名,都可與modify, add共用,如果不指定連結名稱則為引導添加連結
nmcli c delete [連結名稱] 删除指定連結
2、針對網卡(裝置)的管理指令(在linux中 網卡也叫接口)
nmcli d status 檢視網卡狀态
nmcli d show [網卡名稱] 檢視網卡資訊,如果不指定網卡名稱則顯示所有網卡資訊
nmcli d set [網卡名稱] [autoconnect yes|no] [managed yes|no] 設定網卡是否自動連接配接,和是否被管理。
nmcli d connect [網卡名稱] 和 nmcli d disconnect [網卡名稱] 将激活和禁止指定網卡,網卡自動連結可用連結。
nmcli d modify [網卡名稱] [+|-] [屬性] 與針對連結的管理指令文法相同,隻不過修改不寫入配置檔案。
nmcli d reapply [網卡名稱] 使用目前活動連結來更新網卡配置。說白了,此指令與modify指令配合使用意思就成了modify修改網 卡配置,但不寫入配置中,reapply從配置中讀出屬性來更新網卡的配置。
nmcli d delete [網卡名稱] 删除指定網卡裝置,注意,隻能删除虛拟網卡,如bond,team......無法删除硬體裝置
二、網卡的綁定與聚合技術
網卡綁定與聚合技術是将多塊網卡綁定為一個網卡,為了解決網卡的負載與備用問題。
常用模式有以下三種
第一種模式:mod=0 ,即:(balance-rr) Round-robin policy(平衡掄循環政策)
特點:傳輸資料包順序是依次傳輸(即:第1個包走eth0,下一個包就走eth1….一直循環下去,直到最後一個傳輸完 畢),此模式提供負載平衡和容錯能力;但是我們知道如果一個連接配接或者會話的資料包從不同的接口發出的話,中途再 經過不同的鍊路,在用戶端很有可能會出現資料包無序到達的問題,而無序到達的資料包需要重新要求被發送,這樣網 絡的吞吐量就會下降
第二種模式:mod=1,即: (active-backup) Active-backup policy(主-備份政策)
特點:隻有一個裝置處于活動狀态,當一個宕掉另一個馬上由備份轉換為主裝置。mac位址是外部可見得,從外面看來, bond的MAC位址是唯一的,以避免switch(交換機)發生混亂。此模式隻提供了容錯能力;由此可見此算法的優點是可以提 供高網絡連接配接的可用性,但是它的資源使用率較低,隻有一個接口處于工作狀态,在有 N 個網絡接口的情況下,資源利 用率為1/N
第七種模式:mod=6,即:(balance-alb) Adaptive load balancing(擴充卡适應性負載均衡)
特點:流量均衡,且有自動備援功能。
綁定與聚合的差別在與,綁定隻能将2塊網卡綁定在一起,聚合則支援最多8塊網卡綁定。
下面示範添加綁定網卡,與聚合網卡
聚合網卡支援以下模式
broadcast 廣播容錯
roundrobin 負載輪詢
activebackup 主備
loadbalance 負載均衡
lacp 需要交換機支援lacp協定
三、ssh服務
ssh服務是一種能有以安全的方式提供遠端登入的協定,也是目前遠端管理Linux系統的首選方式
ssh服務就好像windows系統中的遠端界面一樣。
ssh服務提供了兩種登入方式:1)基于密碼的驗證,即輸入使用者名與密碼來登入
2)基于密鑰的驗證,即在本地生成密鑰對,并将公鑰發給遠端主機,通過比對驗證登入。
ssh服務很簡單,主要先知道ssh服務的主配置檔案,在/etc/ssh/sshd_config中,主要參數有:
sshd服務配置檔案中包含的參數以及作用
參數 | 作用 |
Port 22 | 預設的sshd服務端口 |
ListenAddress 0.0.0.0 | 設定sshd伺服器監聽的IP位址 |
Protocol 2 | SSH協定的版本号 |
HostKey /tc/ssh/ssh_host_key | SSH協定版本為1時,DES私鑰存放的位置 |
HostKey /etc/ssh/ssh_host_rsa_key | SSH協定版本為2時,RSA私鑰存放的位置 |
HostKey /etc/ssh/ssh_host_dsa_key | SSH協定版本為2時,DSA私鑰存放的位置 |
PermitRootLogin yes | 設定是否允許root管理者直接登入 |
StrictModes yes | 當遠端使用者的私鑰改變時直接拒絕連接配接 |
MaxAuthTries 6 | 最大密碼嘗試次數 |
MaxSessions 10 | 最大終端數 |
PasswordAuthentication yes | 是否允許密碼驗證 |
PermitEmptyPasswords no | 是否允許空密碼登入(很不安全) |
ssh 文法: ssh [使用者名@] IP位址 遠端登入I
ssh-keygen 生成密鑰對
ssh-copy-id [使用者名@]IP位址 将公鑰發給遠端主機
下面示範以下這兩種登入方式:
確定/etc/ssh/sshd_config檔案中 PasswordAuthentication yes。如果要用root使用者登入,還需要确認 PermitRootLogin yes 。
密鑰對登入
四、scp 遠端傳輸指令
文法: scp [選項] [ip位址:]檔案路徑 [IP位址:]檔案路徑
常用選項:-r 用于檔案夾
-v 顯示詳細連結進度
-p 用于指定遠端主機的sshd端口号
-6 指定使用ipv6協定
下面是簡單的示範: