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

[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


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


. /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