Linux服務(wù)器網(wǎng)絡(luò)連接故障排除的完整指南
當(dāng) Linux 服務(wù)器似乎離線或無法訪問時(shí),您應(yīng)該始終能夠通過 UpCloud 控制面板的 Web 控制臺(tái)或通過 VNC 連接登錄。登錄后,使用 ping 和公共 IP 地址(例如 Google 的公共 DNS 服務(wù)器)測試服務(wù)器的互聯(lián)網(wǎng)連接,如果互聯(lián)網(wǎng)連接正常,這很可能會(huì)得到回復(fù)。
ping -c 4 8.8.8.8
輸出結(jié)果應(yīng)類似以下內(nèi)容:
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=58 time=1.68 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=58 time=1.70 ms 64 bytes from 8.8.8.8: icmp_seq=3 ttl=58 time=1.71 ms 64 bytes from 8.8.8.8: icmp_seq=4 ttl=58 time=1.69 ms --- 8.8.8.8 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3005ms rtt min/avg/max/mdev = 1.686/1.699/1.718/0.051 ms
如果服務(wù)器無法到達(dá)目的地,則可能是配置問題。請(qǐng)按照此處描述的步驟排除 Linux 云服務(wù)器最常見的網(wǎng)絡(luò)問題。
檢查網(wǎng)絡(luò)配置
如果您的 Linux 服務(wù)器無法訪問,請(qǐng)首先檢查網(wǎng)絡(luò)接口。使用 ip addr
命令查看所有接口的狀態(tài),確保關(guān)鍵連接(如 eth0)已啟用。如果發(fā)現(xiàn)任何接口被禁用,請(qǐng)使用 ifup
激活它們。通過使用 ifdown --force
和 ifup
命令重新啟動(dòng)接口來解決持續(xù)存在的問題。
確保網(wǎng)絡(luò)接口(例如 eth0)已啟用。要查看所有已配置的接口,請(qǐng)使用此命令:
ip addr
命令的輸出將顯示服務(wù)器上每個(gè)網(wǎng)絡(luò)接口的狀態(tài),例如,如下所示為“state UP”或“state DOWN”:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
使用以下命令打開任何禁用的接口:
sudo ifup <interface name>
這里的接口名稱是 ip addr
命令輸出中列出的名稱之一,例如 eth0、eth1 或 eth2。
當(dāng)所有網(wǎng)絡(luò)接口都已啟用后,請(qǐng)?jiān)俅螄L試使用 ping 命令。如果問題仍然存在,請(qǐng)檢查網(wǎng)絡(luò)接口是否已分配 IP,并且它們與 UpCloud 控制面板的網(wǎng)絡(luò)部分:https://upcloud.com/resources/tutorials/troubleshoot-network-connectivity-linux-server/#network-section中的信息匹配。
嘗試使用以下命令重新啟動(dòng)任何有問題的接口:
sudo ifdown <interface name> sudo ifup <interface name>
如果其中任何一個(gè)命令失敗,則接口可能處于命令腳本未知的狀態(tài)。請(qǐng)嘗試再次使用 --force
參數(shù)執(zhí)行相同的命令以解決此類問題:
sudo ifdown --force <interface name> sudo ifup <interface name>
如果重新啟動(dòng)網(wǎng)絡(luò)接口解決了問題,那就太好了!如果不是,請(qǐng)繼續(xù)進(jìn)行故障排除。
檢查網(wǎng)絡(luò)配置文件
Linux 通常將網(wǎng)絡(luò)設(shè)置存儲(chǔ)在特定文件中,并在啟動(dòng)時(shí)或使用 ifup
命令時(shí)讀取它們。要更改網(wǎng)絡(luò)配置,您需要使用文本編輯器打開正確的文件。在基于 Debian 和 Ubuntu 的發(fā)行版中,可以使用以下命令完成此操作:
sudo nano /etc/network/interfaces
在大多數(shù)情況下,接口文件應(yīng)列出以下接口:
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet dhcp
在 CentOS 和其他 Red Hat 變體中,這些配置被拆分為每個(gè)網(wǎng)絡(luò)接口的單獨(dú)文件,并存儲(chǔ)在 /etc/sysconfig/network-scripts/
中?;ヂ?lián)網(wǎng)連接的默認(rèn)接口通常稱為 eth0,它會(huì)打開相應(yīng)的配置文件:
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
eth0 的配置文件應(yīng)如下所示:
DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes
如果接口配置文件與此處示例不匹配,請(qǐng)編輯特定于您系統(tǒng)的文件以恢復(fù)原始功能。要使對(duì)這些文件所做的任何更改生效,您必須按照前面使用 ifdown
和 ifup
命令所述重新啟動(dòng)應(yīng)用更改的接口。
檢查服務(wù)器的 DNS 記錄
如果您的服務(wù)器可以 ping IP 但無法連接到域,則可能是 DNS 問題。使用 ping upcloud.com
測試域名解析,并使用 sudo cat /etc/resolv.conf
檢查 DNS 配置。確保您的 DNS 服務(wù)器(例如 UpCloud 的解析器)在此文件或通過您的網(wǎng)絡(luò)接口文件正確配置。
ping upcloud.com
如果域沒有回復(fù),問題很可能出在服務(wù)器如何將域名解析為 IP 地址。檢查服務(wù)器的 DNS 記錄:
sudo cat /etc/resolv.conf
列表應(yīng)至少包含 1 個(gè)名稱服務(wù)器。UpCloud 的所有默認(rèn) DNS 解析器無論可用區(qū)如何都具有相同的 IP 地址。DNS 服務(wù)器由 DHCP 協(xié)議自動(dòng)提供,操作系統(tǒng)中無需手動(dòng)配置。
UpCloud DNS 解析器 IPv4 地址為:
- 94.237.127.9
- 94.237.40.9
如果您的服務(wù)器具有公共 IPv6 地址,您還可以將 IPv6 與以下服務(wù)器一起使用:
- 2a04:3540:53::1
- 2a04:3544:53::1
如果列表為空,請(qǐng)勿手動(dòng)編輯,因?yàn)槿绻惭b了名稱服務(wù)器管理器,您所做的任何更改都將被還原。相反,您可以嘗試使用此命令在 Ubuntu 和某些 Debian 系統(tǒng)上更新它:
sudo resolvconf -u
在未安裝 resolvconf 的 Debian 服務(wù)器上,您可以直接編輯 resolv.conf 文件:
sudo nano /etc/resolv.conf
將以下行添加到文件,保存并退出:
nameserver 94.237.127.9 nameserver 94.237.40.9
對(duì)于那些安裝了 resolvconf 的用戶,如果更新命令后 resolv.conf 仍然為空,您可以將名稱服務(wù)器添加到您的接口文件。打開它進(jìn)行編輯:
sudo nano /etc/network/interfaces
在 eth0 部分的末尾添加一個(gè)名稱服務(wù)器:
auto eth0 iface eth0 inet dhcp dns-nameservers 94.237.127.9
之后,保存文件并退出。您還需要使用以下命令重新啟動(dòng)網(wǎng)絡(luò)服務(wù):
sudo service networking restart
在 CentOS 和其他 Red Hat 變體中,resolv.conf 文件的填充方式略有不同,如果文件為空,您可以在負(fù)責(zé)公共 IP 的網(wǎng)絡(luò)接口的網(wǎng)絡(luò)配置文件中添加最多兩個(gè) DNS 條目。例如,使用以下命令打開 ifcfg-eth0:
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
編輯文件使其看起來像這樣:
DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes DNS1=94.237.127.9 DNS2=94.237.40.9
退出編輯器并使用 ifdown
和 ifup
命令重新啟動(dòng)您剛剛編輯配置文件的接口。
雙向測試連接
嘗試通過互聯(lián)網(wǎng) ping 您的服務(wù)器。在您自己的計(jì)算機(jī)上打開終端或命令提示符,然后嘗試 ping 您的服務(wù)器的公共 IP,您可以在 UpCloud 控制面板的網(wǎng)絡(luò)部分:https://upcloud.com/resources/tutorials/troubleshoot-network-connectivity-linux-server/#network-section下找到它。
在您自己的計(jì)算機(jī)上:ping <server public IP>
通過從您的服務(wù)器 ping 另一個(gè)站點(diǎn)來測試互聯(lián)網(wǎng)連接。例如,使用以下命令 ping Google 的公共 DNS:
ping 8.8.8.8
如果您在您的帳戶上部署了第二臺(tái)服務(wù)器,并且問題出在分配了私有 IP 地址的接口上,請(qǐng)嘗試使用 UpCloud 控制面板中列出的私有 IP 從您的其他服務(wù)器 ping 它。
如果 ping 未能收到回復(fù),則問題可能出在服務(wù)器的網(wǎng)絡(luò)配置或防火墻。如果您可以從本地計(jì)算機(jī) ping 服務(wù)器,但不能從服務(wù)器本身 ping,則問題可能出在服務(wù)器的出站網(wǎng)絡(luò)配置。
檢查防火墻
如果您的服務(wù)器網(wǎng)絡(luò)配置正確但仍然無法連接,則防火墻可能會(huì)阻止流量。使用 sudo iptables -L -n
檢查 iptables 規(guī)則,或使用 sudo firewall-cmd --list-all
檢查 firewalld。使用 sudo systemctl stop firewalld
或 sudo iptables -F
暫時(shí)禁用防火墻,以查看是否解決了問題。如果解決了,請(qǐng)重新啟用它并添加特定規(guī)則以允許必要的流量。
要檢查防火墻規(guī)則,請(qǐng)使用以下命令:
sudo iptables -L -n
對(duì)于 firewalld:
sudo firewall-cmd --list-all
要暫時(shí)禁用防火墻(請(qǐng)謹(jǐn)慎使用):
sudo systemctl stop firewalld # 或者對(duì)于 iptables sudo iptables -F
如果禁用防火墻解決了問題,您需要添加特定規(guī)則以允許必要的流量。例如,要允許 HTTP 流量:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
檢查丟包和延遲
高丟包或延遲會(huì)嚴(yán)重影響網(wǎng)絡(luò)性能。使用 mtr
診斷網(wǎng)絡(luò)路徑問題,它結(jié)合了 ping
和 traceroute
功能。分析輸出以確定數(shù)據(jù)包在哪里被丟棄或延遲,從而指示路由器或網(wǎng)絡(luò)段的潛在問題。
要檢查丟包和延遲,請(qǐng)使用 mtr
:
mtr google.com
此命令將顯示您的數(shù)據(jù)包所采用的路徑以及每個(gè)躍點(diǎn)的延遲和丟包。查找特定躍點(diǎn)處的高丟包或延遲以查明問題區(qū)域。
以上就是Linux服務(wù)器網(wǎng)絡(luò)連接故障排除的完整指南的詳細(xì)內(nèi)容,更多關(guān)于Linux網(wǎng)絡(luò)連接故障排除的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
詳解輕巧AMH虛擬主機(jī)面板安裝使用和GCE云空間搭建網(wǎng)站實(shí)例
這篇文章主要介紹了輕巧AMH虛擬主機(jī)面板安裝使用和GCE云空間搭建網(wǎng)站實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07CentOS-NAT模式下(DHCP)聯(lián)網(wǎng)成功案例
這篇文章主要為大家詳細(xì)介紹了CentOS-NAT模式下(DHCP)聯(lián)網(wǎng)成功,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11配置Linux服務(wù)器SSH 安全訪問的四個(gè)小技巧
越來越多的站長,開始使用獨(dú)立主機(jī)(Dedicated Host)和 VPS。而為了節(jié)省成本或提高性能,不少人的獨(dú)機(jī)和 VPS,都是基于 unmanaged 的裸機(jī),一切都要自己 DIY。這時(shí)候,安全策略的實(shí)施,就猶為重要。2010-12-12Linux上定位后臺(tái)服務(wù)偶發(fā)崩潰的解決方法
在本篇內(nèi)容中小編給大家整理的是一篇關(guān)于Linux上定位后臺(tái)服務(wù)偶發(fā)崩潰的解決方法,有需要的朋友們可以學(xué)習(xí)參考下。2020-11-11如何查看Apache的連接數(shù)和當(dāng)前連接數(shù)
查看Apache的連接數(shù)和當(dāng)前的連接數(shù)以及IP訪問次數(shù),下面有個(gè)不錯(cuò)的示例,大家可以參考下,希望對(duì)大家解決問題有所幫助2014-01-01