Linux網(wǎng)絡(luò)管理
筆記源于慕課網(wǎng)視頻課《Linux網(wǎng)絡(luò)管理》
筆記內(nèi)容去掉了一些沒用的知識(shí)點(diǎn),然后結(jié)合網(wǎng)上的博客進(jìn)行了大量的補(bǔ)充。
筆記整理:Isaac.
第1章 網(wǎng)絡(luò)基礎(chǔ)
- ISO:國(guó)際標(biāo)準(zhǔn)化組織
- OSI:開放系統(tǒng)互聯(lián)模型
- IOS:蘋果操作系統(tǒng)
1.1 ISO/OSI七層模型
- 應(yīng)用層
- 表示層
- 會(huì)話層
- 傳輸層
- 網(wǎng)絡(luò)層 (報(bào)文、IP地址)
- 數(shù)據(jù)鏈路層 (幀、MAC地址)
- 物理層 (比特)
分層表示,下層只為上層提供接口,方便管理數(shù)據(jù)
1.2 TCP/IP四層模型
- 應(yīng)用層 ≈ (應(yīng)用層 + 表示層 + 會(huì)話層)
- 傳輸層 ≈ (傳輸層)(TCP協(xié)議、UDP協(xié)議)
- 網(wǎng)際互聯(lián)層 ≈ (網(wǎng)絡(luò)層)(IP協(xié)議、IGMP協(xié)議、ICMP協(xié)議)
- 網(wǎng)絡(luò)接口層 ≈ (數(shù)據(jù)鏈路層 + 物理層)(ARP協(xié)議:把IP地址翻譯為物理地址)
1.3 IP地址
IPV4(IP地址32位)
| 類別 | 公有IP | 私有IP |
|---|---|---|
| A | 1.0.0.0 - 126.255.255.255 | 10.0.0.0 - 10.255.255.255 |
| B | 128.0.0.0 - 191.255.255.255 | 172.16.0.0 - 172.31.255.255 |
| C | 192.0.0.0 - 223.255.255.255 | 192.168.0.0 - 192.168.255.255 |
1.4 子網(wǎng)掩碼
IP Address + Subnet Mask 配合使用
| 類別 | 子網(wǎng)掩碼 |
|---|---|
| A | 255.0.0.0 |
| B | 255.255.0.0 |
| C | 255.255.255.0 |
變長(zhǎng)子網(wǎng)掩碼及子網(wǎng)規(guī)劃
- IP地址:172.16.2.121
- 子網(wǎng)掩碼:255.255.255.0
- 網(wǎng)絡(luò)地址:192.16.2.0 (最后全0)
- 主機(jī)地址:172.16.2.1 - 172.16.2.254
- 廣播地址:172.16.2.255 (最后全1)
1.5 端口
可以類比 IP地址是門牌號(hào),端口號(hào)是收件人
端口號(hào)(16位) 用于傳輸層的TCP協(xié)議和UDP協(xié)議
- FTP(文件傳輸協(xié)議):端口號(hào) 20 21
- SSH(安全Shell協(xié)議):端口號(hào) 22
- telent(遠(yuǎn)程登錄協(xié)議):端口號(hào) 23
- DNS(域名系統(tǒng)):端口號(hào) 53
- http(超文本傳輸協(xié)議):端口號(hào) 80
- SMTP(簡(jiǎn)單郵件傳輸協(xié)議):端口號(hào) 25
- POP3(郵局協(xié)議3代):端口號(hào) 110
查看本機(jī)啟用的端口的命令 netstat -an
1.6 DNS作用
DNS用于域名解析,因?yàn)镮P地址用數(shù)字表示記憶起來太困難了,人對(duì)域名更加敏感
hosts文件 C:\Windows\System32\drivers\etc\hosts
hosts是做靜態(tài)IP和域名對(duì)應(yīng),優(yōu)先于DNS,若是在hosts文件中有記錄就不會(huì)再去公網(wǎng)找地址
早期hosts文件解析域名:名稱解析效能下降,主機(jī)維護(hù)困難
DNS服務(wù):層次性,分布式
將域名解析為IP地址的步驟:
- 客戶機(jī)向NDS服務(wù)器發(fā)送域名查詢請(qǐng)求
- DNS服務(wù)器告知客戶機(jī)Web服務(wù)器的IP地址
- 客戶機(jī)與Web服務(wù)器通信
域名空間結(jié)構(gòu)
- 根域
- 頂級(jí)域 com cn
- 組織域
- 國(guó)家或地區(qū)域
- 二級(jí)域
- 主機(jī) www
防范釣魚網(wǎng)站:注意二級(jí)域名、三級(jí)域名
DNS查詢過程

遞歸查詢:要么做出查詢成功響應(yīng),要么作出查詢失敗的響應(yīng),一般客戶機(jī)與服務(wù)器之間屬遞歸查詢,即當(dāng)客戶機(jī)向DNS服務(wù)器發(fā)出請(qǐng)求后,若NDS服務(wù)器本身不能解析,則會(huì)向另外的DNS服務(wù)器發(fā)出查詢請(qǐng)求,得到結(jié)果后轉(zhuǎn)交給客戶機(jī)
迭代查詢:服務(wù)器收到一次迭代查詢回復(fù)一次結(jié)果,這個(gè)結(jié)果不一定是目標(biāo)IP與域名的映射關(guān)系,也可以是其它DNS服務(wù)器的地址
1.7 網(wǎng)關(guān)

網(wǎng)關(guān)就是圖中的路由器,也可以是一臺(tái)服務(wù)器
- 發(fā)給同一網(wǎng)段的數(shù)據(jù)報(bào),只需要經(jīng)過交換機(jī),不需要經(jīng)過路由器
- 發(fā)給不同網(wǎng)段的數(shù)據(jù)報(bào),要交給網(wǎng)關(guān)來進(jìn)行
- 內(nèi)網(wǎng)IP經(jīng)過網(wǎng)關(guān)翻譯成公網(wǎng)IP
第2章 Linux網(wǎng)絡(luò)配置
2.1 Linux配置IP地址
- ifconfig命令臨時(shí)配置IP地址
- setup工具永久配置IP地址(redhat)
- 修改網(wǎng)絡(luò)配置文件 (通用)
- 圖形界面配置IP地址(略)
2.2 查看/配置IP地址命令 ifconfig
ifconfig [網(wǎng)絡(luò)設(shè)備] [參數(shù)]
- ifconfig工具不僅可以被用來簡(jiǎn)單地查看網(wǎng)絡(luò)接口配置信息,還可以修改這些配置。
- 用ifconfig命令配置的網(wǎng)卡信息,在網(wǎng)卡重啟后機(jī)器重啟后,配置就不存在。要想將上述的配置信息永遠(yuǎn)的存的電腦里,那就要修改網(wǎng)卡的配置文件了。
- -a 顯示所有的網(wǎng)卡信息
- -s 顯示簡(jiǎn)要的網(wǎng)卡信息(類似于 netstat -i)
- down 關(guān)閉指定的網(wǎng)絡(luò)設(shè)備。
- up 啟動(dòng)指定的網(wǎng)絡(luò)設(shè)備。
- netmask<子網(wǎng)掩碼> 設(shè)置網(wǎng)絡(luò)設(shè)備的子網(wǎng)掩。
- broadcast<地址> 將要送往指定地址的數(shù)據(jù)包當(dāng)成廣播數(shù)據(jù)包來處理。
- add<地址> 設(shè)置網(wǎng)絡(luò)設(shè)備IPv6的IP地址。
- del<地址> 刪除網(wǎng)絡(luò)設(shè)備IPv6的IP地址。
- hw<地址> 設(shè)置硬件地址。
- mtu<字節(jié)數(shù)> 設(shè)置網(wǎng)卡的最大傳輸單元 (bytes)
- [-]arp 設(shè)置指定網(wǎng)卡是否支持ARP協(xié)議。-表示不支持arp。
- [-]allmulti 設(shè)置是否支持多播模式,如果選擇此參數(shù),網(wǎng)卡將接收網(wǎng)絡(luò)中所有的多播數(shù)據(jù)包。-表示不支持allmulti。
- [-]promisc 設(shè)置是否支持網(wǎng)卡的promiscuous模式,如果選擇此參數(shù),網(wǎng)卡將接收網(wǎng)絡(luò)中發(fā)給它所有的數(shù)據(jù)包。-表示不支持promisc。
顯示網(wǎng)卡信息
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:20
inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0
TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:596390239 (568.7 MiB) TX bytes:2886956 (2.7 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:68 errors:0 dropped:0 overruns:0 frame:0
TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2856 (2.7 KiB) TX bytes:2856 (2.7 KiB)
- eth0 表示第一塊網(wǎng)卡, 其中 HWaddr 表示網(wǎng)卡的物理地址,可以看到目前這個(gè)網(wǎng)卡的物理地址(MAC地址是 00:50:56:BF:26:20
- inet addr 用來表示網(wǎng)卡的IP地址,此網(wǎng)卡的 IP地址是 192.168.120.204,廣播地址, Bcast:192.168.120.255,掩碼地址 Mask:255.255.255.0
- lo 是表示主機(jī)的回環(huán)地址,這個(gè)一般是用來測(cè)試一個(gè)網(wǎng)絡(luò)程序,但又不想讓局域網(wǎng)或外網(wǎng)的用戶能夠查看,只能在此臺(tái)主機(jī)上運(yùn)行和查看所用的網(wǎng)絡(luò)接口。比如把 HTTPD服務(wù)器的指定到回環(huán)地址,在瀏覽器輸入 127.0.0.1 就能看到你所架WEB網(wǎng)站了。但只是您能看得到,局域網(wǎng)的其它主機(jī)或用戶無從知道。
- 第一行:連接類型:Ethernet(以太網(wǎng))HWaddr(硬件mac地址)
- 第二行:網(wǎng)卡的IP地址、子網(wǎng)、掩碼
- 第三行:UP(代表網(wǎng)卡開啟狀態(tài))RUNNING(代表網(wǎng)卡的網(wǎng)線被接上)MULTICAST(支持組播)MTU:1500(最大傳輸單元):1500字節(jié)
- 第四、五行:接收、發(fā)送數(shù)據(jù)包情況統(tǒng)計(jì)
- 第七行:接收、發(fā)送數(shù)據(jù)字節(jié)數(shù)統(tǒng)計(jì)信息。
啟動(dòng)關(guān)閉指定網(wǎng)卡 up/down
[root@localhost ~]# ifconfig eth0 up
[root@localhost ~]# ifconfig eth0 down
臨時(shí)設(shè)置eth0網(wǎng)卡的IP地址、子網(wǎng)掩碼 netmask、廣播地址 broadcast
[root@localhost ~]# ifconfig eth0 192.168.1.56
[root@localhost ~]# ifconfig eth0 192.168.1.56 netmask 255.255.255.0
[root@localhost ~]# ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255
為網(wǎng)卡配置和刪除IPv6地址 add/del
[root@localhost ~]# ifconfig eth0 add 33ffe:3240:800:1005::2/ 64
[root@localhost ~]# ifconfig eth0 del 33ffe:3240:800:1005::2/ 64
修改MAC地址 hw
[root@localhost ~]# ifconfig eth0 down //關(guān)閉網(wǎng)卡
[root@localhost ~]# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址
[root@localhost ~]# ifconfig eth0 up //啟動(dòng)網(wǎng)卡
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:AA:BB:CC:DD:EE
inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0
TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:596390239 (568.7 MiB) TX bytes:2886956 (2.7 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:68 errors:0 dropped:0 overruns:0 frame:0
TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2856 (2.7 KiB) TX bytes:2856 (2.7 KiB)
[root@localhost ~]# ifconfig eth0 hw ether 00:50:56:BF:26:20 //關(guān)閉網(wǎng)卡并修改MAC地址
[root@localhost ~]# ifconfig eth0 up //啟動(dòng)網(wǎng)卡
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:20
inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0
TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:596390239 (568.7 MiB) TX bytes:2886956 (2.7 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:68 errors:0 dropped:0 overruns:0 frame:0
TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2856 (2.7 KiB) TX bytes:2856 (2.7 KiB)
設(shè)置能通過的最大數(shù)據(jù)包大小為 1500 bytes -mtu
[root@localhost ~]# ifconfig eth0 mtu 1500
啟用和關(guān)閉ARP協(xié)議 [-]arp
[root@localhost ~]# ifconfig eth0 arp
[root@localhost ~]# ifconfig eth0 -arp
啟用和關(guān)閉網(wǎng)卡的多播模式 [-]allmulti
[root@localhost ~]# ifconfig eth0 allmulti
[root@localhost ~]# ifconfig eth0 -allmulti
啟用和關(guān)閉網(wǎng)卡的promiscuous模式 [-]promisc
[root@localhost ~]# ifconfig eth0 promisc
[root@localhost ~]# ifconfig eth0 -promisc
2.3 setup工具
紅帽專有圖形化工具setup設(shè)置IP地址
重啟網(wǎng)絡(luò)服務(wù)很重要 service network restart
[root@localhost ~]# setup
[root@localhost ~]# service network restart
CentOS7已經(jīng)不再使用setup工具來修改網(wǎng)絡(luò)配置,而是使用nmtui
2.4 修改網(wǎng)絡(luò)配置文件
首先,修改網(wǎng)卡信息文件
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

其次,修改主機(jī)名文件
[root@localhost ~]# vi /etc/sysconfig/network

最后,修改DNS配置文件
[root@localhost ~]# vi /etc/resolv.conf

2.5 虛擬機(jī)網(wǎng)絡(luò)配置流程
建議參考博客,我個(gè)人一般選擇橋接方法。
- 使用setup命令修改并配置IP地址
- 修改網(wǎng)卡配置文件,并重啟網(wǎng)絡(luò)服務(wù)
- 如果是復(fù)制的虛擬機(jī),修改UUID,重啟動(dòng)系統(tǒng)
- 設(shè)置虛擬機(jī)網(wǎng)絡(luò)連接方式
- 橋接:虛擬機(jī)和真實(shí)機(jī)通信使用真實(shí)網(wǎng)卡通信(可以和局域網(wǎng)通信)
- NAT:虛擬機(jī)和真實(shí)機(jī)通信使用虛擬網(wǎng)卡VMnet8通信
- Host-only:虛擬機(jī)和真實(shí)機(jī)通信使用虛擬網(wǎng)卡VMnet1通信
- 若選擇橋接方式,修改橋接網(wǎng)卡
第3章 Linux網(wǎng)絡(luò)命令
網(wǎng)絡(luò)環(huán)境查看命令ifconfig、ifdown、ifup、netstat、route、nslookup、host
3.1 查看/配置IP地址命令 ifconfig
- 可以看到IP地址,子網(wǎng)掩碼,但看不到網(wǎng)關(guān)和DNS
- 具體代碼細(xì)節(jié)見上一章
3.2 禁用網(wǎng)卡設(shè)備命令 ifdown
ifdown 網(wǎng)卡設(shè)備名
3.3 啟用網(wǎng)卡設(shè)備命令 ifup
ifup 網(wǎng)卡設(shè)備名
3.4 顯示網(wǎng)絡(luò)狀態(tài)命令 netstat
netstat 選項(xiàng)
- 用來打印Linux中網(wǎng)絡(luò)系統(tǒng)的狀態(tài)信息,可讓你得知整個(gè)Linux系統(tǒng)的網(wǎng)絡(luò)情況
- -a 顯示所有的網(wǎng)絡(luò)連接
- -t 顯示TCP協(xié)議端口
- -u 顯示UDP協(xié)議端口
- -n 直接使用IP地址,而不通過域名服務(wù)器
- -p 顯示正在使用Socket的程序識(shí)別碼和程序名稱
- -l 僅顯示在監(jiān)聽狀態(tài)網(wǎng)絡(luò)服務(wù)
- -i 顯示網(wǎng)卡列表
- -r 顯示路由列表,功能與route命令一致
- -g 顯示多重廣播功能群組組員名單
- -s 顯示網(wǎng)絡(luò)工作信息統(tǒng)計(jì)表
- -c 持續(xù)列出網(wǎng)絡(luò)狀態(tài)
顯示當(dāng)前UDP連接狀況 -nu
[root@localhost ~]# netstat -nu
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
顯示所有在監(jiān)聽的TCP、UDP和進(jìn)程(常用組合)-lntup
[root@localhost ~]# 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:35013 0.0.0.0:* LISTEN 1302/rpc.statd
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1284/rpcbind
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1518/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1389/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1602/master
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 1696/sshd
tcp 0 0 :::53350 :::* LISTEN 1302/rpc.statd
tcp 0 0 :::111 :::* LISTEN 1284/rpcbind
tcp 0 0 :::22 :::* LISTEN 1518/sshd
tcp 0 0 ::1:631 :::* LISTEN 1389/cupsd
tcp 0 0 ::1:25 :::* LISTEN 1602/master
tcp 0 0 ::1:6010 :::* LISTEN 1696/sshd
udp 0 0 0.0.0.0:611 0.0.0.0:* 1284/rpcbind
udp 0 0 0.0.0.0:5353 0.0.0.0:* 1378/avahi-daemon
udp 0 0 0.0.0.0:111 0.0.0.0:* 1284/rpcbind
udp 0 0 0.0.0.0:630 0.0.0.0:* 1302/rpc.statd
udp 0 0 0.0.0.0:631 0.0.0.0:* 1389/cupsd
udp 0 0 0.0.0.0:41265 0.0.0.0:* 1302/rpc.statd
udp 0 0 0.0.0.0:46003 0.0.0.0:* 1378/avahi-daemon
udp 0 0 :::33492 :::* 1302/rpc.statd
udp 0 0 :::611 :::* 1284/rpcbind
udp 0 0 :::111 :::* 1284/rpcbind
顯示網(wǎng)卡列表 -i
[root@localhost ~]# netstat -i
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 1843 0 0 0 136 0 0 0 BMRU
lo 16436 0 32 0 0 0 32 0 0 0 LRU
顯示路由列表 -r
[root@localhost ~]# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
172.26.0.0 * 255.255.128.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 0 0 0 eth0
default 172.26.127.254 0.0.0.0 UG 0 0 0 eth0
顯示組播組的關(guān)系 -g
[root@localhost ~]# netstat -g
IPv6/IPv4 Group Memberships
Interface RefCnt Group
--------------- ------ ---------------------
lo 1 all-systems.mcast.net
eth0 1 224.0.0.251
eth0 1 all-systems.mcast.net
lo 1 ff02::1
eth0 1 ff02::202
eth0 2 ff02::1:ffb7:b033
eth0 1 ff02::1
顯示網(wǎng)絡(luò)統(tǒng)計(jì)信息 -s
[root@localhost ~]# netstat -s
Ip:
323 total packets received
0 forwarded
0 incoming packets discarded
231 incoming packets delivered
213 requests sent out
Icmp:
1 ICMP messages received
0 input ICMP message failed.
ICMP input histogram:
destination unreachable: 1
3 ICMP messages sent
0 ICMP messages failed
ICMP output histogram:
destination unreachable: 3
IcmpMsg:
InType3: 1
OutType3: 3
Tcp:
3 active connections openings
4 passive connection openings
0 failed connection attempts
0 connection resets received
1 connections established
217 segments received
184 segments send out
0 segments retransmited
0 bad segments received.
0 resets sent
Udp:
11 packets received
2 packets to unknown port received.
0 packet receive errors
24 packets sent
UdpLite:
TcpExt:
3 TCP sockets finished time wait in fast timer
1 delayed acks sent
Quick ack mode was activated 39 times
1 packets directly queued to recvmsg prequeue.
1 packets directly received from prequeue
27 packets header predicted
85 acknowledgments not containing data received
5 predicted acknowledgments
0 TCP data loss events
39 DSACKs sent for old packets
IpExt:
InMcastPkts: 20
OutMcastPkts: 14
InBcastPkts: 71
InOctets: 46326
OutOctets: 36831
InMcastOctets: 3924
OutMcastOctets: 2967
InBcastOctets: 21627
3.5 路由表顯示/設(shè)置命令 route
route 選項(xiàng)
- route命令用來顯示并設(shè)置Linux內(nèi)核中的網(wǎng)絡(luò)路由表,route命令設(shè)置的路由主要是靜態(tài)路由。
- 直接在命令行下執(zhí)行route命令來添加路由,不會(huì)永久保存,當(dāng)網(wǎng)卡重啟或者機(jī)器重啟之后,該路由就失效了;可以在/etc/rc.local中添加route命令來保證該路由設(shè)置永久有效。
- -n 不執(zhí)行DNS反向查找,直接顯示數(shù)字形式的IP地址
- add 增加指定的路由記錄
- del 刪除指定的路由記錄
- gw 設(shè)置默認(rèn)網(wǎng)關(guān)
查看路由列表(可以看到網(wǎng)關(guān)) -n
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
172.26.0.0 0.0.0.0 255.255.128.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
0.0.0.0 172.26.127.254 0.0.0.0 UG 0 0 0 eth0
Flags為路由標(biāo)志,標(biāo)記當(dāng)前網(wǎng)絡(luò)節(jié)點(diǎn)的狀態(tài)
- U Up表示此路由當(dāng)前為啟動(dòng)狀態(tài)。
- H Host,表示此網(wǎng)關(guān)為一主機(jī)。
- G Gateway,表示此網(wǎng)關(guān)為一路由器。
- R Reinstate Route,使用動(dòng)態(tài)路由重新初始化的路由。
- D Dynamically,此路由是動(dòng)態(tài)性地寫入。
- M Modified,此路由是由路由守護(hù)程序或?qū)蚱鲃?dòng)態(tài)修改。
- ! 表示此路由當(dāng)前為關(guān)閉狀態(tài)。
臨時(shí)添加和刪除默認(rèn)網(wǎng)關(guān) add/del
[root@localhost ~]# route add default gw 192.168.120.240
[root@localhost ~]# route del default gw 192.168.120.240
3.6 DNS查詢工具 nslookup
nslookup [主機(jī)名或IP]
- 進(jìn)行域名與IP地址解析,查看DNS
[root@localhost ~]# nslookup www.baidu.com
Server: 10.8.4.4
Address: 10.8.4.4#53
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 183.232.231.174
Name: www.a.shifen.com
Address: 183.232.231.172
3.7 DNS查詢工具 host
host [選項(xiàng)] IP地址或域名
- 可以檢測(cè)域名系統(tǒng)工作是否正常
- 類似的命令除了nslookup和host之外,還有dig
-a:顯示詳細(xì)的DNS信息
[root@localhost ~]# host www.baidu.com
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 183.232.231.174
www.a.shifen.com has address 183.232.231.172
[root@localhost ~]# host -a www.baidu.com
Trying "www.baidu.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13189
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.baidu.com. IN ANY
;; ANSWER SECTION:
www.baidu.com. 298 IN CNAME www.a.shifen.com.
Received 58 bytes from 10.8.4.4#53 in 3 ms
網(wǎng)絡(luò)測(cè)試命令ping、telnet、traceroute、mtr、wget、tcpdump
3.8 檢測(cè)主機(jī)命令 ping
ping [選項(xiàng)] ip或域名
- ping 命令是用來測(cè)試TCP/IP 網(wǎng)絡(luò)是否暢通或者測(cè)試網(wǎng)絡(luò)連接速度的命令,對(duì)確定網(wǎng)絡(luò)是否正確連接,以及網(wǎng)絡(luò)連接的狀況十分有用。
- 簡(jiǎn)單的說,ping就是一個(gè)測(cè)試程序,如果ping運(yùn)行正確,大體上就可以排除網(wǎng)絡(luò)訪問層、網(wǎng)卡、Modem的輸入輸出線路、電纜和路由器等存在的故障,從而縮小問題的范圍。
- 執(zhí)行ping指令會(huì)使用ICMP傳輸協(xié)議,發(fā)出要求回應(yīng)的信息,若遠(yuǎn)端主機(jī)的網(wǎng)絡(luò)功能沒有問題,就會(huì)回應(yīng)該信息,因而得知該主機(jī)運(yùn)作正常。
- -c<次數(shù)> 設(shè)置完成要求回應(yīng)的次數(shù)
- -i<間隔秒數(shù)> 指定收發(fā)信息的間隔時(shí)間
- -s<數(shù)據(jù)包大小> 設(shè)置數(shù)據(jù)包的大小
- -t<存活數(shù)值> 設(shè)置存活數(shù)值TTL的大小
ping 百度首頁(yè),指定次數(shù)為5,間隔時(shí)間為3s,數(shù)據(jù)包大小為1024,存活時(shí)間為255
[root@localhost ~]# ping -c 5 -i 3 -s 1024 -t 255 www.baidu.com
PING www.a.shifen.com (183.232.231.174) 1024(1052) bytes of data.
1032 bytes from 183.232.231.174: icmp_seq=1 ttl=53 time=10.1 ms
1032 bytes from 183.232.231.174: icmp_seq=2 ttl=53 time=10.0 ms
1032 bytes from 183.232.231.174: icmp_seq=3 ttl=53 time=10.4 ms
1032 bytes from 183.232.231.174: icmp_seq=4 ttl=53 time=10.1 ms
1032 bytes from 183.232.231.174: icmp_seq=5 ttl=53 time=10.9 ms
--- www.a.shifen.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 12036ms
rtt min/avg/max/mdev = 10.092/10.349/10.939/0.329 ms
3.9 遠(yuǎn)程管理與端口探測(cè)命令 telnet
telnet [域名或IP] [端口]
- telnet因?yàn)椴捎?strong>明文傳送報(bào)文,安全性不好,許多Linux服務(wù)器都不開放telnet服務(wù),而改用更安全的ssh方式
- 因此現(xiàn)在telenet命令不用于遠(yuǎn)程登錄,多用于檢測(cè)遠(yuǎn)程端口是否打開
探查百度的80端口是否開啟
[root@localhost ~]# telnet www.baidu.com 80
3.10 路由跟蹤命令 traceroute
traceroute [選項(xiàng)] IP或域名
- 用于顯示數(shù)據(jù)包到主機(jī)間的路徑,它默認(rèn)發(fā)送的數(shù)據(jù)包大小是40字節(jié)
- -n:使用IP,不使用域名,速度更快
對(duì)百度首頁(yè)進(jìn)行路由追蹤,但有些IP被屏蔽了
[root@localhost ~]# traceroute -n www.baidu.com
traceroute to www.baidu.com (183.232.231.172), 30 hops max, 60 byte packets
1 172.26.127.254 4.078 ms 3.569 ms 3.469 ms
2 10.44.37.201 3.363 ms 4.395 ms 4.609 ms
3 10.44.16.201 4.181 ms 4.144 ms 4.030 ms
4 10.10.1.42 4.105 ms 3.983 ms 3.884 ms
5 120.236.174.129 4.899 ms 4.801 ms 4.710 ms
6 120.197.11.5 4.436 ms 5.013 ms 4.879 ms
7 183.233.54.77 6.560 ms 7.534 ms 183.233.54.73 11.528 ms
8 211.136.207.185 7.259 ms 211.136.207.201 6.856 ms 211.136.210.197 6.496 ms
9 120.196.199.130 7.951 ms 120.196.198.198 9.780 ms 120.196.199.106 9.543 ms
10 120.241.49.198 9.951 ms 120.241.49.226 9.316 ms 120.241.49.218 9.716 ms
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
3.11 路由分析命令 mtr
mtr [選項(xiàng)] IP地址或域名
- ping的話可以來判斷丟包率,tracert可以用來跟蹤路由
- mtr命令把ping命令和tracepath命令合成了一個(gè)。mtr會(huì)持續(xù)發(fā)包,并顯示每一跳ping所用的時(shí)間。
3.12 下載命令 wget
wget [選項(xiàng)] 鏈接
- 可以將整個(gè)首頁(yè)下載下來
- 類似的命令還有links
- -r 會(huì)按照遞歸的方式,下載服務(wù)器上所有的目錄和文件
- -c 斷點(diǎn)續(xù)傳
3.13 抓包工具 tcpdump
tcpdump [選項(xiàng)]
- 類似的抓包工具還有wireshark
- -c<數(shù)據(jù)包數(shù)目> 收到指定的數(shù)據(jù)包數(shù)目后,就停止進(jìn)行傾倒操作
- -q 快速輸出,僅列出少數(shù)的傳輸協(xié)議信息
- -i:指定網(wǎng)卡接口
- -nn:將數(shù)據(jù)包中的域名與服務(wù)轉(zhuǎn)為IP和端口
- -X:以十六進(jìn)制和ASCII碼顯示數(shù)據(jù)包內(nèi)容
- port:指定監(jiān)聽的端口
指定數(shù)量 -c
[root@localhost ~]# tcpdump -c 20
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
18:33:47.236378 IP 172.26.10.123.ssh > 172.26.73.115.wins: Flags [P.], seq 3581205270:3581205466, ack 3567864398, win 365, length 196
18:33:47.236829 IP 172.26.10.123.38612 > 10.8.4.4.domain: 27853+ PTR? 115.73.26.172.in-addr.arpa. (44)
18:33:47.246565 IP 10.8.4.4.domain > 172.26.10.123.38612: 27853 NXDomain* 0/1/0 (103)
18:33:47.246824 IP 172.26.10.123.56159 > 10.8.4.4.domain: 20455+ PTR? 123.10.26.172.in-addr.arpa. (44)
18:33:47.251314 IP 10.8.4.4.domain > 172.26.10.123.56159: 20455 NXDomain* 0/1/0 (103)
18:33:47.251507 IP 172.26.10.123.39087 > 10.8.4.4.domain: 1878+ PTR? 4.4.8.10.in-addr.arpa. (39)
18:33:47.252381 IP 172.26.10.123.ssh > 172.26.73.115.wins: Flags [P.], seq 196:376, ack 1, win 365, length 180
18:33:47.252533 IP 172.26.73.115.wins > 172.26.10.123.ssh: Flags [.], ack 376, win 16154, length 0
18:33:47.254238 IP 10.8.4.4.domain > 172.26.10.123.39087: 1878 NXDomain* 0/1/0 (98)
18:33:47.255371 IP 172.26.10.123.ssh > 172.26.73.115.wins: Flags [P.], seq 376:1196, ack 1, win 365, length 820
18:33:47.257931 IP 172.26.10.123.ssh > 172.26.73.115.wins: Flags [P.], seq 1196:1360, ack 1, win 365, length 164
18:33:47.259008 IP 172.26.73.115.wins > 172.26.10.123.ssh: Flags [.], ack 1360, win 16425, length 0
18:33:47.260499 IP 172.26.10.123.ssh > 172.26.73.115.wins: Flags [P.], seq 1360:1620, ack 1, win 365, length 260
18:33:47.261427 IP 172.26.10.123.ssh > 172.26.73.115.wins: Flags [P.], seq 1620:1784, ack 1, win 365, length 164
18:33:47.261564 IP 172.26.73.115.wins > 172.26.10.123.ssh: Flags [.], ack 1784, win 16319, length 0
18:33:47.261668 IP 172.26.10.123.ssh > 172.26.73.115.wins: Flags [P.], seq 1784:2044, ack 1, win 365, length 260
18:33:47.262398 IP 172.26.10.123.ssh > 172.26.73.115.wins: Flags [P.], seq 2044:2208, ack 1, win 365, length 164
18:33:47.262694 IP 172.26.73.115.wins > 172.26.10.123.ssh: Flags [.], ack 2208, win 16213, length 0
18:33:47.263063 IP 172.26.10.123.ssh > 172.26.73.115.wins: Flags [P.], seq 2208:2468, ack 1, win 365, length 260
18:33:47.263299 IP 172.26.10.123.ssh > 172.26.73.115.wins: Flags [P.], seq 2468:2632, ack 1, win 365, length 164
20 packets captured
21 packets received by filter
0 packets dropped by kernel
精簡(jiǎn)模式 -q
[root@localhost ~]# tcpdump -c 10 -q
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
18:35:08.819178 IP 172.26.10.123.ssh > 172.26.73.115.wins: tcp 196
18:35:08.820118 IP 172.26.10.123.50655 > 10.8.4.4.domain: UDP, length 44
18:35:08.831053 IP 10.8.4.4.domain > 172.26.10.123.50655: UDP, length 103
18:35:08.831258 IP 172.26.10.123.49155 > 10.8.4.4.domain: UDP, length 44
18:35:08.833871 IP 10.8.4.4.domain > 172.26.10.123.49155: UDP, length 103
18:35:08.834031 IP 172.26.10.123.46000 > 10.8.4.4.domain: UDP, length 39
18:35:08.835692 IP 172.26.10.123.ssh > 172.26.73.115.wins: tcp 116
18:35:08.835848 IP 172.26.73.115.wins > 172.26.10.123.ssh: tcp 0
18:35:08.836876 IP 10.8.4.4.domain > 172.26.10.123.46000: UDP, length 98
18:35:08.838221 IP 172.26.73.115.wins > 172.26.10.123.ssh: tcp 0
10 packets captured
13 packets received by filter
0 packets dropped by kernel
指定監(jiān)聽網(wǎng)卡eth0的21端口,并以16進(jìn)制輸出
[root@localhost ~]# tcpdump -i eth0 -nnX port 21
其他一些網(wǎng)絡(luò)命令arp、dhclient、iwlist、iwconfig、ethtool、ip
3.14 管理系統(tǒng)ARP緩沖區(qū)命令 arp
arp [選項(xiàng)]
- 可以顯示arp緩沖區(qū)的所有條目、刪除指定條目或增加靜態(tài)IP地址與MAC地址的對(duì)應(yīng)關(guān)系
- -a 顯示arp緩沖區(qū)的所有條目
- -v 顯示詳細(xì)的arp緩沖區(qū)條目,包括緩沖區(qū)條目的統(tǒng)計(jì)信息
[root@localhost ~]# arp -a
? (172.26.73.115) at dc:85:de:f8:a5:05 [ether] on eth0
[root@localhost ~]# arp -v
Address HWtype HWaddress Flags Mask Iface
172.26.73.115 ether dc:85:de:f8:a5:05 C eth0
172.26.127.254 ether 00:74:9c:9f:46:87 C eth0
Entries: 2 Skipped: 0 Found: 2
3.15 DHCP客戶端命令 dhclient
dhclinet 網(wǎng)卡設(shè)備
以dhcp模式啟用eth0
[root@localhost ~]# dhclient eth0
3.16 無線網(wǎng)絡(luò)相關(guān)命令 iwconfig、iwlist
iwconfig和ifconfig很相似。但是iwconfig僅僅和無線網(wǎng)絡(luò)相關(guān)。用來設(shè)置參數(shù)等。
3.17 網(wǎng)絡(luò)管理工具 ethtool
ethtool 提供了強(qiáng)大的網(wǎng)卡及網(wǎng)卡驅(qū)動(dòng)管理能力,其具體的實(shí)現(xiàn)框架和網(wǎng)絡(luò)驅(qū)動(dòng)程序及網(wǎng)絡(luò)硬件關(guān)系緊密,容易修改和擴(kuò)展,能夠?yàn)?Linux 網(wǎng)絡(luò)開發(fā)人員和管理人員提供對(duì)網(wǎng)卡硬件,驅(qū)動(dòng)程序和網(wǎng)絡(luò)協(xié)議棧的設(shè)置,查看以及及調(diào)試等功能。
3.18 網(wǎng)絡(luò)配置工具 ip
ip是iproute2軟件包里面的一個(gè)強(qiáng)大的網(wǎng)絡(luò)配置工具,用來顯示或操作路由、網(wǎng)絡(luò)設(shè)備、策略路由和隧道,它能夠替代一些傳統(tǒng)的網(wǎng)絡(luò)管理工具,例如ifconfig、route等。用ip配置的設(shè)備信息,大部分會(huì)在設(shè)備重啟后還原,如果想永久保留配置,請(qǐng)盡量進(jìn)入配置文件修改。
第4章 遠(yuǎn)程登錄工具
對(duì)稱加密算法:加密和解密用同一個(gè)密碼
非對(duì)稱加密算法;公鑰、私鑰
SSH安全外殼協(xié)議在非對(duì)稱加密算法的基礎(chǔ)上設(shè)計(jì)而來。
4.1 遠(yuǎn)程管理命令 ssh
ssh 用戶名@ip
- 遠(yuǎn)程管理指定Linux服務(wù)器
ssh 192.168.1.100 # 默認(rèn)利用當(dāng)前宿主用戶的用戶名登錄
ssh omd@192.168.1.100 # 利用遠(yuǎn)程機(jī)的用戶登錄
ssh omd@192.168.1.100 -o stricthostkeychecking=no # 首次登陸免輸yes登錄
ssh omd@192.168.1.100 "ls /home/omd" # 當(dāng)前服務(wù)器A遠(yuǎn)程登錄服務(wù)器B后執(zhí)行某個(gè)命令
ssh omd@192.168.1.100 -t "sh /home/omd/ftl.sh" # 當(dāng)前服務(wù)器A遠(yuǎn)程登錄服務(wù)器B后執(zhí)行某個(gè)腳本
scp [-r] 用戶名@ip:文件路徑 本地路徑
- 下載文件
scp [-r] 本地文件 用戶名@ip:上傳路徑
- 上傳文件
4.2 遠(yuǎn)程管理工具
- XShell 推薦
- SecureCRT 收費(fèi)
- WinSCP Windows和Liux之間文件傳輸