DAY27
一、知識(shí)點(diǎn)回顧
1盔几、網(wǎng)絡(luò)晴弃?
? 1、 傳輸介質(zhì)
? 2、 硬件
2上鞠、兩臺(tái)主機(jī)之間進(jìn)行通信际邻?
3、交換網(wǎng)絡(luò)(局域網(wǎng)內(nèi) 多臺(tái)計(jì)算機(jī)之間通訊)
? 交換機(jī)的原理(2層網(wǎng)絡(luò)? 數(shù)據(jù)鏈路層? MAC---->表)
? ? ? ? |----->主機(jī)-----MAC地址
? 廣播風(fēng)暴的問題
? ? ? |--->降低 減輕?
? 1芍阎、路由器的概念? ?
? 2世曾、子網(wǎng)掩碼(劃分)
? ? 交換網(wǎng)絡(luò)中的數(shù)據(jù)格式
? ? 源信息(MAC地址)+目地信息(MAC地址)+數(shù)據(jù)內(nèi)容 = 數(shù)據(jù)格式
? ARP?
4、局域網(wǎng)和局域網(wǎng)之間計(jì)算機(jī)之間的通訊(路由器? 3級(jí)網(wǎng)絡(luò)設(shè)備)
? 路由器的概念
? 路由器的工作原理
? ? ? ? |---->主機(jī) ----IP地址
? 路由表
? ? ? ? |---->靜態(tài)? 優(yōu)點(diǎn)? ? 大型? 快? ? 專業(yè)人士
? ? ? ? |---->動(dòng)態(tài)? 優(yōu)點(diǎn) 小型? 慢? ? 一般
5谴咸、TCP/IP協(xié)議名詞解釋
? IP協(xié)議
? TCP協(xié)議
? UDP協(xié)議
? ICMP協(xié)議
? DNS協(xié)議
? ARP協(xié)議
6轮听、OSI和TCP/IP模型
? ? 7層? ? 5(4)層
7.TCP/IP協(xié)議名詞解釋
? TCP/IP協(xié)議的報(bào)文格式
? TCP/IP協(xié)議的C/S 建立連接 3次握手的過程
? TCP/IP協(xié)議的C/S 斷開連接 4次揮手的過程
? TCP/IP協(xié)議的C/S 建立連接 3次握手的過程 狀態(tài)轉(zhuǎn)換
? TCP/IP協(xié)議的C/S 斷開連接 4次揮手的過程 狀態(tài)轉(zhuǎn)換
8、IP地址
? 分類? A B C? D? E
? ? ? C類? 面試? C類地址? ? 192.168.0.x? x主機(jī)位
? D類? 組播
? 特殊的IP地址
? 0.0.0.0? 沒有意思
? 192.168.0.0 沒有? -1?
? 192.168.0.255 廣播地址 -1
? 192.168.0.254 網(wǎng)關(guān)地址 -1
? (網(wǎng)關(guān)地址 有可能是192.168.0.1 也有 192.168.0.254)
? 127.0.0.1
? 等
9.子網(wǎng)掩碼
? 255.255.255.0? C類
? 255.255.0.0?
? 255.0.0.0?
10岭佳、網(wǎng)絡(luò)劃分
? 1.C類網(wǎng)絡(luò)中? 192.168.0.100? 50臺(tái)主機(jī) 劃分網(wǎng)絡(luò) 計(jì)算子網(wǎng)掩碼血巍。 2^n-3 公式
二、靜態(tài)路由項(xiàng)目
1珊随、網(wǎng)絡(luò)中比較重要的協(xié)議
? 1述寡、DNS 域名解析協(xié)議
? ? ? ARP? 交換機(jī)? 主機(jī)-----MAC地址
? ? ? 路由器? 主機(jī)-----IP地址
? DNS域名 域名-----IP地址
? 2、47.75.85.161 域名
? ? ? www. baidu.com
? 3叶洞、購(gòu)買自己的一個(gè)域名
? ? ? 區(qū)塊鏈公司? 買域名? BTCVC? ZB.COM? ?
? 根域名服務(wù)器? 大多是在國(guó)外? 美國(guó)居多? 日本 英國(guó)等? 13臺(tái)
? 頂級(jí)域名服務(wù)器?
? ? ? com? ? ? ? ? ? cn? ? ? ? ? org? ? edu? 等
? 公司商業(yè)組織? ? 地區(qū)中國(guó)? ?
? 萬(wàn)網(wǎng)
? ? ? .vip
? bj_liyanliang@163.com
? ? ? 阿里云為例
? ? ? A記錄? WWW 網(wǎng)站? www.baidu.com? 記錄值? IP地址? 47.75.80.160?
? ? ? DNS優(yōu)化? 阿里云加速
? ? ? ? ? ? ? 百度云加速? css? js? html 預(yù)加載到服務(wù)器上 CDN 加速
2鲫凶、企業(yè)真實(shí)的需求
? 1、HOSTS文件
? 2衩辟、內(nèi)網(wǎng)DNS服務(wù)器
? ? ? Linux服務(wù)器 DNS
? ? ? 1螟炫、本地服務(wù)器解析 www.baidu.com
? 2、轉(zhuǎn)發(fā)器
? ? ? |----->主路由---->DNS---->公網(wǎng)IP DNS---->域名? 實(shí)現(xiàn)外網(wǎng)的訪問艺晴。
? Windows Server 2008R2
3昼钻、常見的網(wǎng)絡(luò)命令
3.1 ping 命令
? ? ping 域名 DNS問題
? ping www.baidu.com? 無(wú)應(yīng)答 DNS沒有配置? DNS有問題
ping 公網(wǎng)IP? ?
? ? 47.75.80.160
ping? 網(wǎng)關(guān)
? 192.168.1.1
3.2 iftop監(jiān)控網(wǎng)絡(luò)流量用的
? ? Linux服務(wù)器下用的 第三方的命令
yum install iftop -y
4、企業(yè)網(wǎng)絡(luò)出現(xiàn)問題的排查流程
? 第一步 檢查硬件? 網(wǎng)卡(燈)? 網(wǎng)線(水晶頭)_路由器(WAN LAN) 交換機(jī)
? ? ? ? ? 交換法
? ? |--->網(wǎng)線
? ? 網(wǎng)卡
? 第二步 Ping 網(wǎng)關(guān)(路由)
? 第三步 公網(wǎng)IP?
? 第四步 DNS
? 第五步 Ping 自己服務(wù)器地址
5财饥、靜態(tài)路由項(xiàng)目
? 1换吧、準(zhǔn)備3臺(tái)虛擬機(jī)
? ? 第一臺(tái)一塊網(wǎng)卡? 10.0.0.11
第二臺(tái)二塊網(wǎng)卡? 10.0.0.12? 192.168.0.12
第三臺(tái)一塊網(wǎng)卡? 192.168.0.13
? 2、在第一臺(tái)主機(jī)
? ? 從主機(jī)一10.0.0.11----->主機(jī)2---->192.168.0.12
跨網(wǎng)段訪問
2.1 不認(rèn)識(shí)
? ? 添加一條靜態(tài)的路由信息
route add -net 192.168.0.0/24 gw 10.0.0.12
route -n 查看路由表
ping 192.168.0.12 通了
? ? 2.2 看看192.168.0.13能不能通
? ? 10.0.0.11需要 10.0.0.12轉(zhuǎn)發(fā)
192.168.0.13 需要 192.168.0.12進(jìn)行轉(zhuǎn)發(fā)
192.168.0.12
10.0.0.12? ? 主機(jī)2? 信息跟主機(jī)2沒關(guān)系
echo “net.ipv4.ip_forward=1”>>/etc/sysctl.conf
sysctl -p
DAY28
1钥星、為什么要學(xué)習(xí)Shell編程沾瓦?
Linux系統(tǒng)中會(huì)大量的使用Shell,工作中我們也需要自動(dòng)化實(shí)現(xiàn)業(yè)務(wù)谦炒,
例如:自動(dòng)備份贯莺、監(jiān)控、自動(dòng)安裝服務(wù)宁改。
Shell編程是Linux運(yùn)維人員必須要會(huì)的編程語(yǔ)言缕探。最簡(jiǎn)單的編程語(yǔ)言。
編程也是運(yùn)維人員必須具備的本領(lǐng):
Shell还蹲、Python是運(yùn)維人員必須具備的本領(lǐng)
2爹耗、什么是Shell耙考?
Shell就是一個(gè)命令解釋器(翻譯官),命令行的命令以及腳本都會(huì)通過shell解釋潭兽,
傳給操作系統(tǒng)倦始,處理后在輸出給用戶。
[root@oldboyedu ~]# tail -1 /etc/passwd
oldgirl1:x:8889:8889::/home/oldgirl1:/bin/bash #<==創(chuàng)建用戶時(shí)山卦,系統(tǒng)指定的翻譯官鞋邑。
3、Shell的分類
1. Bourne shell
Bourne shell又包括Bourne shell (sh)账蓉、Korn shell (ksh)枚碗、Bourne Again Shell(bash)三種類型。
2. C shell
C shell又包括csh铸本、tcsh兩種類型肮雨。
C7支持的shell:
[root@oldboyedu ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/sh是bash的軟連接
4、C7:默認(rèn)Shell
[root@oldboyedu ~]# echo $SHELL
/bin/bash
5归敬、什么是Shell腳本酷含?
程序、命令放入文件里執(zhí)行汪茧,這個(gè)文件稱之為Shell腳本文件。
工作中最多的編程寫腳本限番,存放在文件里泵额。
6惕它、Shell變量:
? a.全局變量(環(huán)境變量)
? 在整個(gè)系統(tǒng)中生效、一般是大寫、系統(tǒng)中默認(rèn)就
? 存在一些這樣的變量岂昭,滿足系統(tǒng)和程序運(yùn)行的需求。
系統(tǒng)自帶的環(huán)境變量;
[root@oldboyedu ~]# echo $PS1
[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\]\[\e[31;1m\] \w\[\e[0m\]]\$
[root@oldboyedu ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@oldboyedu ~]# echo $HOME
/root
[root@oldboyedu ~]# echo $SHELL
/bin/bash
[root@oldboyedu ~]# echo $UID
0
自定義環(huán)境變量:
方法1
export OLDBOY="I am oldboy."
方法2:
OLDBOY="I am oldboy."
export OLDBOY
[root@oldboyedu ~]# export OLDBOY="I am oldboy."
[root@oldboyedu ~]# echo $OLDBOY
I am oldboy.
/etc/profile==>~/.bash_profile===>~/.bashrc===>/etc/bashrc
老男孩推薦以后把環(huán)境變量放入/etc/bashrc
[root@oldboyedu ~]# tail -1 /etc/bashrc
export OLDBOY="I am oldboy."
[root@oldboyedu ~]# . /etc/bashrc
[root@oldboyedu ~]# echo $OLDBOY #<==輸出一個(gè)變量?jī)?nèi)容就加$變量名
I am oldboy.
安裝java服務(wù)的時(shí)候就會(huì)配置環(huán)境變量喧半。
b.局部變量(普通變量)
是編寫Shell腳本最常用的變量食店。
變量名=值
a=1
變量名:數(shù)字、字母颖对、下劃線捻撑,不能是數(shù)字開頭。
? ? ? oldboy缤底、 123a顾患、_abc
= 等號(hào):賦值符,把什么東西給誰(shuí)个唧。賦值符號(hào)兩邊不能有空格江解。
值:東西,變量?jī)?nèi)容徙歼。
? ? 引用內(nèi)容的符號(hào):?jiǎn)我?hào)犁河、雙引號(hào)鳖枕、反引號(hào)、不加引號(hào)
[root@oldboyedu ~]# a=1
[root@oldboyedu ~]# echo $a
1
[root@oldboyedu ~]# y=$x+1
[root@oldboyedu ~]# echo $y
1+1
[root@oldboyedu ~]# y="$x+1"
[root@oldboyedu ~]# echo $y
1+1
[root@oldboyedu ~]# y='$x+1'
[root@oldboyedu ~]# echo $y
$x+1
[root@oldboyedu ~]# y=`$x+1`
-bash: 1+1: command not found
[root@oldboyedu ~]# let y="$x+1"? #<==讓括號(hào)的內(nèi)容進(jìn)行計(jì)算桨螺。
[root@oldboyedu ~]# echo $y
2
[root@oldboyedu ~]# a=1
[root@oldboyedu ~]# echo ${a}b
1b
《九陰九陽(yáng)》是金庸新著 和金庸屁關(guān)系沒有耕魄。
{金庸新}著
7、表達(dá)式
[ 表達(dá)式 ]中括號(hào)表達(dá)式彭谁,中括號(hào)里面兩端必須要有空格吸奴。
字符串要加雙引號(hào)
[root@oldboyedu ~]# [ "a" = "b" ] && echo 1||echo 0
0
[ "a" = "b" ] && echo 1||echo 0
如果表達(dá)式成立,打印1缠局,否則打印0.
[ "a" = "b" ] && echo 1? #跟屁蟲则奥。
如果表達(dá)式成立,打印1
[ "a" = "b" ] || echo 0? #杠精狭园。
如果表達(dá)式成立是假的读处,打印0
取反:
[ ! "a" = "b" ] && echo 1
整數(shù)表達(dá)式:
>? ? ? -gt
>=? ? -ge
<? ? ? -lt
<=? ? -le
=? ? ? -eq
不等于 -ne
[root@oldboyedu ~]# a=1
[root@oldboyedu ~]# [ $a -eq 2 ] && echo 1||echo 0
0
[root@oldboyedu ~]# [ $a -eq 1 ] && echo 1 || echo 0
1
1)整數(shù)表達(dá)式符 兩端必須要有空格
2)中括號(hào)里面兩端必須要有空格。
3)變量和比較的內(nèi)容唱矛,不需要加引號(hào)罚舱。
字符表達(dá)式:
-z 變量?jī)?nèi)容長(zhǎng)度為0時(shí),為真(表達(dá)式正確)绎谦。zero
-n 變量?jī)?nèi)容長(zhǎng)度【不】為0時(shí)管闷,為真(表達(dá)式正確)。not zero
a == a 字符串是否相同
說(shuō)明:
1)字符串要加雙引號(hào)
例子:
[root@oldboyedu ~]# oldboy="I am oldboy"
[root@oldboyedu ~]# [ -z "$oldboy" ] && echo 1 || echo 0
0
[root@oldboyedu ~]# oldboy=""
[root@oldboyedu ~]# [ -z "$oldboy" ] && echo 1 || echo 0
1
[root@oldboyedu ~]# [ -n "$oldboy" ] && echo 1 || echo 0
0
[root@oldboyedu ~]# [ "test" == "host" ] && echo 1 || echo 0
0
[root@oldboyedu ~]# [ "test" == "test" ] && echo 1 || echo 0
1
8.shell判斷句:
如果...那么窃肠。
如果[ 你是潛力股 ]
那么
? ? 就和你談朋友
否則
? ? 拜拜
果如
if判斷句語(yǔ)法:
if [ 表達(dá)式 ]
then
? 命令
fi
如果[ 你是潛力股 ]
那么
? ? 就和你談朋友
果如
[root@oldboyedu ~]# cat test.sh
#!/bin/bash
a=10
if [ $a -gt 1 ]
then
? ? echo 1
fi
如果[ 你是潛力股 ]
那么
? ? 就和你談朋友
否則
? ? 拜拜
果如
[root@oldboyedu ~]# cat test.sh
#!/bin/bash
a=1
if [ $a -gt 1 ]
then
? ? echo 1
else
? ? echo 0
fi
[root@oldboyedu ~]# cat test.sh
#!/bin/bash
boy="潛力股"
if [ "$boy" ==? "潛力股" ]
then
? ? echo "先和你談?wù)勁笥?
else
? ? echo "白白"
fi
[root@oldboyedu ~]# sh test.sh
先和你談?wù)勁笥?/p>
[root@oldboyedu ~]# cat judge_date.sh
if [ $(date +%w) -eq 6 ]
then
? ? echo "一起去旅游吧"
else
? ? echo "還是好好上課吧"
fi
[root@oldboyedu ~]# sh judge_date.sh
還是好好上課吧
[root@oldboyedu ~]# date
Tue Apr? 9 11:33:13 CST 2019
[root@oldboyedu ~]# date -s '2019/4/13'
Sat Apr 13 00:00:00 CST 2019
[root@oldboyedu ~]# sh judge_date.sh
一起去旅游吧
實(shí)現(xiàn)多條件
[root@oldboyedu ~]# cat judge_date.sh
if [ $(date +%w) -eq 6 ] || [ $(date +%w) -eq 0 ]
then
? ? echo "一起去旅游吧"
else
? ? echo "還是好好上課吧"
fi
read命令 交互式讀取用戶輸入
-p "提醒:"
-t "多長(zhǎng)時(shí)間內(nèi)等待輸入"
[root@oldboyedu ~]# read? -p "請(qǐng)輸入一句話:" boy
請(qǐng)輸入一句話:潛力股
[root@oldboyedu ~]# echo $boy
潛力股
相當(dāng)于boy="潛力股"
[root@oldboyedu ~]# cat test.sh
#!/bin/bash
read -p "請(qǐng)輸入你喜歡的男孩的一句話:" boy
if [ "$boy" ==? "潛力股" ]
then
? ? echo "先和你談?wù)勁笥?
else
? ? echo "白白"
fi
[root@oldboyedu ~]# sh test.sh
請(qǐng)輸入你喜歡的男孩的一句話:我沒錢
白白
[root@oldboyedu ~]# sh test.sh
請(qǐng)輸入你喜歡的男孩的一句話:潛力股
先和你談?wù)勁笥?/p>
[root@oldboyedu ~]# cat test.sh
#!/bin/bash
read -p "請(qǐng)輸入你喜歡的男孩的一句話:" boy
if [ "$boy" ==? "潛力股" ]
then
? ? echo "先和你談?wù)勁笥?
elif [ "$boy" ==? "老爸是李剛" ]
then
? echo "直接嫁給你"
elif [ "$boy" ==? "二環(huán)內(nèi)有套房" ]
then
? echo "立馬領(lǐng)證"
else
? ? echo "白白"
fi
練習(xí)題:Shell編程實(shí)現(xiàn) 兩個(gè)整數(shù)比較大小
[root@oldboyedu ~]# cat com_num.sh
#!/bin/sh
read -p "請(qǐng)輸入兩個(gè)整數(shù):" a b
if [ $a -gt $b ]
then
? ? echo "$a>$b"
elif [ $a -eq $b ]
then
? ? echo "$a=$b"
else
? ? echo "$a<$b"
fi
[root@oldboyedu ~]# sh com_num.sh
請(qǐng)輸入兩個(gè)整數(shù):2 3
2<3
[root@oldboyedu ~]# sh com_num.sh
請(qǐng)輸入兩個(gè)整數(shù):3 3
3=3
[root@oldboyedu ~]# sh com_num.sh
請(qǐng)輸入兩個(gè)整數(shù):3 4
3<4
[root@oldboyedu ~]# sh com_num.sh
請(qǐng)輸入兩個(gè)整數(shù):3 2
3>2
特殊位置變量:
$1 腳本文件的第一個(gè)參數(shù)賦值給$1
$2 腳本文件的第二個(gè)參數(shù)賦值給$2
[root@oldboyedu ~]# cat t.sh
echo $1 $2
[root@oldboyedu ~]# sh t.sh oldboy oldgirl
oldboy oldgirl? #<==oldboy就是$1輸出的結(jié)果包个,oldgirl就是$2輸出的結(jié)果。
[root@oldboyedu ~]# cat com_num.sh
#!/bin/sh
#read -p "請(qǐng)輸入兩個(gè)整數(shù):" a b
a=$1
b=$2
if [ $a -gt $b ]
then
? ? echo "$a>$b"
elif [ $a -eq $b ]
then
? ? echo "$a=$b"
else
? ? echo "$a<$b"
fi
[root@oldboyedu ~]# sh com_num.sh 2 3
2<3
[root@oldboyedu ~]# sh com_num.sh 2 2
2=2
[root@oldboyedu ~]# sh com_num.sh 3 2
3>2
9.for循環(huán)
for n in 取值列表
do
? 執(zhí)行命令
done
[root@oldboyedu ~]# cat for1.sh
for n in 1 2 3 4 5
do
? ? echo $n
done
[root@oldboyedu ~]# sh for1.sh
1
2
3
4
5
[root@oldboyedu ~]# sh -x for1.sh
+ for n in 1 2 3 4 5
+ echo 1
1
+ for n in 1 2 3 4 5
+ echo 2
2
+ for n in 1 2 3 4 5
+ echo 3
3
+ for n in 1 2 3 4 5
+ echo 4
4
+ for n in 1 2 3 4 5
+ echo 5
5
[root@oldboyedu ~]# cat for1.sh
for n in {1..5}
do
? ? echo $n
done
[root@oldboyedu ~]# sh for1.sh
1
2
3
4
5
打印254個(gè)IP
10.0.0.1---10.0.0.254
[root@oldboyedu ~]# cat for1.sh
for n in {1..254}
do
? ? echo "10.0.0.$n"
done
DAY29
diff 文本比較工具
diff直接接兩個(gè)文件 就可以發(fā)現(xiàn)兩個(gè)文件的不同
diff? a.txt? a.txt.ori
vimdiff 圖形比較
備份的好處
可以恢復(fù) 可以比較
mount /devrom /mnt 掛載光盤到/mnt中
軟件安裝
rpm命令 RED HAT的包管理器? 作用 安裝卸載升級(jí)查詢認(rèn)證
-i 安裝
-v顯示安裝的過程
-h用#顯示安裝進(jìn)度條
-U升級(jí)軟件包
-e卸載軟件包
--nodeps 忽略依賴
-q查詢
-a查所有
qa常一起用 后面加軟件包名
-ql 顯示軟件包中的所有文件列表
-qf 查詢文件或者命令屬于哪個(gè)包
缺點(diǎn) 需要很多依賴? 在need by后面顯示 要先安裝基礎(chǔ)包
yum命令? 比RPM更智能 解決軟件包依賴 但是后臺(tái)還是RPM在工作 yellow dog
install 安裝 后面接軟件包
groupinstall 安裝組包
grouplist 獲取組包名稱列表
list查看軟件包名
list installed 查看已安裝軟軟件
provides 根據(jù)命令配置查軟件包
Linux系統(tǒng)如何安裝軟件
1.rpm 簡(jiǎn)單 快 依賴多
2.yum 簡(jiǎn)單 快 自動(dòng)解決依賴
3.編譯安裝(源碼編譯)
慢 復(fù)雜 需要GCC編譯器 但是可以自定義安裝軟件版本和安裝路徑
4.將源碼編譯成rpm冤留,然后放到y(tǒng)um倉(cāng)庫(kù) 實(shí)現(xiàn)yum自動(dòng)安裝
一次性慢碧囊,復(fù)雜,安裝快 可以自定義
centos6和7運(yùn)維層次的區(qū)別
centos6最新6. 9?
32/64位? ? ? ? ? ? ? ? ? ? ? ?
串行技術(shù)? ? ? ? ? ? ? ? ?
順序安裝
? eth33
? 網(wǎng)卡用network管理
? 開啟關(guān)閉服務(wù)/etc/init.d/crond start|stop
? 等價(jià)于srevice crond stop /start
? reload(平滑重啟)
? 開機(jī)自啟動(dòng) chkconfig crond off
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? list crond 查看
? 腳本當(dāng)中的開頭可以實(shí)現(xiàn)開機(jī)自啟動(dòng)的控制
? 查看開機(jī)自啟動(dòng)列表 chkconfig --list|grep “3:on”
? 主機(jī)名修改 hostname xx
? /etc/rc.local 放置開機(jī)啟動(dòng)的命令
? 查看ip ifconfig和route
? centos7最新7.6
? 64位
? 并行技術(shù)
? 平臺(tái)化安裝
? eth0
? 網(wǎng)卡用network menager
? 服務(wù)管理systemctl? stop|start|restart|reload(平滑重啟)? crond來(lái)管理
? 開機(jī)自啟動(dòng)systemctl disable /enable crond
? 直接systemctl status crond就能查看開機(jī)自啟動(dòng)
? 查看開機(jī)自啟動(dòng)列表 systemctl list-unit-files(|grep enabled) 查看正在啟動(dòng)的項(xiàng)
? 主機(jī)名修改 hostnamectl set-hostname xx永久修改
? 主機(jī)名文件/etc/hostname
? IO調(diào)度 deadline
? /etc/rc.local 放置開機(jī)啟動(dòng)的命令 但是必須授予執(zhí)行的權(quán)限 7里面權(quán)限不夠 必須chmod+x
? 別名 alias默認(rèn)增加了三個(gè)關(guān)于grep的
? 查看IP ip
? chattr設(shè)置文件屬性
+- i 鎖定解鎖
? ? +a 只能追加不能刪除 -a解鎖
? lsattr查看文件屬性
? +- i 鎖定解鎖
DAY30
Linux默認(rèn)策略纤怒,把沒有使用的內(nèi)存糯而,都會(huì)作為緩沖區(qū)或者緩存區(qū)。
1.常規(guī)分區(qū)
/boot? 1024M
swap? 內(nèi)存1.5倍? 大于8G給8G
/ 所有
================================
/home
/var
/usr
2.存儲(chǔ) 數(shù)據(jù)庫(kù) 備份
/boot? 1024M
swap? 內(nèi)存1.5倍? 大于8G給8G
/ 100-200G
/data 所有 放數(shù)據(jù)
3.門戶
/boot? 1024M
swap? 內(nèi)存1.5倍? 大于8G給8G
/ 100-200G
剩下保留泊窘。
xshell,secureCRT,putty,ssh
SSH默認(rèn)22端口
0.VM虛擬網(wǎng)絡(luò)編輯器設(shè)置
1熄驼、服務(wù)端運(yùn)行。
[root@oldboyedu /opt]# netstat -lntup|grep ssh
tcp? ? ? ? 0? ? ? 0 0.0.0.0:22? ? ? ? ? ? ? 0.0.0.0:*? ? ? ? ? ? ? LISTEN? ? ? 6899/sshd? ? ?
tcp6? ? ? 0? ? ? 0 :::22? ? ? ? ? ? ? ? ? :::*? ? ? ? ? ? ? ? ? ? LISTEN? ? ? 6899/ssh
[root@oldboyedu /opt]# systemctl status sshd
● sshd.service - OpenSSH server daemon
? Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
? Active: active (running) since Wed 2020-10-28 21:09:17 CST; 1 years 6 months left
? ? Docs: man:sshd(8)
2.客戶端ping
ping 10.0.0.201
3.客戶端檢查服務(wù)
[c:\~]$ telnet 10.0.0.201 22
Connecting to 10.0.0.201:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
SSH-2.0-OpenSSH_7.4
IP端口別錯(cuò)州既,就是防火墻問題谜洽。
4.xshell連接
c6:/etc/init.d/sshd restart
? service sshd restart
c7:systemctl restart sshd
概念:
ifconfig 別名IP
[root@oldboyedu /opt]# ifconfig? eth0:0 10.0.0.202/24 up
增加網(wǎng)卡文件/etc/sysconfig/network-scripts/ifcfg-eth0:0
ip? ? ? 輔助IP
ip addr add 10.0.0.203/24 dev eth0 label eth0:1
7. 如何測(cè)試服務(wù)器能否連上互聯(lián)網(wǎng)?
ping www.oldboyedu.com
ping 203.81.19.1 通的 但是ping www.oldboyedu.com不通。
如果網(wǎng)站沒問題就是DNS問題
[root@oldboyedu /opt]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 223.5.5.5
ping 10.0.0.254
* * *
3? * * *
4? * * *
5? * * *
6? * * *
7? * * *
8? * * *
9? * * *
10? * * *
11? * * *
女生富養(yǎng)吴叶,男生窮養(yǎng)阐虚。
磁盤體系:
1.磁盤維護(hù)
2.掛載
3.文件系統(tǒng)
4.分區(qū)
5.raid知識(shí)體系
6.內(nèi)外部結(jié)構(gòu)、讀寫原理
命令使用:
#/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -Lall -aALL 查raid級(jí)別
#/opt/MegaRAID/MegaCli/MegaCli64 -AdpAllInfo -aALL 查raid卡信息
#/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL 查看硬盤信息
#/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -aAll 查看電池信息
#/opt/MegaRAID/MegaCli/MegaCli64 -FwTermLog -Dsply -aALL 查看raid卡日志
#/opt/MegaRAID/MegaCli/MegaCli64 -adpCount 【顯示適配器個(gè)數(shù)】
#/opt/MegaRAID/MegaCli/MegaCli64 -AdpGetTime –aALL 【顯示適配器時(shí)間】
#/opt/MegaRAID/MegaCli/MegaCli64 -AdpAllInfo -aAll 【顯示所有適配器信息】
#/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -LALL -aAll 【顯示所有邏輯磁盤組信息】
#/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aAll 【顯示所有的物理信息】
#/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -GetBbuStatus -aALL |grep ‘Charger Status’ 【查看充電狀態(tài)】
#/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -GetBbuStatus -aALL【顯示BBU狀態(tài)信息】
#/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -GetBbuCapacityInfo -aALL【顯示BBU容量信息】
#/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -GetBbuDesignInfo -aALL 【顯示BBU設(shè)計(jì)參數(shù)】
#/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -GetBbuProperties -aALL 【顯示當(dāng)前BBU屬性】
#/opt/MegaRAID/MegaCli/MegaCli64 -cfgdsply -aALL 【顯示Raid卡型號(hào)蚌卤,Raid設(shè)置实束,Disk相關(guān)信息】
3.磁帶狀態(tài)的變化奥秆,從拔盤,到插盤的過程中咸灿。
Device |Normal|Damage|Rebuild|Normal
Virtual Drive |Optimal|Degraded|Degraded|Optimal
Physical Drive |Online|Failed –> Unconfigured|Rebuild|Online
4.查看磁盤緩存策略
#/opt/MegaRAID/MegaCli/MegaCli64 -LDGetProp -Cache -L0 -a0
https://www.cnblogs.com/lianzhilei/p/6472038.html
網(wǎng)絡(luò)部分:
1构订、tcp三次握手四次揮手。
2避矢、11種狀態(tài)
3悼瘾、tcpdump/wireshark/route
4、不能上網(wǎng)如何排查审胸。
DAY31
1亥宿、什么是集群?
簡(jiǎn)單地說(shuō)砂沛,集群就是一堆機(jī)器做同一件事烫扼,
例如:www.jd.com提供賣東西服務(wù)這就是一件事,可能是幾千臺(tái)服務(wù)器碍庵,在背后運(yùn)轉(zhuǎn)支撐這個(gè)網(wǎng)站映企。
? ? ? www.baidu.com看著就是一個(gè)搜索框,背后可能是上萬(wàn)臺(tái)服務(wù)器静浴。
2堰氓、為什么企業(yè)要用集群?
? a.7*24服務(wù)马绝,需要多臺(tái)機(jī)器同時(shí)工作豆赏,互為實(shí)時(shí)備份。
? b.高并發(fā)訪問富稻,需要多臺(tái)服務(wù)器同時(shí)提供服務(wù)。
3.集群特點(diǎn)
? a.數(shù)據(jù)量大白胀、用戶多
? b.7*24持續(xù)服務(wù)
? c.高并發(fā)
? d.用戶分布廣泛椭赋,網(wǎng)絡(luò)情況復(fù)雜
4.形象描述集群
基礎(chǔ)優(yōu)化:
1、規(guī)范目錄
mkdir -p /server/tools
mkdir -p /server/scripts
2或杠、配置所有主機(jī)域名解析
cat >/etc/hosts<<EOF
127.0.0.1? ? localhost localhost.localdomain localhost4 localhost4.localdomain4
::1? ? ? ? ? localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.1.5 lb01
172.16.1.6 lb02
172.16.1.7 web01
172.16.1.8 web02
172.16.1.9 web03
172.16.1.31 nfs01
172.16.1.41 backup
172.16.1.51 db01 db01.etiantian.org
172.16.1.61 m01
EOF
[root@oldboyedu ~]# cat /etc/hosts
127.0.0.1? ? localhost localhost.localdomain localhost4 localhost4.localdomain4
::1? ? ? ? ? localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.1.5 lb01
172.16.1.6 lb02
172.16.1.7 web01
172.16.1.8 web02
172.16.1.9 web03
172.16.1.31 nfs01
172.16.1.41 backup
172.16.1.51 db01 db01.etiantian.org
172.16.1.61 m01
[root@oldboyedu ~]# ping lb01
PING lb01 (172.16.1.5) 56(84) bytes of data.
3.基礎(chǔ)優(yōu)化操作項(xiàng):更新yum源信息
第一個(gè):就近使用yum源地址哪怔,安裝軟件更快。
curl -s -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
第二個(gè):安裝RHEL/CentOS官方源不提供的軟件包
curl -s -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
4向抢、安全優(yōu)化
# 1认境、關(guān)閉selinux
sed -i 's#SELINUX=.*#SELINUX=disabled#g' /etc/selinux/config
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
grep SELINUX=disabled /etc/selinux/config
setenforce 0
getenforce
# 2、關(guān)閉firewalld防火墻服務(wù)
systemctl stop firewalld
systemctl disable firewalld
5.基礎(chǔ)優(yōu)化操作項(xiàng):設(shè)置普通用戶提權(quán)操作(可選優(yōu)化)
# 提權(quán)oldboy可以利用sudo
useradd oldboy
echo 123456|passwd --stdin oldboy
\cp /etc/sudoers /etc/sudoers.ori
echo "oldboy? ALL=(ALL) NOPASSWD: ALL " >>/etc/sudoers
tail -1 /etc/sudoers
visudo -c
6.設(shè)置系統(tǒng)中文UTF8字符集
[root@oldboyedu ~]# cat /etc/locale.conf
LANG="en_US.UTF-8"
修改命令如下:
cp /etc/locale.conf? /etc/locale.conf.ori
echo 'LANG="zh_CN.UTF-8"' >/etc/locale.conf?
source /etc/locale.conf
echo $LANG
cp /etc/locale.conf? /etc/locale.conf.ori
localectl set-locale LANG="zh_CN.UTF-8"
cat /etc/locale.conf
7.基礎(chǔ)優(yōu)化操作項(xiàng):時(shí)間同步設(shè)置
# 設(shè)置系統(tǒng)時(shí)間同步
yum install ntpdate -y
/usr/sbin/ntpdate ntp3.aliyun.com
echo '#crond-id-001:time sync by oldboy' >>/var/spool/cron/root
echo "*/5 * * * * /usr/sbin/ntpdate ntp3.aliyun.com >/dev/null 2>&1">>/var/spool/cron/root
crontab -l
8.基礎(chǔ)優(yōu)化操作項(xiàng):提升命令行操作安全性(可選優(yōu)化)
# 提升命令行安全(可選配置)
echo 'export TMOUT=300' >>/etc/profile
echo 'export HISTSIZE=5' >>/etc/profile
echo 'export HISTFILESIZE=5' >>/etc/profile
tail -3 /etc/profile
. /etc/profile
9.基礎(chǔ)優(yōu)化操作項(xiàng):加大文件描述符
# 實(shí)例演示:加大文件描述
echo '*? ? ? ? ? ? ? -? ? ? nofile? ? ? ? ? 65535 ' >>/etc/security/limits.conf
tail -1 /etc/security/limits.conf
ulimit -SHn? 65535
ulimit -n #<==命令方式查看配置結(jié)果
10.基礎(chǔ)優(yōu)化操作項(xiàng):優(yōu)化系統(tǒng)內(nèi)核
cat >>/etc/sysctl.conf<<EOF
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.ip_local_port_range = 4000? ? 65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384
#以下參數(shù)是對(duì)iptables防火墻的優(yōu)化挟鸠,防火墻不開會(huì)提示叉信,可以忽略不理。
net.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_tcp_timeout_established = 180
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.wmem_max = 16777216
net.core.rmem_max = 16777216
EOF
sysctl -p
11.基礎(chǔ)優(yōu)化操作項(xiàng):安裝系統(tǒng)常用軟件
CentOS6和CentOS7都要安裝的企業(yè)運(yùn)維常用基礎(chǔ)工具包
yum install tree nmap dos2unix lrzsz nc lsof wget tcpdump htop iftop iotop sysstat nethogs -y
CentOS7要安裝的企業(yè)運(yùn)維常用基礎(chǔ)工具包
yum install psmisc net-tools bash-completion vim-enhanced -y
獨(dú)行快艘希,眾行遠(yuǎn)硼身」杓保——老男孩
12.基礎(chǔ)優(yōu)化操作項(xiàng):優(yōu)化SSH遠(yuǎn)程連接效率
禁止root遠(yuǎn)程連接
修改默認(rèn)22端口,改為52113
監(jiān)聽內(nèi)網(wǎng)服務(wù)器IP
練習(xí)不動(dòng)佳遂。
13.擴(kuò)展優(yōu)化操作項(xiàng)-修改yum.conf文件配置信息
保留yum安裝的軟件包
將/etc/yum.conf中的keepcache=0改為keepcache=1营袜,為日后一鍵安裝網(wǎng)站集群留好rpm及依賴工具包。
14. 鎖定關(guān)鍵系統(tǒng)文件如/etc/passwd丑罪、/etc/shadow荚板、/etc/group、/etc/gshadow吩屹、/etc/inittab跪另,
處理以上內(nèi)容后把chattr、lsattr改名為oldboy祟峦,轉(zhuǎn)移走罚斗,這樣就安全多了。
15. 清空/etc/issue宅楞、/etc/issue.net针姿,去除系統(tǒng)及內(nèi)核版本登錄前的屏幕顯示。
16. 清除多余的系統(tǒng)虛擬用戶賬號(hào)厌衙。
17. 為grub引導(dǎo)菜單加密碼(自學(xué))距淫。
18. 禁止主機(jī)被ping(內(nèi)核參數(shù))。
19. 打補(bǔ)丁并升級(jí)有已知漏洞的軟件婶希。
? ? yum update
20.精簡(jiǎn)開機(jī)自啟動(dòng)服務(wù)
systemctl list-unit-files |grep enable|egrep -v "sshd.service|crond.service|sysstat|rsyslog|^NetworkManager.service|irqbalance.service"|awk '{print "systemctl disable",$1}'|bash
systemctl list-unit-files |grep enable
保留服務(wù):
sshd|crond|sysstat|rsyslog|NetworkManager|irqbalance
企業(yè)生產(chǎn)最小化原則:
1榕暇、安裝軟件包最小化。
2喻杈、用戶權(quán)限最小化彤枢。
3、目錄文件權(quán)限最小化筒饰。
4缴啡、自啟動(dòng)服務(wù)最小化。
5瓷们、服務(wù)運(yùn)行用戶最小化业栅。
[root@oldboyedu ~]# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address? ? ? ? ? Foreign Address? ? ? ? State? ? ? PID/Program name? ?
tcp? ? ? ? 0? ? ? 0 0.0.0.0:22? ? ? ? ? ? ? 0.0.0.0:*? ? ? ? ? ? ? LISTEN? ? ? 7072/sshd? ? ? ? ?
tcp6? ? ? 0? ? ? 0 :::22? ? ? ? ? ? ? ? ? :::*? ? ? ? ? ? ? ? ? ? LISTEN? ? ? 7072/sshd
克隆三臺(tái):
B1-web服務(wù)器1 ? ? 10.0.0.7/24 ? ? 172.16.1.7/16 web01
C1-NFS存儲(chǔ)服務(wù)器 10.0.0.31/24 172.16.1.31/16 nfs01
C2-rsync備份服務(wù)器 10.0.0.41/24 172.16.1.41/16 backup