目标需求:在Ubuntu主机创建一张虚拟网卡,使得搭建在VirtualBox中的其他主机能借助虚拟网卡构建的局域网进行相互间的通讯

步骤一:准备工具包

安装 uml-utilities 以及 bridge-utils

sudo apt-get install uml-utilities bridge-utils

步骤二:修改网络配置文件 /etc/network/interfaces

sudo cp /etc/network/interfaces /etc/network/interfaces.back   #留个备份以备恢复所用

sudo vi /etc/network/interfaces   #在后面添加如下内容

auto vnet0   #新建网卡vnet0
iface vnet0 inet static   #设置为静态地址模式
address 192.168.100.1   #设定(在虚拟网段中的)本机IP
netmask 255.255.255.0   #设置掩码
bridge_ports none   #设置桥接口(?)
bridge_maxwait 0   #设置桥接最大等待数(?)
bridge_fd 1   #?
up iptables -t nat -I POSTROUTING -s 192.168.100.0/24 -j MASQUERADE   #设置(?)
down iptables -t nat -D POSTROUTING -s 192.168.100.0/24 -j MASQUERADE   #设置(?)

PS:带?的没弄清楚具体含义

步骤三:启动虚拟网卡

sudo ifup vnet0   #启动之后用 ifconfig 查看是否启动成功,如果报错注意copy错误信息google(如果没看懂错误信息的话)

步骤四:启动IP转发

修改/etc/sysctl.conf 去掉这行的注释# Uncomment the next line to enable packet forwarding for IPv4

net.ipv4.ip_forward=1

运行下面命令使其生效

sysctl -p

步骤五:设置VirtualBox的网络设置

链接模式:桥接模式

名称:vnet0

PS:记得勾选Cable Connected

步骤六:配置虚拟机IP

进入虚拟机配置IP,下面以Win7为例

将虚拟机设置静态IP在同一虚拟网段,网关设为实际主机的虚拟网段IP

Reference:

1. 如果希望虚拟机自动获取虚拟网段IP,需要额外搭建DHCP服务器

[参考出处:http://dngood.blog.51cto.com/446195/720131]

安装 dnsmasq
apt-get install dnsmasq
修改/etc/dnsmasq.conf

去掉下面的注释
 # Include a another lot of configuration options.
 #conf-file=/etc/dnsmasq.more.conf
 conf-dir=/etc/dnsmasq.d

在/etc/dnsmasq.d/目录下面增加一个名为 wifi-dhcp 的文件,内容为:
 #######################################
 interface=vnet0
 dhcp-range=192.168.100.2,192.168.100.254,1h
 dhcp-option=option:dns-server,192.168.100.1,208.67.222.222,208.67.220.220
 dhcp-option=option:domain-name,precision-m65

Ubuntu 14.10 创建虚拟网卡实现桥接网络的更多相关文章

  1. Windows 10 创建虚拟网卡

    想把虚拟机桥接到我的电脑,但我连的是无线网电脑没查网线,所以就创建个虚拟网卡吧. 1.win + x 打开设备管理器 2.网络适配器  + 操作 + 添加过时硬件  3.下一步  4.选-->安 ...

  2. Ubuntu 14.04在虚拟机上的桥接模式下设置静态IP

    1.虚拟机--->虚拟机设置 将虚拟机设置为桥接模式 2.查看window 网卡以及IP信息 cmd下输入 ipconfig -all 可以看到,我的网卡为Realtek PCIe GBE Fa ...

  3. brctl创建虚拟网卡详解

    brctl创建虚拟网卡详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 很久之前我分享过一篇关于搭建Openvpn的笔记,在笔记的最后我分享了一个脚本,是用来创建虚拟网卡的,今天 ...

  4. ubuntu 14.10 安装 zabbix

    在ubuntu 14.10 上部署 zabbix 2.x 基本软件包安装 既然是ubuntu系统,当然要用好apt-get神器. 参考教程 URL:http://blog.csdn.net/cloud ...

  5. Ubuntu 14.10下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具)

    Ubuntu 14.10下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具) 最近因为项目关系,收朋友之托,想制作秀场网站,但是因为之前一直没有涉及到这 ...

  6. Ubuntu 14.10 下ZooKeeper+Hadoop2.6.0+HBase1.0.0 的HA机群高可用配置

    1 硬件环境 Ubuntu 14.10 64位 2 软件环境 openjdk-7-jdk hadoop 2.6.0 zookeeper-3.4.6 hbase-1.0.0 3 机群规划 3.1 zoo ...

  7. 如何在Ubuntu 14.10 上安装WordPress?

    http://codex.wordpress.org/zh-cn:安装WordPress 介绍 如果你想快捷.简单.免费的创建个人网站的话,WordPress 是你最佳的选择. WordPress 是 ...

  8. Ubuntu 14.10 配置JDK + J2EE

    本文仅作为本人在Ubuntu 14.10下安装JDK + J2EE的一个记录: 安装JDK 从Oracle的官网下载jdk-7u75-linux-x64.tar.gz 将jdk-7u75-linux- ...

  9. 在 Ubuntu 14.10 Server 上安装 Jetty

    Jetty提供了一个Web服务器和javax.servlet容器,为SPDY.WebSocket.OSGi.JMX.JNDI.JAAS以及许多其它集成套件添加了支持.这些组件都是开源的,也可用于商业用 ...

随机推荐

  1. 7 -- Spring的基本用法 -- 4...

    7.4 使用 Spring 容器 Spring 有两个核心接口:BeanFactory 和 ApplicationContext,其中ApplicationContext 是 BeanFactory ...

  2. 【转】OPENGL基本API概述

    本文信息资源来源于网络,欢迎转载!转载时请保留本文链接(http://www.shopliyang.com.cn/)! OpenGL中的gl库是核心库,glu是实用库,glut是实用工具库. gl是核 ...

  3. loadrunner将参数文件转换为UTF-8编码

    在使用loadrunner进行参数化的时候,对于有些信息,比如地址.人名等,很多时候需要传入中文,但是有的时候会碰到字符编码不对导致脚本出错. 下面介绍两种loadrunner中可以使用的编码转化为U ...

  4. 点开看看please

  5. MyBatis总结(一)

    一.创建测试项目工程 二.导包(一个myBatis所需的包,以及一个数据库操作的包) 三.创建实体类 四.配置文件的建立(最佳命名为(SqlMapConfig.xml)) <?xml versi ...

  6. 求第N个质数算法

    用python求从1开始第1000个质数? 质数:只能被1和它本身整除的数.那好,我们开始写程序(一个小算法). def calc_prime(prime,num): i,gab=7,2 while ...

  7. 支付宝WAP支付接口开发(Node/Coffee语言)

    此博客不更新很久了, 更新的文档在这, 有兴趣到这里围观: http://neutra.github.io/2013/%E6%94%AF%E4%BB%98%E5%AE%9DWAP%E6%94%AF%E ...

  8. maven添加本地jar包

    今天遇到一个mavan仓库中没有的jar包, 故只能添加本地jar包, 花了不少时间找资料,终于OK.故在此记录. 1. 第一次,在网上看到说可以用<systemPath> 解决, 如下: ...

  9. .NET小细节

    1.equals()和运算符==的区别 C#中有两种不同的相等:引用相等和值相等.值相等是两个对象包含相同的值:引用相等是两个对象引用的是同一个对象. “==”操作符比较的是两个变量的值是否相等,或两 ...

  10. scala getter and setter

    package exp { object Main { def main(args: Array[String]): Unit = { B.name ="Fred"; printl ...