热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

VirtualBox如何设置桥接网络

(1)最新的VirtualBox可以简单的配置为桥连接,如图:(2)如果VirtualBox的版本低可尝试如下操作:很久没用虚拟机了,昨天安装了源里的VirtualBox,发现窗口标题中多了一个“OSE”的字串,也没有太在意。安装的时候用的是NAT方式的网络连接,装完系

(1)最新的 VirtualBox 可以简单的配置为桥连接,如图:

(2) 如果 VirtualBox 的版本低可尝试如下操作:

很久没用虚拟机了,昨天安装了源里的VirtualBox,发现窗口标题中多了一个“OSE”的字串,也没有太在意。安装的时候用的是NAT方式 的网络连接,装完系统后却发现Guest无法上网,去查网络配置,一切都正常,Guest可以通过DHCP获得IP地址,但是地址和网关却很怪,都是 “10.0.0.x”,而且无法Ping通外网。

    到VirtualBox的官方网站 上去看了一下,原来最近VBox改变了一下发行策略,分成了一个闭源版本和一个开源版本,开源版本比闭源版本功能少一些,不过闭源版本也是免费的,而OSE就是“Open Source Edition”的简称。

    虽然在两个版本功能差异的列表 中 没有找到和网络相关的内容,最终我还是下载并安装了闭源版本。再次启动Guest,奇迹没有发生,无奈之下,只好决定使用桥接网络。桥接网络和NAT的主 要区别表现在,NAT很简单,只需在VirtualBox中选择使用NAT方式,然后在Guest中选择自动获取Ip地址即可,它其实是使用Host的网 络连接,因此在网络中并不作为一个独立个体存在;而桥接方式则是使Guest可以获得自己的IP,从而在网络上作为独立个体与Host并列,这种方式灵活 而且不受Host的限制和影响,缺点就是配置起来相对较麻烦。

    VirtualBox的桥接网络是和VMWare的Bridged方式一样的东西,但和它不同,VirtualBox的Windows版和Linux版配置桥接网络的方式有所不同,这里只介绍Linux下怎样配置VirtualBox的桥接网络。

    首先要安装两个用于桥接网络的库,Ubuntu下使用下述命令安装这两个库:

sudo apt-get install uml-utilities bridge-utils

    之后,系统中会出现一个名为“uml-net”的用户组,使用下述命令将运行虚拟机的用户添加到该组中:

sudo gpasswd -a user_name uml-net

    将上面的“user_name”替换成运行虚拟机的用户的用户名,然后编辑网络接口的配置文件:

sudo vi /etc/network/interfaces

    在文件的最后或者开头,添加下面一段:

auto tap0
iface tap0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user user_name

上面的配置信息的意思是,设定虚拟网络接口的名字为“tap0”;其IP配置方式为手动;指定使用此接口的用户为“user_name”。然后要配置一个桥,同样在上述配置信息的下方添加如下内容:

auto br0
iface br0 inet dhcp
bridge_ports all tap0

    此段配置信息的意思是,建立名为“br0”的桥,它获取IP的方式是通过DHCP自动获取,本机所有网络接口,包括“tap0”虚拟接口都将建立在这个桥之上。如果希望手动指定IP,可以将上面的配置信息替换成如下内容:

auto br0
iface br0 inet static
address 192.168.0.5
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1

    上面的配置信息设置该桥的IP为“192.168.0.5”。

    将该文件保存,重新启动系统,然后在虚拟终端中输入如下命令启用此桥接网络,此命令只需执行一次:

sudo /sbin/ifup br0
sudo /sbin/ifup tap0

    打开打开 VirtualBox,在列表中选中Guest系统,然后点击工具栏上的“设置”->“网络”,在列出的几个网络适配器中随便选择一个,一般只用一 个“网络适配器0”,点选“启用网络适配器”;然后在“连接到”后的下拉列表中选择“Host Interface”,同时确保“接入网线”处于选中状态;然后在“主机网络界面名称”中填写“tap0”;其余的不用管。点“确定”后启动Guest, 设置系统的IP为自动获取即可使桥接网络生效了。

    如果要禁用该网桥,首先使用如下命令:

sudo /sbin/ifdown br0
sudo /sbin/ifdown tap0

    然后将/etc/network/interfaces文件中上面添加的配置信息删除即可。

(3) 再介绍一种方法

1、首先要下载几个软件包
sudo apt-get install uml-utilities bridge-utils

2、新建名为tap.sh的文件,将以下内容复制到其中

sudo tunctl -t tap0 -u hongjiang                      #建立一个tap设备, 名字为tap0 所有者为hongjiang
sudo brctl addbr br0                                  #创建一个网桥
sudo ifconfig eth0 0.0.0.0 promisc                    #使eth0进入promiscuous模式
sudo brctl addif br0 eth0                             #将eth0加入br0
#sudo ifconfig br0 192.168.1.12 up                    #固定IP方式
#sudo route del default
#sudo route add default gw 192.168.1.149 dev br0      
sudo ifconfig br0 up                                  #DHCP方式
sudo dhclient br0
sudo brctl addif br0 tap0                             #将tap0加入br0
sudo ifconfig tap0 up                                 #激活tap0
sudo chmod a+rw /dev/net/tun

3、设置权限
chmod u+x tap.sh

4、拷贝tap.sh到/home/hongjiang/.VritualBox

5、加入启动项
sudo gedit /etc/rc.local
将 /home/hongjiang/.VirtualBox/tap.sh加入到 exit 0 之前

6、在VirtualBox的VM Setting的network标签中,选择"Host interface",并在下面的Interface中填上tap0

7、重启或手动运行 tap.sh

最后要注意将宿主机与虚拟机设置在同一网段,否则无法通信。


推荐阅读
  • 本文详细介绍了如何在 Linux 平台上安装和配置 PostgreSQL 数据库。通过访问官方资源并遵循特定的操作步骤,用户可以在不同发行版(如 Ubuntu 和 Red Hat)上顺利完成 PostgreSQL 的安装。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 解决微信电脑版无法刷朋友圈问题:使用安卓远程投屏方案
    在工作期间想要浏览微信和朋友圈却不太方便?虽然微信电脑版目前不支持直接刷朋友圈,但通过远程投屏技术,可以轻松实现在电脑上操作安卓设备的功能。 ... [详细]
  • 本文详细介绍了如何在Ubuntu系统中下载适用于Intel处理器的64位版本,涵盖了不同Linux发行版对64位架构的不同命名方式,并提供了具体的下载链接和步骤。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 解决Linux系统中pygraphviz安装问题
    本文探讨了在Linux环境下安装pygraphviz时遇到的常见问题,并提供了详细的解决方案和最佳实践。 ... [详细]
  • CMake跨平台开发实践
    本文介绍如何使用CMake支持不同平台的代码编译。通过一个简单的示例,我们将展示如何编写CMakeLists.txt以适应Linux和Windows平台,并实现跨平台的函数调用。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 在Ubuntu 16.04 LTS上配置Qt Creator开发环境
    本文详细介绍了如何在Ubuntu 16.04 LTS系统中安装和配置Qt Creator,涵盖了从下载到安装的全过程,并提供了常见问题的解决方案。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
author-avatar
手机用户2502906263
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有