Linux運維基礎技能: 接入層與網絡基礎

本系列文章一共三篇,分別爲《腳本編程與 Linux 命令》、《接入層與網絡基礎》和《 MySQL 與 SQL 優化》,由騰訊高級工程師 luaruan(阮永順) 原創、張戈博客整理分享,若有勘誤請在博客留言。
Linux運維基礎技能: 接入層與網絡基礎
但願對須要學習、面試 Linux 運維的同窗有所幫助。
MSS 與 MTU 的區別,默認大小各是多少?
標準以太網接口缺省的 MTU(最大傳輸單元)爲 1500 字節,是最大幀 1518 減去源宿的 MAC、FCS 後最大的 IP packet 大小;
MTU 減去 20 字節 IP 包頭減去 20 字節 TCP 包頭 ,便是 MSS,1460 字節
一臺交換機要保證接口 MTU 的一致性。若是在一個 VLAN 上、或整個交換機都採用一樣的 MTU,避免一些奇怪的問題
參考:https://www.zhihu.com/question/21524257
TIME_WAIT 與 CLOSE_WAIT 的區別
主動關閉鏈接的一方進入 TIME_WAIT ,若客戶端高併發訪問 HTTP 接口又沒有使用會話或者線程池機制,可能會致使本地端口耗盡。html

CLOSE_WAIT 出如今被動斷開鏈接。可能常見在 Server 端,例如在 Netty 的 I/O 線程裏作 DB 讀寫、日誌記錄這種不可控的阻塞行爲,可能會引起客戶端超時。linux

如何查看機器上全部的 tcp 鏈接?
natstat -antnginx

netstat -antp 如何統計 time_wait 狀態的鏈接?面試

netstat -antp|grep TIME_WAIT|wc -l

IP 包頭大小?
20 字節算法

url.cn 是幾級域名? -- 二級
www.qq.com 是幾級域名? -- 三級
url.cn 能夠 CNAME 到 demo.te.isc.demo-cloud.net 嗎?
不建議這麼操做,實際上不少場合是不能夠這麼操做的。編程

https://serverfault.com/questions/613829/why-cant-a-cname-record-be-used-at-the-apex-aka-root-of-a-domainsegmentfault

遞歸解析與迭代解析的區別?
Linux運維基礎技能: 接入層與網絡基礎瀏覽器

先理解 13 組根 DNS 服務器、頂級域 DNS 服務器(各解析.com .net .gov 等)、權威 DNS 服務器、本地 DNS 服務器。服務器

考慮瀏覽器客戶端訪問 www.qq.com ,會向小區寬帶的本地 DNS 查詢域名解析 IP ,而本地 DNS 會向根 DNS、頂級域 DNS、權威 DNS 逐個查詢。網絡

從客戶端到本地 DNS 的查詢是遞歸的;而其他的查詢是迭代的。(參考《自頂向下理解計算機網絡》89 頁)

x-forwarded-for 與 remote_addr 的區別?
X-Forwarded-For: client1, proxy1, proxy2
<proxy1>, <proxy2>若是一個請求通過了多個代理服務器,那麼每個代理服務器的 IP 地址都會被依次記錄在內。也就是說,最右端的 IP 地址表示最近經過的代理服務器,而最左端的 IP 地址表示最初發起請求的客戶端的 IP 地址。

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/X-Forwarded-For

鑑於僞造這一字段很是容易,應該謹慎使用 X-Forwarded-For 字段。正常狀況下 XFF 中最後一個 IP 地址是最後一個代理服務器的 IP 地址

remote_addr 是通信客戶端與服務器實際進行 TCP 通訊的 IP
IPv4 地址分類 (IPv4 地址 32 位)
A 類 0.0.0.0/8 127.255.255.255 結束

B 類 128.0.0.0/16 191.255.255.255 結束

C 類 192.0.0.0/24

D 類 224.0.0.0~239.255.255.255

192.168.2.47/26 這個子網的開始 IP 和結束 IP 是?
(32-26)=6 , 2^6 = 64 ,故每 64 個 IP 是一個子網,而 47 落在 0-63 這個子網,故 192.168.2.0 是網絡號;可用 IP 是 192.168.2.1~192.168.2.62 ;192.168.2.63 是廣播 IP 地址。

IPv6 地址的格式與縮寫規則,怎麼判斷哪些是合法的 IPv6 地址?
(IPv4 地址是 32 位)

https://www.ibm.com/support/knowledgecenter/zh/ssw_ibm_i_72/rzai2/rzai2ipv6addrformat.htm

IPv6 地址大小爲 128 位 完整寫法是 8 段 ,0000:0000:0000:0000:0000:0000:0000:0000 至 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff

省略前導零經過省略前導零指定 IPv6 地址。例如,IPv6 地址 1050:0000:0000:0000:0005:0600:300c:326b 可寫做 1050:0:0:0:5:600:300c:326b。

雙冒號經過使用雙冒號(::)替換一系列零來指定 IPv6 地址。例如,IPv6 地址 ff06:0:0:0:0:0:0:c3 可寫做 ff06::c3。一個 IP 地址中只可以使用一次雙冒號。

IPv4 地址如何映射到 IPv6
例如 0:0:0:0:0:ffff:192.1.56.10 和 ::ffff:192.1.56.10/96(短格式)

Ipv6 保留地址 https://zh.wikipedia.org/wiki/%E4%BF%9D%E7%95%99IP%E5%9C%B0%E5%9D%80

LVS 三種工做模式是什麼?
NAT,IP tunneling, Direct Route

tcpdump 抓包的幾個參數

src host
dst host
-c 包個數
-w xxx.pcap
port 端口
not
portrange 1-1024
-n 不將IP顯示爲域名
-nn 顯示原始端口號和協議

拓展閱讀:http://packetlife.net/media/library/12/tcpdump.pdf

iptables 實例

iptables -t 表名 <-A/I/D/R> 規則鏈名 [規則號] <-i/o 網卡名> -p 協議名 <-s 源IP/源子網> --sport 源端口 <-d 目標IP/目標子網> --dport 目標端口 -j 動做

三表五鏈
filter 定義容許或者不容許的,只能作在 3 個鏈上:INPUT ,FORWARD ,OUTPUT

nat 定義地址轉換的,也只能作在 3 個鏈上:PREROUTING ,OUTPUT ,POSTROUTING

mangle 功能:修改報文原數據,是 5 個鏈均可以作:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING

持久化

cp /etc/sysconfig/iptables /etc/sysconfig/iptables.bak # 任何改動以前先備份
iptables-save > /etc/sysconfig/iptables

拓展閱讀:https://wangchujiang.com/linux-command/c/iptables.html

iptables 如何設置只容許內網 10.142.31.1 來訪問本機的 7001 7002 7003 端口

iptables -I INPUT -p tcp port 7001:7003 -s 10.142.31.1 -j ACCEPT
iptables -I INPUT -p tcp port 7001:7003 -j DROP

iptables 設置容許 8080 80 443 以及主動出去的,其餘拒絕

iptables -I INPUT -p tcp --dport 443 -i eth0 -j ACCEPT
iptables -I INPUT -p tcp --dport 8080 -i eth0 -j ACCEPT
iptables -I INPUT -p tcp --dport 80 -i eth0 -j ACCEPT
iptables -I INPUT -i eth0 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -j DROP

常見加密算法
對稱 DES、3DES、Blowfish、IDEA、RC四、RC五、RC6 和 AES

非對稱 RSA、ECC(移動設備用)、Diffie-Hellman、El Gamal、DSA(數字簽名用)

nginx 的負載種類
輪詢(默認)、權重 weight、IP hash、URL hash

nginx location 匹配:
= 用於標準 uri 前,要求請求字符串與 uri 嚴格匹配,一旦匹配成功則中止

~ 用於正則 uri 前,而且區分大小寫

~* 用於正則 uri 前,但不區分大小寫

^~ 用於標準 uri 前,要求 Nginx 找到標識 uri 和請求字符串匹配度最高的 location 後,當即使用此 location 處理請求,(匹配符合之後,中止往下搜索正則,採用這一條)而再也不使用 location 塊中的正則 uri 和請求

拓展閱讀:http://seanlook.com/2015/05/17/nginx-location-rewrite/

Nginx 配置文件結構:
Linux運維基礎技能: 接入層與網絡基礎

拓展閱讀:http://www.javashuo.com/article/p-frgjztjr-p.html
原文地址:https://zhangge.net/5141.html

相關文章
相關標籤/搜索