1. 程式人生 > >嵌入式學習筆記(1)虛擬機器和主機相互ping通

嵌入式學習筆記(1)虛擬機器和主機相互ping通

嵌入式學習筆記(1)虛擬機器和主機相互ping通

目錄


最近又在重新倒騰嵌入式軟體開發,沒想到第一步就卡住了,還卡了好幾天,太菜太菜了,索性乾脆寫個學習筆記,記錄一下遇到的各種奇葩問題。
進入正題,這篇文章大致寫了ping通的完整步驟,後續附加了幾個我遇到的問題和解決方案。

概念

首先理一下概念

  • 宿主機:你用的Windows主機,如果用Linux系統作為主力機,忽略
  • 虛擬機器:在VMWare/VirtualBox中安裝的Linux作業系統
  • 目標機:你的嵌入式開發板

完整步驟

首先要安裝好虛擬機器和Linux作業系統

這沒啥好說的,答主用的VirtualBox(體積不大、執行速度快,個人感覺比VMWare好用)+Ubuntu12(Ubuntu12這個版本比較穩定,後面的16、18版本實在沒力氣折騰了)

  • 設定好虛擬機器的網路連線方式
    VirtualBox:控制 -> 設定 -> 網路 -> 連線方式設定為橋接網絡卡 -> 介面名稱設定為PCIe介面的那個(這個應該沒啥影響) 在這裡插入圖片描述

設定好虛擬機器的靜態IP地址

  • Ubuntu12:系統設定 -> 網路 -> 有線選項 -> IPv4設定
  • 我這裡閘道器設定的是192.168.1.1,虛擬機器IP設定為192.168.1.2,根據自己需要設定,只要在一個網段內就可以保證互相ping通在這裡插入圖片描述

設定好宿主機的靜態IP地址

  • 這裡有幾個坑:
    1.一定要分清Win10分配的乙太網,和VirtualBox分配的乙太網
    2.Win10分配的乙太網一定要插上網線才能開啟
    3.VirtualBox的乙太網IP,一定要和之前虛擬機器裡面設定的一樣
    在這裡插入圖片描述

  • 1.網路連線 -> 乙太網屬性 -> 乙太網屬性(宿主機)-> Internet協議版本4 -> 手動設定IP為192.168.1.3


    在這裡插入圖片描述

  • 2.網路連線 -> VirtualBox網路屬性 ->Internet協議版本4 -> 手動置IP為192.168.1.2(與前面設定一樣)
    在這裡插入圖片描述

測試虛擬機器和宿主機能否互相ping通

  • Window10:開啟CMD,輸入:ping 192.168.1.2在這裡插入圖片描述
  • Ubuntu12:開啟終端,輸入:ping 192.168.1.3
    在這裡插入圖片描述

遇到的各種坑(慢慢補充)

  • Windows10防火牆沒關,導致虛擬機器ping不通宿主機
  • Ubuntu防火牆沒關,導致宿主機ping不通虛擬機器
  • WindowsDefender 防火牆,ICMPv4規則沒修改,解決:防火牆->高階設定->檔案和印表機共享-回顯請求-ICMPv4-In ->允許規則
  • 有時ubuntu更改設定之後無法及時生效,要重啟網路