幾乎所有Linux實(shí)例都需要網(wǎng)絡(luò)連接以提供服務(wù)。如果網(wǎng)絡(luò)連接失敗,服務(wù)也會(huì)失敗,用戶將面臨連續(xù)性中斷。因此,管理員必須擁有合適的工具和命令來分析與解決網(wǎng)絡(luò)連接問題。 下面有六個(gè)可用的Linux網(wǎng)絡(luò)命令來確認(rèn)連通性。 ipLinux網(wǎng)絡(luò)命令中的瑞士軍刀,ip命令,旨在配合子命令工作,如ip link管理和監(jiān)控網(wǎng)絡(luò)連接,ip addr 管理IP地址,以及ip route 管理路由表。你可以使用ip link show、ip addr show或ip route show來查看目前的連接狀態(tài)、地址配置和路由配置。更進(jìn)一步,可以使用 ip addr add dev eth0 10.0.0.10/24 來臨時(shí)分配一個(gè)IP地址到eth0網(wǎng)絡(luò)接口上。 ip 命令還提供了更高級(jí)的選項(xiàng)。例如,ip link set promisc on 臨時(shí)設(shè)置網(wǎng)絡(luò)接口為混雜模式,允許其捕捉所有網(wǎng)絡(luò)上收到的數(shù)據(jù)包——不止那些注明了屬于自己媒體訪問控制地址(MAC地址)的數(shù)據(jù)包。ip命令與其子命令適合用于排除網(wǎng)絡(luò)連接問題,但在重啟服務(wù)器后,之前這些配置都會(huì)失效。 tcpdumptcpdump是個(gè)Linux網(wǎng)絡(luò)命令,可以讓數(shù)據(jù)中心管理員分析網(wǎng)絡(luò)活動(dòng)。這個(gè)包嗅探工具可以捕獲通過特定網(wǎng)口的流量。如果不帶任何參數(shù),如tcpdump -i eth0,命令將顯示大量路過的數(shù)據(jù)包。另一種常見選項(xiàng)是使用 -w,如 tcpdump -i eth0 -w packets.pcap,可以將結(jié)果寫入文件,管理員后期可以使用Wireshark應(yīng)用程序進(jìn)行分析。 WiresharkWireshark是款圖形化工具,管理員可以用來分析和嗅探網(wǎng)絡(luò)數(shù)據(jù)包。tcpdump能夠通過標(biāo)準(zhǔn)輸出顯示捕獲的網(wǎng)絡(luò)流量,管理員可以使用Wireshark的提供的圖形用戶界面通過鼠標(biāo)點(diǎn)擊的方式,查看網(wǎng)絡(luò)通信流。這個(gè)多用途工具可以執(zhí)行實(shí)時(shí)數(shù)據(jù)包捕獲,也可以閱讀由其他工具創(chuàng)建的數(shù)據(jù)文件,如tcpdump。 ethtool如果你還在使用傳統(tǒng)的物理網(wǎng)卡,不是虛擬機(jī),你會(huì)喜歡ethtool的。這個(gè)工具允許管理員監(jiān)控和設(shè)置網(wǎng)卡的不同屬性。例如,使用ethtool -i eth0 查看eth0接口的硬件信息,或者通過 ethtool -S eth0 獲得關(guān)于eth0接收包的狀況統(tǒng)計(jì)。命令 ethtool -p eth0可以讓網(wǎng)卡上的指示燈閃爍,可以用來指示需要與eth3口交換線纜的網(wǎng)口,是個(gè)很好的技巧。但在此之前,請(qǐng)確認(rèn)在用的是eth3,而不是其他網(wǎng)絡(luò)接口。 使用ethtool時(shí),請(qǐng)牢記你不可能始終都得到有用的信息,因?yàn)榫W(wǎng)卡驅(qū)動(dòng)決定你能看到的內(nèi)容。 ncat一般來說,管理員會(huì)使用telnet來確認(rèn)特定端口的連接,驗(yàn)證服務(wù)的某個(gè)特定端口是否可用。Ncat——是netcat古老工具的現(xiàn)代替代品。 舉例來說,可以通過ncat 某主機(jī)地址 80 命令來建立往某主機(jī)80端口的連接,ncat同樣還有更多高級(jí)功能,如建立兩主機(jī)之間的連接。使用ncat -l 4444可以用ncat在主機(jī)上監(jiān)聽4444端口,接著在另外一臺(tái)主機(jī)上使用 ncat某主機(jī)地址4444 來創(chuàng)建兩臺(tái)主機(jī)之間的連接。工具本身而言,不是很有用,但利用管道命令,可以實(shí)現(xiàn)更多選項(xiàng)。例如,在一臺(tái)主機(jī)上使用命令 ncat -l 4444 >somefile ,在另一臺(tái)主機(jī)上輸入 echo hello | ncat hostname 4444,可以將其他主機(jī)上通過網(wǎng)絡(luò)傳來的命令寫入本主機(jī)的文件中。 dhclient如果你使用動(dòng)態(tài)主機(jī)配置協(xié)議來獲得網(wǎng)絡(luò)上的IP地址,每個(gè)結(jié)點(diǎn)都需要在啟動(dòng)后能夠聯(lián)網(wǎng)。但是,如果DHCP服務(wù)器在客戶端啟動(dòng)時(shí)無法訪問,你會(huì)獲得一個(gè)169.254范圍的無效地址,而且不會(huì)自動(dòng)嘗試獲取新地址。為避免此問題,使用dhclient命令立即申請(qǐng)新地址。例如可以使用Linux網(wǎng)絡(luò)命令dhclient eth0 立即更新主以太網(wǎng)設(shè)備IP地址。 一些Linux網(wǎng)絡(luò)命令已經(jīng)發(fā)生了巨大的變化,但還有一些,如ifconfig,沒有變化。該工具已經(jīng)有些過時(shí),而且不再顯示相關(guān)信息。要解決網(wǎng)絡(luò)連接問題,請(qǐng)考慮上述六項(xiàng)命令。 |
|