Linux Centos7使用ping命令ping不通網絡的解決方案


本解決方案不配置dns,都是ping的IP地址,所以如果想ping域名,則加上DNS項的配置后自行嘗試吧

我使用的虛擬機系統信息:

Linux:Centos7

Network:虛擬機設置的橋接模式(自動)

 

 

第一步,先來解決無法ping通外部網絡的情況

cd /etc/sysconfig/network-scripts

# ifcfg-<網卡名稱>
vim ifcfg-ens32

# 網卡配置內容

# 應該是自啟動的配置項
ONBOOT=yes

  #BOOTPROTO="dhcp"
  BOOTPROTO="static"

 

  # 以下網關、IP、子網掩碼改成自己的

  IPADDR=192.168.11.200
  NETMASK="255.255.255.0"
  GATEWAY=192.168.11.1

 

 然后上面配置好后,ping下IP:110.242.68.4(www.baidu.com)

 

常用配置項說明信息(Copy的):

TYPE=Ethernet    # 網卡類型:為以太網
PROXY_METHOD=none    # 代理方式:關閉狀態
BROWSER_ONLY=no      # 只是瀏覽器:否
BOOTPROTO=dhcp  #設置網卡獲得ip地址的方式,可能的選項為static(靜態),dhcp(dhcp協議)或bootp(bootp協議).
DEFROUTE=yes        # 默認路由:是, 不明白的可以百度關鍵詞 `默認路由`
IPV4_FAILURE_FATAL=no     # 是不開啟IPV4致命錯誤檢測:否
IPV6INIT=yes         # IPV6是否自動初始化: 是[不會有任何影響, 現在還沒用到IPV6]
IPV6_AUTOCONF=yes    # IPV6是否自動配置:是[不會有任何影響, 現在還沒用到IPV6]
IPV6_DEFROUTE=yes     # IPV6是否可以為默認路由:是[不會有任何影響, 現在還沒用到IPV6]
IPV6_FAILURE_FATAL=no     # 是不開啟IPV6致命錯誤檢測:否
IPV6_ADDR_GEN_MODE=stable-privacy   # IPV6地址生成模型:stable-privacy [這只一種生成IPV6的策略]
NAME=ens34     # 網卡物理設備名稱  
UUID=8c75c2ba-d363-46d7-9a17-6719934267b7   # 通用唯一識別碼,沒事不要動它,否則你會后悔的。。
DEVICE=ens34   # 網卡設備名稱, 必須和 `NAME` 值一樣
ONBOOT=no #系統啟動時是否設置此網絡接口,設置為yes時,系統啟動時激活此設備 
IPADDR=192.168.103.203   #網卡對應的ip地址
PREFIX=24             # 子網 24就是255.255.255.0
GATEWAY=192.168.103.1    #網關  
DNS1=114.114.114.114        # dns
HWADDR=78:2B:CB:57:28:E5  # mac地址

 

 

 

響應如下信息:connect: Network is unreachable  ;那么應該是網卡沒有激活導致,繼續往下

 

 

使用nmtui GUI工具看下網卡是否激活,如果沒有激活,進行激活下;如果是bash窗口,沒有GUI,那么使用nmcli或

ifup <網卡名稱;例如:ens32>

進行激活下網卡使用,

嘗試ping下: ping 110.242.68.4

 

如果還是不通,響應:connect: Network is unreachable ;那么你看下網關是否配置了,沒有配置的話配置下。配置好后,應該就可以ping通外網了

 

第二步,如果能訪問外網,但是虛擬機Centos7系統無法訪問外機網絡,那么就看下邊的解決方案。

 

需要保證虛擬機Centos7配置的網絡是一個子網下;子網掩碼一致,IP的前三段一致,網關一致(網關就算你配置了,第四段的值依舊是255,不知道啥情況。。別說是廣播地址什么的,畢竟網關是指定配置的)

 

如果出現這種情況,一直卡住(不會打印第二條信息的情況,也沒有響應)的情況的話,那么以下的解決方案應該就能解決了。

 

 能ping通外網上的IP,但是無法ping到虛擬機所處的外機,

這種情況一般是window的防火牆導致,這里我們嘗試把window正在使用的防火牆關閉,看下ping的信息是否能ping通,如果能ping通,這就是說明防火牆的原因。

 

這里我們配置下ICMP協議的入站規則:

 

 

 新建ICMP協議入站規則,看win10操作文檔(https://docs.microsoft.com/zh-cn/windows/security/threat-protection/windows-firewall/create-an-inbound-icmp-rule),其中選擇和填寫的信息以上圖為准就行了。

 

 

出站規則我這邊沒有配置,畢竟我這邊並沒有阻止ICMP協議的出站流量;官方解釋如下圖,紅線是重點

 

 

# 20230705補充

如果能訪問內網連通,但是無法訪問外網的話,可能是路由表中沒有默認路由,添加一項路由外網的路由到路由表中。具體的命令忘記了,可以網上搜索一把。

 

 

參閱

創建入站 ICMP 規則:https://docs.microsoft.com/zh-cn/windows/security/threat-protection/windows-firewall/create-an-inbound-icmp-rule

創建出站端口規則:https://docs.microsoft.com/zh-cn/windows/security/threat-protection/windows-firewall/create-an-outbound-port-rule

 

ICMP協議介紹:https://www.php.cn/faq/465856.html  , https://baike.baidu.com/item/ICMP/572452?fr=aladdin

ifup命令:https://www.linuxcool.com/ifup

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM