DNS原理
1、dns命令基礎及通過命令理解dns原理
DNS域名解析查詢:
dig www.xxx.com
nslookup
host
ping
鏈接:https://blog.csdn.net/a583929112/article/details/66499771
2、網卡知識-dns配置-生效
網卡配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 第一塊網卡邏輯設備名,第二塊為eth1,有些系統也會以em等字符標識
HWADDR 以太網硬件地址即MAC地址,如果是vmware克隆的虛擬機無法啟動網卡可以毫不猶豫的刪除此項
TYPE=Ethernet 上網類型,目前基本都是以太網
UUID 通用唯一識別碼,如果是vmware克隆的虛擬機無法啟動網卡可以去除此項
ONBOOT=no 這個地方要為yes,才能保證下次開機啟動激活網卡設備
NM CONTROLLED=yes 是否通過 NetworkManager 管理網卡設備
BOOTPROTO=none 啟動協議,獲取配置方式,有none|bootp|dhcp三個選項
IPADDR 局域網linux服務器的固定IP
NETMASK 子網掩碼,用來規劃網絡位和主機位,一般為255.255.255.0
DNS2=8.8.8.8 第二個DNS,這裏默認會覆蓋以及優先於 /etc/resolv.conf 的配置生效
GATEWAY 局域網上網網關地址
DNS1=202.106.0.20 主DNS,這裏默認會覆蓋以及優先於 /etc/resolv.conf 的配置生效
IPV6INIT=no 是否支持IPV6
setup-network config 就是網卡配置文件
網卡生效:
推薦:ifdown,ifup
ifdown eth0 停掉eth0網卡
ifup eth0 啟動eth0網卡
針對所有網卡:
/etc/init.d/network restart 針對所有網卡的
註意:
1.網卡如果配置DNS,會優先於/etc/resolv.conf的配置,並且重啟網卡,會把 /etc/resolv.conf裏的覆蓋
2.網絡如果沒有配置DNS,那麽在/etc/resolv.conf裏配置會生效,如果有多塊網卡(DHCP獲取方式)時候,可能會覆蓋/etc/resolv.conf裏已有的配置
3、主機名更改
1.hostname
2.vi /etc/sysconfig/network
3.vi /etc/hosts
如果用setup->dns設置修改主機名,永久生效(但命令行不生效)
影響/etc/sysconfig/network和/etc/hosts配置文件
4、已知端口查進程名的多種方法
已知一個端口為333,如何查看端口對應的是什麽服務名?
方法1:lsof -i:52113
方法2:netstat -lntup | grep 52113
5、網絡及服務故障排查思路及命令
1.ping icmp協議
2.traceroute www.baidu.com -n(-n表示不解析)
3.telnet www.qq.com 80 檢查服務器WEB有沒有開啟,服務開沒開,以及防火墻有沒有擋住
namp ip地址 -p 80
nc
不通:
1)80服務沒開或端口不存在
2)fw防火請阻擋了
3)服務監聽的端口不在連接的IP上
4)運營商默認不開,申請開端口
4.win:跟蹤路由
tracert -d www.baidu.com
6、抓包工具:
tcpdump 命令
tcpdump -n icmp -i eth0
namp
win:wireshark
例題:作為企業網管,局域網的某個機器無法上網,請給出詳細排錯思路?
以 win32 客戶端為例:
(一)單個機器無法上網,別人可以
1.ping www.baidu.com
如果通,但還不能上網:可能是瀏覽器、中毒等問題
2.ping 網關,目的是排除物理鏈路(網線,網卡,驅動,IP設置等)
如果 ping 網關不通,則查看 ip 設置,然後 ping自身 ip 或 ping 網內其它機器 ip
如果 ping 自己 ip 不通:檢查 ip 設置、網卡驅動、物理鏈路
如果 ping 網內其它機器 ip 是通的,網關不讓你聯網了
3.ping 網關通的情況下,檢查 DNS 的設置情況是否正確
1)檢查方法是,ping 公網 ip,看通暢情況(平時要記幾個外部 ip)ping 203.81.19.1
2)host/dig/nslookup 檢查域名解析
4.上網路由器問題(配置和硬件)以及 ISP 線路問題
登錄路由,檢查上級線路,打電話給 ISP 技術
5.輔助排查:其他人能否上網,ip 地址沖突,ARP病毒,核心交換機壞了,交換機環路(看日誌)
(二)大面積上不了網:
路由器,ISP,核心交換機,ARP 病毒欺騙網關,網關地址被占用,LDNS 出問題
核心交換機壞了,交換機環路
例題:作為 linux 運維,客戶反映打開你部署的網站服務器慢,請給出詳細排錯思路?
(一)用戶個例,還是全部
自己把自己當做用戶去測試,如果沒問題,就從客戶的角度去思考
(1)路是否通的問題
1.ping www.baidu.com 高速路有沒有修好
如果 ping 是通的,不丟包。http服務的問題(服務宕機了,服務過載了)
如果 ping 是通的,丟包。機房帶寬不穩定。各個線路不穩定。
如果 ping 不通,ping www.baidu.com,機房宕了,或者 http 服務的問題(服務宕機了,服務過載了)
2.tracert -d www.baidu.com 高速的各個路段有沒有修好。從客戶端到服務器之間各個線路。讓機房配合查。
(2)機房業務是否OK
3.telnet ip地址 80端口 檢查服務器WEB服務有沒有開啟以及防火請有沒有擋住
nmap ip地址 -p 80
4.提供服務的服務器是否資源過載,服務器及服務連接數過多,負載高,CPU高,IO高等
(3)外部問題
5.服務器購買的帶寬滿了,通過流量監控服務查看
6.內鏈外鏈(調用外部網站網址有問題)
必不可少的重要調試網站前端的工具
根據網站URL調試網站
1、google瀏覽器直接F12
2、火狐 firebug,yslow
3、le httpwatch
(4)其它問題
個別客戶自身問題,例如:用戶的線路和運營商線路不符
(5)集群架構(數百臺服務器服務)
1、web 服務問題
2、數據庫問題,登錄數據庫,看是否有慢查詢語句 show proceslist,調整 MySQL 配置,優化SQL語句
3、存儲等的問題,是不是存儲服務器,如 NFS,MFS 的負載及磁盤 IO 過高?
例題選集:
1、查看當前系統每 IP 連接數
解答:netstat -an | grep "ESTABLISHED" | awk ‘ {print$4} ‘ | awk -F: ‘ {print$1} ‘ | sort -n | uniq -c
2、請列出以下服務使用的端口
http,https,ftp,telnet,ssh,rsync,dns,mysql
解答:grep -Ew " ^(http|https|ftp|telnet|ssh|rsync|dns|mysql) " /etc/services
awk --posix ‘ $1~ /^ (http|https|ftp|telnet|ssh|rsync|dns|mysql)$ / {print$0} ‘ /etc/services
3、請列出 linux 下系統常用的幾種文件系統格式,並比較各自特點
解答:uname -r ->查詢系統內核版本名
find / -type d -name "內核版本名" ->查詢到內核版本所在路徑
ls /lib/modules/2.6.32-573.el6.x86_64/kernel/fs/
4、在 linux 下給 INTEL 82571 網卡的第一個口配置 IP,網關和增加路由,請寫出命令行的具體步驟:
IP 10.10.10.10/255.255.255.0 網關 10.10.10.1 需要增加路由:到網段 192.168.0.0/255.255.255.0 通過 ip 10.10.10.2 出去
解答:ifconfig eth0 10.10.10.10/24
route add default gw 10.10.10.1 / route -n
route add -net 192.168.0.0/24 gw 10.10.10.2 / route -n
5、請詳細描述 DNS 解析過程,以請求 www.baidu.com 為例
6、請描述 TCP 四次斷連過程
解答:通過命令 "tcpdump port 22 -Stn -c 3" 分析
7、如何對主機做雙網卡綁定?如何對交換機做端口綁定?
8、對於網絡丟包問題你會怎麽去排查?(物理鏈路如網線破損;帶寬占用等)
9、如何查看主機的路由規劃、開放端口、tcp鏈接狀態?(route -n / netstat -rn / netstat -ntl)
10、簡述 raid0 raid1 raid5 三種模式的
RAID0:
工作原理
磁盤數量->1塊到多塊
組合後的容量->組合內所有硬盤容量之和
讀寫的性能->讀寫性能都是組合內所有硬盤的讀寫性能之和
是否具有冗余性->沒有冗余性
適用場景->負載均衡集群中的從節點
RAID1
磁盤數量->2塊
組合後的數量->單盤容量
讀寫性能->讀性能幾乎是兩塊硬盤的讀性能之和,寫性能幾乎為單盤寫性能
是否具有冗余性->具有冗余性,同時可以壞一塊硬盤
適用場景->系統盤
RAID5
硬盤數量->3塊以上
組合後的容量->組合內所有硬盤之和減去單盤容量
讀寫性能->讀性能幾乎是組合內所有硬盤的讀性能之和減去單盤讀性能;寫入性能為單盤的寫性能
是否具備冗余性->具備,同時最多可以壞一塊硬盤
適用場景->幾乎適用於所有非數據庫和存儲的服務器
RAID10
磁盤數量->4塊,或者以上的偶數盤
組合後的容量->組合內所有硬盤容量之和的50%
讀寫性能->讀性能幾乎是組合內所有硬盤的讀性能之和,寫入性能幾乎是組合內所用硬盤寫入性能的50%
適用場景->數據庫主節點、存儲服務器主節點
是否具備冗余性->具備;同時可以壞一半的硬盤
11、寫出 172.16.0.10/25 和 10.10.1.2/23 的掩碼地址、廣播地址和反掩碼
12、你使用過和聽說過的幾種監控軟件嗎?說說其特點
cacti:監控網絡流量和繪圖功能比較優秀
nagios:監控服務器的負載和服務狀態比較有優勢
zabbix:綜合以上兩種
13、如何查看 www.abc.com 的解析 IP 地址及其所使用的權威 DNS
14、簡要敘述下列端口所運行的服務
21、22、23、25、110、143、873、3306
21 20:ftp
22:ssh
23:telnet
25:smtp
110:pop3 995
143:imap4 993
873:rsync
3306:mysql
15、簡述 TCP 三次握手的過程
1.在最開始,客戶端和服務器都處於 CLOSE 狀態
2.服務器會創建 socket 開始監聽,服務器狀態 LISTEN
3.客戶端向服務器發送 SYN,請求建立連接,發完之後自己的狀態變為 SYN_CENT
4.服務器收到客戶端發來的 SYN,然後會回復 ACK 和 SYN,發完之後自己的狀態變為 SYN_RECV RCVD
5.客戶端收到服務器發來的 SYN 和 ACK 之後會馬上回復 ACK,回復完之後狀態變為 ESTABLISHED
6.服務器端收到客戶端發來的 ACK 之後會直接進入 ESTABLISHED
至此,三次握手完成,連接建立
16、tcpdump 怎麽抓出 ip 是10.10.0.10 tcp 80 端口的包
tcpdump host 10.10.0.10 and port 80
DNS原理