ubuntu 配置桥接网卡_ubuntu下使用qemu安装虚拟机并配置桥接网络
一、虚拟机的创建: 1.ubuntu下安装好qemu后,使用如下命令创建虚拟机:
qemu-img create -f qcow2 voltdb.img 10g
-f qcow2是指:qemu采取的镜像格式,qcow2是qemu最常使用的格式,该格式下可以采用来写时复制技术来优化性能;
voltdb.img是指:镜像名称
10g是指:镜像文件大小
2.之后需要为该镜像文件安装操作系统:
qemu-system-x86_64 -enable-kvm -hda voltdb.img -boot d -cdrom ./ubuntu-16.04-desktop-amd64.iso -m 2048 -vnc :1
-enable-kvm:使用KVM进行加速(确保在BIOS中开启CPU对虚拟化的支持,若未加此项,则镜像安装会很慢)
-hda: 指定要安装虚拟机要使用的虚拟磁盘
-boot d: 指定启动位置,d表示从光盘启动
-cdrom:指定cdrom为iso文件
-m: 指定虚拟机内存大小,默认单位是MB
-vnc:1:通过vnc创建虚拟桌面。(笔者在这里未加-vnc:1时,会提示:Could not initialize SDL(No available video device) - exiting)
3.此时,ubuntu的命令行会阻塞,我们可以通过在windows下通过TigerVNC去远程连接
在TigerVNC中,我们输入ip:1(注意圆角半角的:)连接即可连接到voltdb.img虚拟镜像的安装界面,在那里完成虚拟机操作系统的安装即可。
二、配置桥接网络
qemu采用两种方式配置上网:
其一,默认方式为用户模式网络(Usermode Networking),数据包由NAT方式通过主机的接口进行传送。
其二,使用桥接方式(Bridged Networking),外部的机器可以直接联通到虚拟机,就像联通到你的主机一样。
第一,用户模式
虚拟机可以使用网络服务,但局域网中其他机器包括宿主机无法连接它。比如,它可以浏览网页,但外部机器不能访问架设在它里面的web服务器。
默认的,虚拟机得到的ip空间为10.0.2.0/24,主机ip为10.0.2.2供虚拟机访问。可以ssh到主机(10.0.2.2),用scp来拷贝文件。
第二,桥接模式
这种模式允许虚拟机就像一台独立的主机一样拥有网络。这种模式需要网卡支持,一般的有线网卡都支持,绝大部分的无线网卡都不支持
1.配置host
桥接就是把一台机器上的若干个网络接口“连接”起来。其结果是,其中一个网口收到的报文会被复制给其他网口并发送出去。以使得网口之间的报文能够互相转发。
目的:使得局域网内可以通过ssh登陆虚拟机
1.1首先,安装两个配置网络所需软件包:
apt-get install bridge-utils # 虚拟网桥工具
apt-get install uml-utilities # UML(User-mode linux)工具
1.2创建网桥,并添加端口,如下显示的是/etc/network/interface配置文件下的设置
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
#以下是之前未添加网桥时的配置
# The primary network interface
#auto enp3s0
#iface enp3s0 inet static
# address 192.168.66.149
# netmask 255.255.255.0
# network 192.168.66.0
# broadcast 192.168.66.255
# gateway 192.168.66.1
# dns-nameservers 114.114.114.114
# dns-search foolsky
#添加网桥br0
auto br0
iface br0 inet static #之前上网时采用静态IP,所以这里依然使用此
address 192.168.66.149 #将之前上网的ip地址分配给网桥。
network 192.168.66.0
netmask 255.255.255.0
broadcast 192.168.66.255
gateway 192.168.66.1
bridge_ports enp3s0 tap0 #为网桥添加两个接口,分别是enp3s0(之前默认的上网网口)和tap0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
dns-nameservers 114.114.114.114
#添加接口enp3s0,上网方式采用自动
auto enp3s0
iface eth0 inet manual
此时,查看当前网络配置:注意:enp3s0是未分配ip的。
1.3使用brctl配置网桥:
tunctl -t tap0 -u 用户名 # 创建一个tap0接口,只允许指定用户访问
brctl addif br0 tap0 # 在虚拟网桥中增加一个tap0接口
ifconfig tap0 0.0.0.0 promisc up # 打开tap0接口
brctl showstp br0 br0网桥显示如下:
1.4修改/etc/qemu-ifup虚拟机的启动脚本,替换成如下内容:
#!/bin/bash
switch=br0
if [ -n "$1" ]; then
ip link set $1 up
sleep 1
brctl addif ${switch} $1
exit 0
else
echo “Error: no interface specified”
exit 1
fi
1.5使用如下命令行启动qemu虚拟机
sudo qemu-system-x86_64 -enable-kvm -boot c -drive file=/usr/local/ubuntu.img,if=virtio -m 1024 -smp 2 -netdev type=tap,script=/etc/qemu-ifup,downscript=no,id=net0 -device virtio-net-pci,netdev=net0,mac=00:11:22:33:44:AB -vnc :1 -daemonize
file:指定镜像位置
script:指向启动脚本的位置。
-daemonize:使得改启动命令 不在阻塞,执行完该命令后依然可以执行其他命令。
mac:为虚拟机的默认网卡分配指定的虚拟mac地址,可自行设定(MACADDR 可以指定一个mac地址,但要注意,第一个字节必须为偶数,如00,52等,不能为奇数(01),否则会有不可预料的问题。因为奇数保留为多播使用。)
2.配置虚拟机内操作系统的网络
此时,我们依然需要通过TigerVNC进入虚拟机已安装的操作系统,进入后,修改/etc/network/interfaces如下:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto enp0s3
#以下内容是新加入的,之前并未为enp0s3分配ip以及上网方式。
iface enp0s3 inet static
address 192.168.66.155 #设置该ip与网桥同一网段,下边的内容相同即可。
netmask 255.255.255.0
network 192.168.66.0
gateway 192.168.66.1
brodcast 192.168.66.255
dns-nameservers 114.114.114.114
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off
之后重启虚拟机中操作系统,即可在局域网内通过ssh连接qemu中的操作系统。
可参考:
ubuntu 配置桥接网卡_ubuntu下使用qemu安装虚拟机并配置桥接网络相关推荐
- windows10系统下MongoDB的安装及环境配置
windows10系统下MongoDB的安装及环境配置: MongoDB的安装 下载地址: https://www.mongodb.com/download-center (这是windows10环境 ...
- mysql官网下载下来的免安装版怎么配置_Windows下的免安装版MySQL配置
近日在新的电脑上安装MySQL遇到一些小问题,在此做分享,也作为日后备用. 下载MySQL 进入MySQL官网,依次点击:上方选项卡DOWNLOADS->页面底端MySQL Community ...
- linux7开放svn,CentOS 7 下SVN的安装及基础配置介绍
CentOS 7 下SVN的安装及基础配置介绍 一.实践环境 二.安装操作系统 三.安装SVN 四.基础配置 五.启动SVN 六.客户端访问 七.常见问题排查 一.实践环境 CentOS 7操作系统( ...
- win8系统安装配置python_win8下python3.4安装和环境配置图文教程
win8下python安装和环境配置,具体内容如下 python语法较C语言简单,容易上手. 具体步骤 1.本文采用的是win8.1 64位系统,安装python3.4. 2.先在python官网上下 ...
- linux下sybase配置文件,linux下SYBASE数据库安装后的配置
如有你有帮助,请购买下载,谢谢! linux下SYBASE数据库安装后的配置 sybase的安装很简单,是rpm格式的,运行rpm -ivh **.rpm .bin的,直接执行./***.bin就安装 ...
- Linux下JDK的安装与环境配置
Linux下JDK的安装与环境配置 一.准备工作 将JDK安装包上传或下载至Linux 提示: 在windows地址栏输入cmd后回车,可在当前路径下打开cmd窗口 # 方法一: 使用scp命令本地上 ...
- Trac系列(1):Windows下Trac的安装与基本配置
Windows下Trac的安装与基本配置 Trac是一个基于Web的,轻量级的项目管理工具,它使用python语言编写.在本文中,将介绍windows下安装.集成配置一个简单的Trac ...
- win10安装虚拟机Linux Centos7系统网络配置
win10安装虚拟机Linux Centos7系统网络配置 查看本机网络IP 虚拟网络编辑器 CentOS7 ifcfg-ens33网卡配置 重启网络服务 关闭防火墙(仅限虚拟机) 启用本机Telne ...
- ubuntu删除安装的mysql数据库_Ubuntu下MySQL数据库安装与配置与卸载
安装: sudo apt-get install mysql-server mysql-client 一旦安装完成,MySQL 服务器应该自动启动.您可以在终端提示符后运行以下命令来检查 MySQL ...
最新文章
- java使用正则表达为数字添加千位符的简单方法
- Draw Call未被批处理?在Unity 5.6中如何查找原因
- 动态添加 ajax,ajax动态的添加内容【原创】
- 意外的服务器响应_响应式系统reactive system初探
- C语言实现x的n次方
- adb指令禁用软件_技巧 | adb助你华为手机免ROOT卸载预装软件
- 大整数乘法(信息学奥赛一本通-T1174)
- ch4 MySQL 安全管理
- git管理分支某公司的流程
- 滴滴配合警方调证不超 10 分钟;苹果否认恶意芯片报道;贝索斯建火箭中心 | 极客头条...
- 查询系统--基于Solr4.9.0实现
- myeclipse中将web项目部署到tomcat里面出错
- linux下安装交叉编译器
- C++ 代码整洁之道
- mdx词典包_译者的电子工具——手机词典上篇
- 图像基础--图像预处理技术(色彩插值、色彩校正、伽马校正、图像增强和白平衡)
- 电子版本GB50017-2017钢结构设计标准规范手册共二册含条文说明(共52份,605M)
- 他们联手造了个抢票节”
- Html5 打砖块游戏,加入道具和速通模式(含源码)
- #define宏定义(每天一个小虾米)
热门文章
- ARM与x86之2--Atom的前生今世
- 【Java】--面向对象的编程之千锤百炼大总结
- Linux下关机命令的区别 (halt,poweroff,reboot,shutdown,init)
- leaflet入门——地图加载(以arcgis服务为例)
- 做自媒体月收入过万,全靠这五大工具
- Windows环境下用虚拟机安装使用Linux系统(下载安装CentOS7镜像+下载安装VMware+配置虚拟机和系统安装)
- vivo X21如何选择一款备忘录提醒软件?
- 精彩!安全圈的技术分享,竟成了他人割韭菜的工具?
- 目前业界的TSN产品及其支持的标准
- mysql基础语法大全_mysql基础教程 大全