主机+虚拟机+开发板互相ping通(折腾很久的问题。。终于搞定了。。)

本文详细介绍了如何在虚拟机VMWARE中设置IP地址、使用桥接方式连接开发板和主机,确保三者处于同一网段并实现互相通信的过程。通过调整网络参数和使用桥接模式,成功实现了主机、虚拟机和开发板之间的网络互通。

以下是我的IP设置:

本机本地连接 IP: 192.168.1.23

子网掩码:255.255.255.0

默认网关:192.168.1.1

首选DNS:202.96.128.86

开发板地址 IP: 192.168.1.230

子网掩码:255.255.255.0

默认网关:192.168.1.1

首选DNS:202.96.128.86

虚拟机Ubuntu IP: 192.168.1.108

子网掩码:255.255.255.0

默认网关:192.168.1.1

首选DNS:202.96.128.86

  1. 用桥接方式,在虚拟机VMWARE里面:edit->Vitual Network Editor,选择VMnet0里面的bridge设置里面要选定自己的本地网卡(之前我让它自动选择,导致可能选到无线网卡了,因此虚拟机一直不能Ping通开发板 - -!)。如下图:

  1. 分别主机、虚拟机、开发板要设置静态的IP,要处于同一个网段,也就是比如192.168.1.* (*后面是不一样的),其他的子网掩码,网关,DNS都设置相同。
  2. 把开发板网线和主机相连,然后ping下就可以互相通了哈~如下图:

主机ping通开发板

主机ping通虚拟机

虚拟机ping通开发板

参考了下:http://wenku.baidu.com/view/121b69669b6648d7c1c746c8.html


原创文章,欢迎转载,转载请注明:blog.youkuaiyun.com/jjzhoujun2010

作者:Dream Fly


### 虚拟机 NAT 模式下与 ARM 开发板互相 ping 的解决方案 #### 网络拓扑分析 虚拟机使用 NAT 模式时,其 IP 地址位于虚拟网络子网中(如 `192.168.52.0/24`),而 ARM 开发板位于物理网络子网中(如 `192.168.31.0/24`)。由于 NAT 模式下的虚拟机主机的 NAT 路由器访问外部网络,因此需要在主机上配置端口转发规则以实现从物理网络到虚拟机信[^1]。 #### 主机端口转发配置 在主机上,需要为虚拟机配置 ICMP 流量的端口转发规则。以下是基于 Linux 的具体配置方法: - 首先,确保主机启用了 IP 转发功能: ```bash sysctl -w net.ipv4.ip_forward=1 ``` - 接着,使用 `iptables` 添加规则以转发来自物理网络的 ICMP 请求到虚拟机: ```bash iptables -t nat -A PREROUTING -p icmp -s 192.168.31.0/24 -j DNAT --to-destination 192.168.52.100 ``` 此命令将所有来自 `192.168.31.0/24` 子网的 ICMP 请求转发到虚拟机 `192.168.52.100`。 - 最后,确保虚拟机的响应能够正确返回到物理网络: ```bash iptables -t nat -A POSTROUTING -p icmp -d 192.168.31.0/24 -j MASQUERADE ``` #### ARM 开发板网络配置 ARM 开发板需要正确设置默认网关和路由规则。以下是具体的配置步骤: - 设置默认网关为路由器的 IP 地址 `192.168.31.1`: ```bash ip route add default via 192.168.31.1 ``` - 添加虚拟机所在子网的路由规则: ```bash ip route add 192.168.52.0/24 via 192.168.31.1 ``` #### 虚拟机网络配置 如果虚拟机使用 NAT 模式,则无需额外配置网络适配器。但需确保虚拟机允许 ICMP 流量过防火墙。在 Linux 系统中,可以临时禁用防火墙进行测试: ```bash iptables -F ``` #### 测试连性 完成上述配置后,从 ARM 开发板虚拟机发送 ping 请求: ```bash ping 192.168.52.100 ``` 同时,从虚拟机向 ARM 开发板发送 ping 请求以验证双向连性: ```bash ping 192.168.31.98 ``` #### 故障排查 如果仍然无法 ping ,可以按照以下方法排查问题: - 检查主机的 `iptables` 规则是否正确配置。 - 使用 `traceroute` 命令跟踪数据包路径,定位可能的瓶颈: ```bash traceroute 192.168.52.100 ``` - 检查虚拟机的防火墙设置,确保允许 ICMP 流量过。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JaydenZhou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值