在qemu-kvm配置桥接网络
为了宿主机和虚拟机可以很好的通信,当然是选择桥接网络啦!!!
话不多说
===========================配置桥接网络==========================
虚拟机虽然能够上网了,但是宿主机并不能与虚拟机通信,这给开发调试带来了很多的困难。我们希望的是,可以用ssh连上虚拟机。这就要求虚拟机就像一台物理机一样,与宿主机存在于同一个网段内。
首先,在宿主机上,安装必要的工具(为了tunctl命令):
以下命令均是在su下进行若是认证失败,请输入sudo passwd root 进行密码更新重新进入su
apt-get install uml-utilities
接着,创建一张虚拟TUN网卡:
tunctl -t tap0 -u lfc
这里的lfc换成你的Linux用户名。然后,将网卡设置为任何人都有权限使用:
chmod 0666 /dev/net/tun
之后,为tap0网卡设置一个IP地址,不要与真实的IP地址在同一个网段。比如我的真实IP地址是192.168.1.2(输入ifconfig -a 查看),那么我就给tap0设置192.168.2.1:
ifconfig tap0 192.168.2.1 up
宿主机需要为虚拟机开启IP数据包转发,即在192.168.1.*网段和192.168.2.*网段转发数据:
echo 1 > /proc/sys/net/ipv4/ip_forward #可能sudo也会权限不够,在su以后执行即可
iptables -t nat -A POSTROUTING -j MASQUERADE
宿主机的配置到此结束。
然后启动虚拟机
有图形的直接进去,没有的命令进去。
进入虚拟机以后:
ifconfig -a

可以看到ens3网卡,但是没有启用。给它配置一个IP地址,比如192.168.2.2,只有与宿主机的tap0网卡在同一网段即可:
ifconfig ens3 192.168.2.2 up
注:若是其他名称就改为相应的名称,若是已经启动了,就是有了相应的ip地址,则不需要进行这一步(配置ip地址这一步)
之后就能发现,宿主机与虚拟机可以相互ping通了!但是此时,虚拟机还不能上外网,因为虚拟机缺少网关。现在把虚拟机的tap0的地址,192.168.2.1,设置为虚拟机的网关:
route add default gw 192.168.2.1
上面这步可以不做!!!!
这样,也可以ping通外网了,比如ping 115.239.211.112。但是ping www.baidu.com却不行,因为缺少DNS服务器!现在就把8.8.8.8指定为虚拟机的DNS服务器:
vim /etc/resolv.conf
若是需要apt-get install vim 却发现下载不了 可以用 vi /etc/resolv.conf
尽管文件警告说不要手工编辑,但是我临时用用也就无所谓,追加一行:
nameserver 8.8.8.8

写入文件之后,DNS立即生效了。现在,虚拟机既能上外网,又能与宿主机通信了


感谢博主
https://zhoujianshi.github.io/articles/2018/%E5%AE%89%E8%A3%85qemu-kvm%E4%BB%A5%E5%8F%8A%E9%85%8D%E7%BD%AE%E6%A1%A5%E6%8E%A5%E7%BD%91%E7%BB%9C/index.html
的分享
在qemu-kvm配置桥接网络的更多相关文章
- docker 配置桥接网络
2.5 docker配置桥接网络(上): 为了使本地网络中的机器和Docker 容器更方便的通信,我们经常会有将Docker容器 配置到和主机同一网段的需求. 这个需求其实很容器实现, 我们只需要将D ...
- VirtualBox安装RHEL之后配置桥接网络
VirtualBox安装RHEL之后配置桥接网络 1 如果主机是Intel (R) Ethernet Connection I217-LM上网的: 2 如果主机是无线上网的, 如ipconfig显示如 ...
- Error【0003】:配置桥接网络报错
1.1 问题背景 在配置cosole宿主机的桥接网络环境时,在修改完/etc/sysconfig/ifcg-ethx和/etc/sysconfig/ifcg-brx后,执行service networ ...
- QEMU命令配置虚拟机网络的用户模式
QEMU缺省使用“-net nic-net user”参数为客户机配置网络,提供了一种用户模式( user-mode)的网络模拟.使用用户模式的客户机可以连通宿主机及外部网络.用户模式网络完全由QEM ...
- linux中配置桥接网络,让虚拟机能够上网
使用桥接模式最主要的目的就是让虚拟机也能上网,从而有了这篇文章. 1.设置虚拟机的网络连接方式 在设置虚拟机网线的连接方式的时候,注意第一个选择桥接模式,第二个界面名称必须使用和宿主机相同的网卡,然后 ...
- CentOS下KVM配置NAT网络(网络地址转换模式)
KVM虚拟机Nat方式上网: # 查看当前活跃的网络 virsh net-list # 查看该网络的详细配置 virsh net-dumpxml default 客户机的XML配置文件中interfa ...
- docker配置桥接网络
[root@localhost ~]# cd /etc/sysconfig/network-scripts/ [root@localhost network-scripts]# cp ifcfg-et ...
- Centos7配置桥接网络
- Centos7桥接网络、DNS、时间同步配置
Centos配置桥接网络.DNS服务和时间同步 1.配置桥接网络 2.配置虚拟机网卡,采用的是静态ip方式 重启network服务 3.配置dns 4.关闭防火墙和selinux 5.ping外网域名 ...
随机推荐
- 服务端CURL请求
服务端与服务端之间,也存在接口编程. 比如我们网站服务端,需要发送短信.发送邮件.查询快递等,都需要调用第三方平台的接口. 1.php中发送请求 ①file_get_contents函数 :传递完整的 ...
- Codeforces 837D 动态规划
Codeforces 837D 动态规划 传送门:https://codeforces.com/contest/837/problem/D 题意: 给你n个数,问你从这n个数中取出k个数,这k个数的乘 ...
- FreeNOS学习1——系统安装和使用
官网安装教程:http://www.freenos.org/doxygen/index.html 整体思路:在Ubuntu操作系统下,安装qemu虚拟机,然后用虚拟机运行FreeNOS的镜像.以下是详 ...
- javaweb-实现不同用户登录后跳转到不同界面
今天下午,实现了公文流转系统的一小部分——登录界面验证不同用户跳转到不同界面 Dao package com.office.Dao; import java.sql.Connection; impor ...
- docker容器内存占用过高(例如mysql)
简介 该文章适用于配置低,特别是内存低的服务器,在用容器部署服务时有可能会因为容器占用内存过高导致服务挂掉时参考解决(不是运行在容器里的话,也是可以修改mysql的配置文件限制内存占用) 最近用doc ...
- git基础命令的使用-附命令汇总
本文从https://www.liaoxuefeng.com/wiki/896043488029600学习,边学习边记录. git命令:创建版本库:git init : 把当前目录变成Git可以管理的 ...
- 洛谷$P1935$ [国家集训队]圈地计划 网络流
正解:最小割 解题报告: 传送门 就文理分科模型嘛$QwQ$?所以就,跑个最小割呗,然后就做完辣?仔细想想细节发现并麻油那么简单嗷$QwQ$ 先考虑如果没有这个$k\cdot C_{i,j}$的贡献就 ...
- UI自动化和selenium相关以及八大定位
一.UI自动化相关 1. UI自动化的本质(重点) 定位元素→操作元素→模拟页面操作→断言→测试报告 2. 适合UI自动化的场景 UI自动化的前提条件 (1)需求不能频繁变动 (2)UI稳定(UI自动 ...
- spring boot使用拦截器
1.编写一个拦截器 首先,我们先编写一个拦截器,和spring mvc方式一样.实现HandlerInterceptor类,代码如下 package com.example.demo.intercep ...
- 动态规划最短路径LintcodeNO110
动态规划最短路径LintcodeNO110 简单的dp题,没啥好说的... class Solution { public: /** * @param grid: a list of lists of ...