我有一台 Ubuntu VM,我在其中部署了 U-Boot 的映像和 rootfs。在 VirtualBox(版本 5.0.2)设置中,我调整了桥接适配器。在此图中你可以看到我的设置:
当我给虚拟机分配一个 IP 时
sudo ifconfig eth1 192.168.99.1
我可以使用 U-Boot ping 虚拟机。但是eth1
接口很快又丢失了 IP,而且我找不到任何解决方案来防止这种情况发生。
我读到这与 ARP 协议有关,无法禁用。您能帮我提供一些可能的配置,让我能够从带有 U-Boot 的主板访问主机上的虚拟机吗?
PS:主板和主机仅通过 LAN 电缆连接。我读到过一篇文章,其中提到交换机可以解决 IP 丢失的问题。我试过了,但似乎什么也没发生。
答案1
我现在终于可以收到一个 IP,而且不会丢失。所有遇到同样问题(即在桥接网络中短时间后丢失 IP)的人都可以使用此解决方案[My Ubuntu is 14.04 LTS]
。
在主机系统中,什么都没有改变。我仍然使用桥接适配器在虚拟盒中。
1. 设置DHCP 服务器*:
sudo apt-get install isc-dhcp-server
2. 编辑 DHCP 守护进程的配置文件:
/etc/dhcp/dhcpd.conf
:
cat >> /etc/dhcp/dhcpd.conf << EOF
subnet 192.168.2.0 netmask 255.255.255.0 {
interface eth1;
range 192.168.2.10 192.168.2.40;
option domain-name-servers 192.168.2.1;
option broadcast-address 192.168.2.255;
option subnet-mask 255.255.255.0;
option routers 192.168.2.1;
}
EOF
(当然,这些参数可以根据个人需求进行调整。)
3.启动 DHCP 服务器:
sudo /etc/init.d/isc-dhcp-server start
4.等待您的IP:
ifconfig eth1 | grep "inet addr"
获取 IP 时可能会出现问题。使用命令禁用以太网接口ip link set eth0 down
并重新启动并再次启动 DHCP 服务器可能会解决此问题。
/var/log/syslog
如果遇到错误,请看一下:
cat /var/log/syslog
*该指南为德文,但在底部有英文网站的链接。