Linux運維周作業(yè)三(6.10-6.16)

1. 總結(jié)raid 0, 1, 5, 10, 01的工作原理??偨Y(jié)各自的利用率,冗余性,性能,至少幾個硬盤實現(xiàn)。

RAID0:

工作原理:將連續(xù)的數(shù)據(jù)分散到多個磁盤上存取,通過這種方式,系統(tǒng)有數(shù)據(jù)請求時,多個磁盤可以并行執(zhí)行,每個磁盤執(zhí)行屬于它自己的那部分數(shù)據(jù)請求。這種數(shù)據(jù)上的并行操作可以充分利用總線的帶寬,顯著提高磁盤整體的存取性能

磁盤利用率100%,無容錯能力,沒有冗余功能,讀,寫性能提升,最少磁盤數(shù)1+,實際要提升讀寫性能至少需要2塊磁盤

RAID1:

工作原理:兩塊磁盤寫入同樣的數(shù)據(jù),有完整的數(shù)據(jù)備份

磁盤利用率50%,有冗余能力,讀性能提升,寫性能略有下降,最少磁盤數(shù):2+

RAID5:

工作原理:數(shù)據(jù)和與其相對應(yīng)的奇偶校驗信息存儲到組成RAID5的各個磁盤上,并且奇偶校驗信息和相對應(yīng)的數(shù)據(jù)分別存儲于不同的磁盤上。當RAID5的一個磁盤數(shù)據(jù)損壞后,利用剩下的數(shù)據(jù)和相應(yīng)的奇偶校驗信息去恢復被損壞的數(shù)據(jù)

磁盤利用率2/3,有容錯能力,允許最多1塊磁盤損壞,讀,寫性能提升,最少磁盤數(shù)3

RAID-10:

工作原理:多塊磁盤先實現(xiàn)RAID1,再組合成RAID0

磁盤利用率50%,有容錯能力,每組鏡像最多只能壞1塊,讀,寫性能提升,最少磁盤數(shù)4

RAID-01:

工作原理:多塊磁盤先實現(xiàn)RAID0,再組合成RAID1

磁盤利用率50%,有容錯能力,允許RAID0每組中兩塊磁盤同時壞,但不可以每組磁盤各壞一塊,讀、寫性能提升,最少磁盤數(shù)4塊


2. 完成對LVM磁盤擴容及縮容示例。

虛擬機上加兩塊硬盤

新加硬盤定義別名掃描:alias scandisk="for i in {1..`ll /sys/class/scsi_host | awk -F '/host' '{print $NF}'|sort -rV|tail -n+2|head -n1`};do echo - - - > '/sys/class/scsi_host/host$i/scan';done"? ? ? ? ? ? 寫入.bashrc文件永久有效,定義別名搜索新加 硬盤? ? ? -V按實際數(shù)字排序

或者alias scandisk="for i in /sys/class/scsi_host/host*/scan;do echo ' -? -? - ' > $i;done"

[root@zhao ~]# lsblk

sdb和sdc已經(jīng)掃描出來

[root@zhao ~]# fdisk /dev/sdb? ? ? ? ? ? ? ? ? ?針對sdb進行分區(qū)

Command (m for help): n? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 創(chuàng)建分區(qū)

Select (default p): p? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 創(chuàng)建主分區(qū)

Partition number (1-4, default 1):? ? ? ? ? ? ? ? ? ? ? ? ? ? 默認回車

First sector (2048-41943039, default 2048):????????????? 默認回車

Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039): +5G? ? ? ? ? ? ? 分配5G空間

[root@zhao ~]# yum -y install lvm2? ? ? ? ? ? ? ? ? ? ? ? 安裝pv工具包

塊設(shè)備---pvcreate--->Physical Volumes--->vgcreate--->Volume Group--->lvcreate--->Logical volumes

[root@zhao ~]# pvcreate /dev/sd{b1,c}? ? ? ? ? ? 進行初始化? ? ? ? ??

[root@zhao ~]# pvs

[root@zhao ~]# vgcreate -s 16M testvg /dev/sd{b1,c}? ? ? ? ? ? ? ? 創(chuàng)建lvm卷組

[root@zhao ~]# lvcreate -n mysql_lv -L 6G testvg? ?? ? ? ? ? 創(chuàng)建邏輯卷??

[root@zhao ~]# lvcreate -n log_lv -L 9G testvg

[root@zhao ~]# mkfs.ext4 /dev/testvg/mysql_lv? ? ? 創(chuàng)建文件系統(tǒng)

[root@zhao ~]# mkfs.xfs /dev/testvg/log_lv

[root@zhao ~]# blkid? ? 查看UUID

[root@zhao ~]# vim /etc/fstab? ? ?寫入文件里永久生效

UUID=3c55b3ac-db2f-4775-b83a-8cdaefec900b /mysql ext4 defaults 0 0

UUID=61eec578-4533-476f-aba5-55d50854c0b8? /logs? ? ? ? xfs? ? defaults? ? ? ? 0 0

:wq

[root@zhao ~]# mount -a? ? ?掛載生效

擴容:[root@zhao ~]# lvextend -l +100%free /dev/testvg/mysql_lv?? ? ? ? ? ? ? ??

新加的由于缺少文件系統(tǒng)未識別出來

[root@zhao ~]# resize2fs /dev/testvg/mysql_lv? ? ? ? ?針對ext4文件系統(tǒng)的同步

[root@zhao ~]# xfs_growfs /dev/testvg/mysql_lv? ? ? ? ? 針對xfs文件系統(tǒng)的同步

或者擴容時候加選項

[root@zhao ~]# lvextend -r -l +100%free /dev/testvg/mysql_lv

縮容有風險,建議先備份,而且只能離線縮容,需要提前取消掛載,只支持ext4,不支持xfs(分5步)

1.取消掛載[root@zhao ~]# umount /mysql

2.檢查[root@zhao ~]# fsck -f /dev/test_lv/mysql_lv

3.縮減到4G[root@zhao ~]# resize2fs /dev/test_lv/mysql_lv 4G

4.縮減邏輯卷[root@zhao ~]# lvreduce -L 4G /dev/test_lv/mysql_lv

5.重新掛載[root@zhao ~]# mount -a

如果重新掛載失敗,可以嘗試修復

[root@zhao ~]# fsck /dev/mapper/test_lv-mysql_lv

還找不回來只能格式化了

[root@zhao ~]# mkfs.ext4 /dev/mapper/test_lv-mysql_lv

3. 總結(jié)程序包管理器有哪些,以及包中包含什么內(nèi)容的文件,嘗試這些文件如何獲取命令獲?。?yum/dnf/apt總結(jié)程序包獲取途徑,以及rpm, yum, apt命令選項示例。

主流的程序包管理器

·? ? redhat:rpm文件,rpm包管理器,

·? ??debian:deb文件,dpkg包管理器

程序包管理器相關(guān)文件

·? ? 元數(shù)據(jù),如包的名稱,版本,依賴性,描述等

·?????可能會有包安裝或卸載是運行的腳步

·?????程序包名稱及版本

·?????依賴關(guān)系

·?????功能說明

·?????包安裝后生成的各文件路徑及校驗碼信息

獲取程序包的途徑

·?? ? 系統(tǒng)發(fā)版的光盤或官網(wǎng)

CentOS鏡像:

https://mirrors.aliyun.com

http://www.centos.org/download/

https://mirrors.huaweicloud.com/

https://mirror.tuna.tsinghua.edu.cn/

http://mirrors.sohu.com

http://mirrors.163.com

Ubuntu鏡像:

http://cdimage.ubuntu.com/releases/

http://releases.ubuntu.com

·?? ? ?第三方組織提供

Fedora-EPEL:

https://fedoraproject.org/wiki/EPEL

https://mirrors.aliyun.com/epel/

https://mirrors.cloud.tencent.com/epel/

SCL:

https://wiki.centos.org/SpecialInterestGroup/SCLo

·?? ? ?軟件項目官方站點

http://yum.mariadb.org/10.4/centos8-amd64/rpms/

http://repo.mysql.com/yum/mysql-8.0-community/el/8/x86_64/

·?? ? ?搜索引擎

http://pkgs.org

http://rpmfind.net

http://rpm.pbone.net

https://sourceforge.net/

·?? ? ?自己制作

將源碼文件,利用工具,如:rpmbuild,fpm等工具制作成rpm包文件

rpm選項示例:

-a, --all query/verify all packages

? -f, --file? ? ? ? ? ? ? ? ? ? ? ? query/verify package(s) owning file

? -g, --group? ? ? ? ? ? ? ? ? ? ? ? query/verify package(s) in group

? -p, --package? ? ? ? ? ? ? ? ? ? ? query/verify a package file

yum選項示例

-c [config file], --config [config file]

? ? ? ? ? ? ? ? ? ? ? ? config file location

? -q, --quiet? ? ? ? ? quiet operation

? -v, --verbose? ? ? ? verbose operation

? --version? ? ? ? ? ? show YUM version and exit

? --installroot [path]? set install root

yum install remove repolist list search provides history clean all

apt選項示例:

list - list packages based on package names

? search - search in package descriptions

? show - show package details

? install - install packages

? reinstall - reinstall packages

? remove - remove packages

? autoremove - Remove automatically all unused packages

? update - update list of available packages

? upgrade - upgrade the system by installing/upgrading packages

? full-upgrade - upgrade the system by removing/installing/upgrading packages

? edit-sources - edit the source information file

? satisfy - satisfy dependency strings

4. 簡要總結(jié)yum/dnf工作原理。并搭建私有yum倉庫(base, epel源)給另一個虛擬機使用。

工作原理:先在yum服務(wù)器上創(chuàng)建yum repository(倉庫),在倉庫中事先存儲了眾多rpm包,以及包的相關(guān)元數(shù)據(jù)文件(放置于特定目錄repodata下),當yum客戶端利用yum、dnf工具進行安裝包時,會自動下載repodata中的元數(shù)據(jù),查詢元數(shù)據(jù)是否存在相關(guān)的包及依賴關(guān)系,自動從倉庫中找到相關(guān)包下載并安裝

搭建私有yum倉庫

利用服務(wù)器自身的cd下yum源文件作為服務(wù)器的base源

[root@rocky8 ~]# yum -y install autofs

[root@rocky8 ~]# systemctl enable --now autofs

[root@rocky8 ~]# ls /misc/cd

[root@rocky8 ~]# yum -y install httpd

[root@rocky8 ~]# systemctl enable --now httpd

[root@rocky8 ~]# mkdir /var/www/html/rocky/8 -pv

[root@rocky8 ~]# cp -a /misc/cd/BaseOS /var/www/html/rocky/8/

[root@rocky8 ~]# cp -R /misc/cd/AppStream /var/www/html/rocky/8/

http://10.0.0.8/rocky/8/? ? ?發(fā)現(xiàn)已經(jīng)可以打開yum源倉庫

下載阿里云的extras源,制作私有yum源

[root@rocky8 ~]# dnf reposync --repoid=extras --download-metadata -p /var/www/html/

客戶端配置

[root@rocky8-1 ~]# cd /etc/yum.repos.d/

[root@rocky8-1 yum.repos.d]# rename .repo .repo.bak *.repo? ? ? ? ? 備份

[root@rocky8-1 yum.repos.d]# vim test.repo

客戶端配置
可以正常用yum安裝源了

5. 總結(jié)系統(tǒng)安裝之后的常用初始化步驟。rocky/ubuntu

rocky初始化:

關(guān)閉防火墻

systemctl disable --now firewalld

關(guān)閉selinux

sed -i.bak '/SELINUX=enforciing/c SELINUX=disabled' /etc/sysconfig/selinux

鏡像源指向阿里

sed -e 's|^mirrorlist=|#mirrorlist=|g' \

? ? -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g' \

? ? -i.bak \

? ? /etc/yum.repos.d/Rocky-*.repo

dnf makecache

設(shè)置時區(qū)

timedatectl set-timezone Asia/Shanghai

安裝常用包

yum -y install bash-completion psmisc lrzsz? tree man-pages redhat-lsb-core zip unzip bzip2 wget tcpdump ftp rsync vim lsof tmux? strace

yum install epel-release.noarch -y

yum install screen -y?

修改網(wǎng)卡名eth0,并設(shè)置靜態(tài)IP

mv /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-eth0

[root@rocky8-1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0? <<EOF

> BOOTPROTO=static

> ONBOOT=yes

> IPADDR=10.0.0.8

> PREFIX=24

> GATEWAY=10.0.0.2

> DNS1=180.76.76.76

> DNS2=114.114.114.114

> EOF

sed -r -i.bak 's/^(GRUB_CMDLINE_LINUX=.*)"$/\1 net.ifnames=0"/' /etc/default/grub

grub2-mkconfig -o /etc/grub2.cfg ;reboot

6. 解讀一鍵安裝httpd腳本,并自行實現(xiàn)一個一鍵安裝腳本,要求

1)基于位置變量傳遞版本號

2)基于獨立函數(shù)進行初始化步驟,禁用防火墻,安裝開發(fā)依賴包。

3)基于獨立函數(shù)進行下載包,解壓包。

4)基于獨立函數(shù)進行編譯,安裝包。

5)基于獨立函數(shù)完成鏈接包。

6)啟動服務(wù),并輸出自定義的語句,安裝xxx服務(wù)

#!/bin/bash

. /etc/os-release

NGINX_VERSION=$1

INSTALL_DIR=/apps/nginx

wget_gz(){

? ? wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz || { echo "下載失敗!";exit 20;? }

? ? tar xf nginx-${NGINX_VERSION}.tar.gz -C /usr/local/src

}

initialization(){

? ? if [ $NAME -ne Rocky Linux ];then

? ? echo "不支持的操作系統(tǒng)"

? else

? systemctl disabled --now firewalld

? yum -y install gcc openssl-devel pcre-devel

fi

}

make_install(){

cd /usr/local/src/nginx-${NGINX_VERSION}

./configure --prefix=${INSTALL_DIR} --with-http_ssl_module

make -j `grep -c processor /proc/cpuinfo`&& make install

if [ $? -ne 0 ];then

? ? echo Install nginx is failed!

? ? exit 10

else

? ? echo "Install nginx is finished!"

fi

}

wget_gz

initialization

make_install

/apps/nginx/sbin/nginx

echo "<h1>welcome to N89 nginx website </h1>" > ${INSTALL_DIR}/html/index.html

7. 總結(jié)開放系統(tǒng)互聯(lián)OSI模型,每層作用及對應(yīng)的協(xié)議。

物理層:在局部局域網(wǎng)上傳送數(shù)據(jù)幀(Data Frame),它負責管理電腦通信設(shè)備和網(wǎng)絡(luò)媒體之間的互通。包括了針腳、電壓、線纜規(guī)范、集線器、中繼器、主機接口卡等

數(shù)據(jù)鏈路層:負責網(wǎng)絡(luò)尋址、錯誤偵測和改錯。以太網(wǎng)、無線局域網(wǎng)和通用分組無線服務(wù)等,分為兩個子層:邏輯鏈路控制子層和介質(zhì)訪問控制子層

網(wǎng)絡(luò)層:決定數(shù)據(jù)的路徑選擇和轉(zhuǎn)寄,將網(wǎng)絡(luò)表頭加至數(shù)據(jù)包,以形成報文,網(wǎng)絡(luò)表頭包含了網(wǎng)絡(luò)數(shù)據(jù)。例如:互聯(lián)網(wǎng)協(xié)議IP等

傳輸層:把傳輸表頭加至數(shù)據(jù)以形成數(shù)據(jù)包。傳輸表頭包含了所使用的協(xié)議等發(fā)送信息。例如:傳輸控制協(xié)議TCP等

會話層:負責在數(shù)據(jù)傳輸中設(shè)置和維護電腦網(wǎng)絡(luò)中兩臺電腦之間的通信

表示層:把數(shù)據(jù)轉(zhuǎn)換為能與接收者的系統(tǒng)格式兼容并適合傳輸?shù)母袷?/b>

應(yīng)用層:提供為應(yīng)用軟件而設(shè)的接口,以設(shè)置與另一應(yīng)用軟件之間的通信。例如:http、https、ftp、telnet、ssh、smtp、pop3、MySQL等

8. 調(diào)整動態(tài)端口范圍為20000-60000

echo 20000 60000 > /proc/sys/net/ipv4/ip_local_port_range?

9. 總結(jié)TCP包頭結(jié)構(gòu),TCP三次握手,4次揮手。

TCP包頭結(jié)構(gòu):源、目標端口;序列號;確認號;數(shù)據(jù)偏移;URG;ACK;PSH;RST;SYN;FIN;窗口大小;校驗和;緊急指針;選項部分

TCP三次握手

第一次握手:客戶端向服務(wù)端發(fā)送同步報文,進入SYN-SENT狀態(tài);

第二次握手:服務(wù)端收到連接請求報文段后,會將連接放入半連接隊列中,并向客戶端發(fā)送同步確認報文,進入SYN-RECEIVED狀態(tài);

第三次握手:客戶端收到應(yīng)答,向服務(wù)端發(fā)送確認報文,進入ESTABLISHED狀態(tài),此時成功建立連接。

四次揮手

第一次揮手:客戶端數(shù)據(jù)發(fā)送完畢,向服務(wù)端發(fā)送終止報文請求釋放連接;

第二次揮手:服務(wù)器收到連接釋放請求,告訴應(yīng)用層釋放TCP連接。然后發(fā)送確認報文,進入CLOSE-WAIT狀態(tài),此時表明客戶端到服務(wù)端的連接已經(jīng)釋放,不再接受客戶端的數(shù)據(jù)。但是因為TCP是全雙工的,所以服務(wù)器仍可以發(fā)送數(shù)據(jù);

第三次揮手:當服務(wù)端數(shù)據(jù)發(fā)送完畢,向客戶端發(fā)送終止報文,發(fā)送連接釋放請求,進入LAST-ACK狀態(tài);

第四次揮手:客戶端收到連接釋放請求,向服務(wù)器端發(fā)送確認報文,此時客戶端進入TIME-WAIT狀態(tài),會等待2MSL,若期間沒有收到服務(wù)器端的數(shù)據(jù)報文,進入CLOSED狀態(tài)。服務(wù)器端在收到確認應(yīng)答后也進入CLOSED狀態(tài)。

10. 總結(jié)主機到主機的包傳遞過程。

主機A與主機B通信,A Ping B,圖:A-交換機-B,AB同一子網(wǎng)

(1)ping數(shù)據(jù)包用的是ICMP協(xié)議,IP協(xié)議的一個子協(xié)議,位于三層,包含A的IP,B的IP,三層進行IP封裝成包,進入二層

(2)A,B處于相同子網(wǎng),查看緩存中對與目的對應(yīng)得B第2層mac地址,如果存在,直接進行第2層封裝成幀,經(jīng)物理層信號編碼,以0101010010這樣的bits流傳輸在網(wǎng)絡(luò)介質(zhì)上。

(3)如果不存在B的MAC,則發(fā)送ARP廣播請求B的MAC,ARP數(shù)據(jù)包經(jīng)物理層進入交換機端口,需要進行源端口號學習,目的端口查找,B響應(yīng)ARP請求,交換機又可以學習一目的MAC地址與哪個端口對應(yīng),在下次傳送數(shù)據(jù)時就不再需要對所有端口進行廣播了。B通過ARP單播把B的MAC響應(yīng)給A,此時再返回(2)的處理過程。

(4)當再進行A與B之間數(shù)據(jù)包轉(zhuǎn)發(fā),將直接用B的MAC地址封裝,數(shù)據(jù)轉(zhuǎn)發(fā)得以高速交換

主機A與主機C通信,A Ping C,圖:A-交換機-路由器M-路由器N-交換機-C,AC不同子網(wǎng)

(1)兩個機器不在同一子網(wǎng)內(nèi),A要與目的C通信,A要向“缺省網(wǎng)關(guān)”發(fā)出ARP包,而“缺省網(wǎng)關(guān)”的IP地址已經(jīng)在A系統(tǒng)軟件中設(shè)置。這個IP地址實際上對應(yīng)路由器M的E0的IP地址。所以A對“缺省網(wǎng)關(guān)”的IP地址廣播出一個ARP請求時,路由器M的E0口的MAC回復給A,此時A數(shù)據(jù)包的目的MAC替換為M的E0口MAC。

(2)MAC替換后,經(jīng)物理層,傳輸?shù)浇粨Q機物理層,再傳到交換機數(shù)據(jù)鏈路層,再經(jīng)數(shù)據(jù)數(shù)據(jù)鏈路層到物理層。

(3)經(jīng)bit流傳到路由器M的物理層,然后傳到數(shù)據(jù)鏈路層,二層解封裝,目的IP與路由器M三層IP路由表比較,若匹配正確,交給上層處理,否則會緩存數(shù)據(jù)包內(nèi)容,然后根據(jù)目標地址查找路由表找到相關(guān)表項,得到NEXT HOP及出接口的MAC地址,用這兩個地址作為新的目的及源MAC地址封裝事先緩存的數(shù)據(jù)包,然后轉(zhuǎn)發(fā),這個過程稱為幀的重寫(REWRITE)。

(4)重復進行MAC替換后, 在路由器N中,找到與目的IP匹配表項,若N中存在C對應(yīng)的MAC表項,則數(shù)據(jù)傳輸?shù)紺網(wǎng)絡(luò)層,否則N發(fā)送ARP廣播請求C的MAC。

(5)當C收到A的數(shù)據(jù)包后,再從A到C進行一次反向MAC替換過程。反向過程中,每一步省略掉ARP請求NEXT HOP的MAC,因為MAC表已經(jīng)建立起來。

IP報文傳輸過程包括:

1. Host sends packet to default gateway(主機將數(shù)據(jù)包發(fā)送到默認網(wǎng)關(guān))

2. Packet placed in frame(數(shù)據(jù)包被封裝入幀)

3. Router receives frame(路由器接到幀)

4. Router finds destination network in route table(路由器在路由表中發(fā)現(xiàn)目標網(wǎng)絡(luò))

5. Router chooses next hop toward destination(路由器選擇一個更接近目標的下一跳)

6. MAC address of next hop determined(下一跳的MAC地址被確定)

7. Packet placed in frame(數(shù)據(jù)包被封裝入幀)

8. Repeats steps 2 through 7 as necessary(如果需要的話,重復步驟2~7)

9. Router receives frame(路由器接到幀)

10. Router finds network directly connected(路由器發(fā)現(xiàn)直連網(wǎng)絡(luò))

11. MAC address of end host determined(最終主機的MAC地址被確定)

12. Packet placed in frame to final destination(幀中的數(shù)據(jù)包被發(fā)送到最終主機)

11. 總結(jié)IP地址 A, B, C, D 類,并解析IP地址的組成

A類地址:網(wǎng)絡(luò)ID位是高8位,主機ID是低24位;網(wǎng)絡(luò)數(shù)量:2^7-2=126;每個網(wǎng)絡(luò)中主機數(shù):2^24-2=16777214;默認子網(wǎng)掩碼:255.0.0.0;私網(wǎng)地址:10.0.0.0

B類地址:網(wǎng)絡(luò)ID位是高16位,主機ID是低16位;網(wǎng)絡(luò)數(shù)量:2^14=16384;每個網(wǎng)絡(luò)中的主機數(shù):2^16-2=65534;默認子網(wǎng)掩碼:255.255.0.0;私網(wǎng)地址:172.16.0.0-172.31.0.0

C類地址:網(wǎng)絡(luò)ID位是高24位,主機ID是低8位;網(wǎng)絡(luò)數(shù)量:2^21=2097152;每個網(wǎng)絡(luò)中的主機數(shù)2^8-2=254;默認子網(wǎng)掩碼:255.255.255.0;私網(wǎng)地址:192.168.0.0-192.168.255.0

D類地址:組播

IP地址組成

IP地址由兩部分組成,網(wǎng)絡(luò)ID(標識網(wǎng)絡(luò),每個網(wǎng)段分配一個網(wǎng)絡(luò)ID,處于高位)和主機ID(標識單個主機,由組織分配給各設(shè)備,處于低位)

12. 201.222.200.111/18計算主機數(shù)?子網(wǎng)掩碼?說明計算方法。

主機數(shù):2^(32-18)-2=16382

子網(wǎng)掩碼:255.255.192.0? ? ? ? ? ? ? ? ? (計算方法:16位子網(wǎng)掩碼是255.255.0.0,18位比16位高2位,即子網(wǎng)掩碼第三位是128+64=192)

13. 當A(10.0.1.1/16)與B(10.0.2.2/24)通信,A如何判斷是否在同一個網(wǎng)段?A和B能否通信?

A(10.0.1.1/16)的全部地址是10.0.0.0----->10.0.255.255,由于B(10.0.2.2/24)包含在A的全部地址內(nèi),因此A認為B在同一個網(wǎng)段

A認為B在同一個網(wǎng)段,所以A可以發(fā)送報文給B,但是B的子網(wǎng)是24位,與B通信只可能是10.0.2.0-10.0.2.255,不包含A,所有B不會應(yīng)答,因此A和B不能通信

14. 如何將10.0.0.0/8劃分32個子網(wǎng)?

求每個子網(wǎng)的掩碼,主機數(shù)。

因為10.0.0.0/8是B類地址,劃分32個子網(wǎng),只需要將10.0.0.0/8的256個B除以32即可,則用256/32=8

每個子網(wǎng)的掩碼255.248.0.0? ? 即13位掩碼? 主機數(shù):2^(32-13)-2=524286

10 0 0 0 ---> 10 7 255 255

10 8 0 0 ---> 10 15 255 255

10 16 0 0 ---> 10 23 255 255

10 24 0 0 ---> 10 31 255 255

10 32 0 0 ---> 10 39 255 255

10 40 0 0 ---> 10 47 255 255

10 48 0 0 ---> 10 55 255 255

10 56 0 0 ---> 10 63 255 255

10 64 0 0 ---> 10 71 255 255

10 72 0 0 ---> 10 79 255 255

10 80 0 0 ---> 10 87 255 255

10 88 0 0 ---> 10 95 255 255

10 96 0 0 ---> 10 103 255 255

10 104 0 0 ---> 10 111 255 255

10 112 0 0 ---> 10 119 255 255

10 120 0 0 ---> 10 127 255 255

10 128 0 0 ---> 10 135 255 255

10 136 0 0 ---> 10 143 255 255

10 144 0 0 ---> 10 151 255 255

10 152 0 0 ---> 10 159 255 255

10 160 0 0 ---> 10 167 255 255

10 168 0 0 ---> 10 175 255 255

10 176 0 0 ---> 10 183 255 255

10 184 0 0 ---> 10 191 255 255

10 192 0 0 ---> 10 199 255 255

10 200 0 0 ---> 10 207 255 255

10 208 0 0 ---> 10 215 255 255

10 216 0 0 ---> 10 223 255 255

10 224 0 0 ---> 10 231 255 255

10 232 0 0 ---> 10 239 255 255

10 240 0 0 ---> 10 247 255 255

10 248 0 0 ---> 10 255 255 255

15. 通過網(wǎng)絡(luò)配置命令,讓主機可以上網(wǎng)。 ip, netmask, gateway, dns,主機名。相關(guān)命令總結(jié),最終可以通過這些配置讓你的主機上網(wǎng)。

[root@rocky8-1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0? <<EOF

> BOOTPROTO=static

> ONBOOT=yes

> IPADDR=10.0.0.8

> PREFIX=24

> GATEWAY=10.0.0.2

> DNS1=180.76.76.76

> DNS2=114.114.114.114

> EOF

sed -r -i.bak 's/^(GRUB_CMDLINE_LINUX=.*)"$/\1 net.ifnames=0"/' /etc/default/grub

grub2-mkconfig -o /etc/grub2.cfg ;reboot

16. 解析/etc/sysconfig/network-scripts/ifcfg-eth0配置格式。

DEVICE=eth0? ? ? ? ? ? ? ? 設(shè)備eth0

NAME=eth0? ? ? ? ? ? ? ? ? ? 網(wǎng)卡名字為eth0

IPADDR=10.0.0.8? ? ? ? ? ? IP地址

PREFIX=24? ? ? ? ? ? ? ? ? ? ? ? 子網(wǎng)掩碼24位

GATEWAY=10.0.0.2? ? ? ? ? ? 網(wǎng)關(guān)10.0.0.2

DNS1=180.76.76.76? ? ? ? ? ? 主用DNS配置

DNS2=114.114.114.114? ? ? ? 備用DNS配置

17. 基于配置文件或命令完成bond0配置

[root@rocky8 ~]# vim /etc/sysconfig/network-scripts/ifcfg-bond0

NAME=bond0

TYPE=bond

DEVICE=bond0

BOOTPROTO=none

IPADDR=10.0.0.130

PREFIX=24

BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"

[root@rocky8 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1

NAME=eth1

DEVICE=eth1

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

ONBOOT=yes

[root@rocky8 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth2

NAME=eth2

DEVICE=eth2

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

ONBOOT=yes

18. 通過ifconfig命令結(jié)果找到ip地址.

首先安裝ifconfig命令相關(guān)包net-tools

[root@rocky8 ~]# yum -y install net-tools

[root@rocky8 ~]# ifconfig eth0 | grep netmask | awk '{ print $2 }'

19. ?使用腳本判斷 你主機所在網(wǎng)絡(luò)內(nèi)在線的主機IP有哪些? ping通則在線。

#!/bin/bash

net=10.0.0

? ? for i in {1..254};do

? ? {

? ? ping -c1 -W1 $net.$i &> /dev/null && echo "$net.$i is up" || echo "$net.$i is down"

? ? ? ? ? ? }&

? ? done

? ? wait

掃描主機所在網(wǎng)段內(nèi)的主機IP

. /etc/os-release

NGINX_VERSION=$1

INSTALL_DIR=/apps/nginx

wget_gz(){

? ? wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz || { echo "下載失敗!";exit 20;? }

? ? tar xf nginx-${NGINX_VERSION}.tar.gz -C /usr/local/src

}

initialization(){

? ? if [ $NAME -ne Rocky Linux ];then

? ? echo "不支持的操作系統(tǒng)"

? else

? systemctl disabled --now firewalld

? yum -y install gcc openssl-devel pcre-devel

fi

}

make_install(){

cd /usr/local/src/nginx-${NGINX_VERSION}

./configure --prefix=${INSTALL_DIR} --with-http_ssl_module

make -j `grep -c processor /proc/cpuinfo`&& make install

if [ $? -ne 0 ];then

? ? echo Install nginx is failed!

? ? exit 10

else

? ? echo "Install nginx is finished!"

fi

}

wget_gz

initialization

make_install

/apps/nginx/sbin/nginx

echo "<h1>welcome to N89 nginx website </h1>" > ${INSTALL_DIR}/html/index.html

#!/bin/bash

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容