您好,登錄后才能下訂單哦!
不聯網的計算機就是廢鐵,管理linux也必須懂得網絡,但是網絡是一門特別大的學科,其中的原理和規范可以編寫三本書。學習linux之前總不能先去考個CCNA再學習吧!不學的話那必須對網絡有一定的認識懂得linux中的網絡管理,了解基本的網絡運作原理。
早期網絡有多種拓撲結構,現在已經被淘汰了,只要了解它們的類型和大致的優缺點就好。星形拓撲,使用中間設備進行信號中繼,中心節點單點故障對對全局影響明顯;環形拓撲,使用令牌環,每個設備的損壞對全局都有特別大的影響;總線型拓撲,對中心線要求比較高;網狀拓撲,特別耗費資源主要耗費線材;半網狀拓撲,也就是當今世界使用的網絡拓撲,不僅省了線材還最大程度上保證網絡的聯通性,當然這只是高層網絡,底層大多是星形拓撲。
物理設備主要有三種
集線器hub:連接在集線器上的主機,在同一個沖突域,也在一個廣播域內,其內部結構類似總線。沖突域:所有主機連接到一根網線上,這時在這個網線上只能有一個主機發信號,多個主機一起發信號就會導致這跟網線上的信息。一個主機發出信號,在這個網線上的所有主機都會收到,這就是廣播。
交換機switch:連接在交換機上的主機,不在同一個沖突域,在一個廣播域內。交換機內部很復雜,主要是功能是:主機把數據發送給交換機時,交換機會把數據先自己保存然后轉發給所有主機。這時多個主機可以同時發送信息了,解決了沖突。
路由router:可以實現信息選擇性的發送給其他設備,解決了廣播。
網絡的協議有兩個規范,為什么是兩個?因為有一個國際規范osi參考模型,這個規范為了把多種網絡同一起來設計了一個七層模型,但是實際生產中人們發現另一種四層模型不僅簡單而且高效的利用網絡,導致規范出了兩個。
兩個規范的對比情況:
這里只說四層網絡協議:
網際層:這一層很基礎,主要是實現電氣信息和數字信息的轉換和個主機識別,主機間識別主要是使用這一層的mac。
網絡層:這一層有著名的ip協議實現主機通信。
傳輸層:tcp,udp。主要是實現進程間通信,這才是重點,真正需要通信的不是主機,而是運行在主機上的進程。tcp三次握手,seq作為發送,ack作為響應。四次斷開,因為通信是全雙工的。
應用層:http超文本傳輸協議,ftp等等。
判斷網絡的工具:
ping檢測網絡的連通性,使用的是icmp協議 -s 指定包的大小 -c 指定發送包的數量 -w 指定等待的時間 -I 指定發送包的接口 ping的結果中ttl=初始值-經過的路由數(linux的初始值是64,windows是128) tracepath可以查看包經過的路由。
ss命令: -t tcp協議的通信 -u udp協議的通信 -w raw socket通信 -x unix socket通信 -n 以數字的形式顯示 -l listen狀態的 -a 所有狀態 -p 顯示pid -e 顯示擴展信息
三 linux網絡管理命令
網絡管理在centos6和7使用的工具不一樣,在7里使用的工具雖然6里面也有但是兼容性和穩定性不太好。
top動態的查看網絡狀況 htop比top更好看 glances信息比較全的實時查看網絡的工具 dstat實時監控系統各種狀況的總計 等等
ifconfig IFACE IP/netmask [up] 給IFACE指定ip,也可以給IFACE的一個別名指定ip,這樣一個網卡就可以擁有多個ip router add [-net|-host] target [netmask Nm][gw Gw] [[dev] If]
給某個ip增加路由示例:route add default gw 172.16.0.1
router –n 顯示路由信息 以上是古老的網絡查看管理命令,目前ip命令正在逐步取代上面這兩個命令。 ip addr add|change|del|flush ip管理命令,使用tab補全,可以快速的管理| note:ip可以讓一個網卡同時擁有多個ip并且不是有別名 ip router 。。。 路由管理命令
NetworkManager可以直接更改配置文件,但centos6中的NetworkManager不是很穩定一般都是關掉。由此,更改網絡后要想讓網絡永久生效就需要更改網卡的配置文件。
centos配置文件位于/etc/sysconfig/network-scripts/目錄下,以ifcfg-開頭。
配置文件格式
DEVICE 設備名 BOOTPROTO 獲取ip的方式dhcp、static等等 ONBOOT 開機時啟動 IPADDR ip地址 PREFIX|NETMASK 掩碼位數或直接指定掩碼 GATEWAY 指定網關 DNS1 指定dns服務器 等等
很多公司的服務都是很重要的必須保證99.9%的在線時間,這時一個網卡換掉導致服務掛掉將是一大筆損失。一個網卡不能滿足需求,這時我們可以使用兩個網卡同時工作甚至更多。這需要使用bongding。bongding機制是使用linux內的bongding模塊實現的。bonding有多種工作模式:1,Mode 0 (balance-rr);2,Mode 1 (active-backup);3,Mode 3 (broadcast)。
導入bonding模塊的 modprobe bonding
編輯配置文件/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0 BOOTPROTO=none BONDING_OPTS= “miimon=100 mode=0”
編輯輔網卡的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 BOOTPROTO=none MASTER=bond0 SLAVE=yes USERCTL=no
使bongding永久生效需要更改更改配置文件
vim /etc/modprobe.d/bond.conf alias bond0 bonding options bond0 miimon=100 mode=0 #使用這一行的時候就不用在bond0的配置文件中使用BONDING_OPTS= “miimon=100 mode=0”了。
centos7里可以直接使用NetworkManager的管理命令nmcli,nmcli命令很簡單,連擊tab就可以補全和ip的使用類似。使用cmcli配置的網卡的信息,最好使用ip命令查看。nmcli可以支持多個配置文件同時存在,但是只能使用一個。它的配置文件和6的進本類似只是可以指定多個ip
IPADDR
IPADDR1
centos7使用網絡組實現類似centos6的bonding。使用網絡組的命令集合如下:
nmclicon add type team con-name team0 ifname team0 config ‘{"runner":{"name":"loadbalance"}}' ipv4.addresses 192.168.1.100/24 ipv4.methodmanual
這條是命令是生成team0網卡并配置網卡
nmcli con add con-name team0-eth2 typeteamslave ifname eth2 master team0
把eth2加入team0
nmcli con add con-name team0-eth3 typeteamslave ifname eth3 master team0
把eth3加入team0
nmcli con up team0 nmcli con up team0-eth2 nmcli con up team0-eth3
啟動三個網卡
teamdctl team0 state 查看組情況 nmcli dev dis eth2 停止eth2測試
網絡知識雖然很多,但是運維人員需要接觸的不是很多,bonding和網絡組基本上是由機房人員實現的。機器網卡一旦出了問題,只能機房那一會的人員處理完問題后,才是運維上的時候。運維主要要了解網絡的基本原理,了解網卡組網的原理。
真正需要熟練使用的是網絡的配置,ip,掩碼,網關,路由。還有就是查看網絡情況的命令,第一時間判斷問題的出處。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。