为了宿主机和虚拟机可以很好的通信,当然是选择桥接网络啦!!!

话不多说

===========================配置桥接网络==========================

虚拟机虽然能够上网了,但是宿主机并不能与虚拟机通信,这给开发调试带来了很多的困难。我们希望的是,可以用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配置桥接网络的更多相关文章

  1. docker 配置桥接网络

    2.5 docker配置桥接网络(上): 为了使本地网络中的机器和Docker 容器更方便的通信,我们经常会有将Docker容器 配置到和主机同一网段的需求. 这个需求其实很容器实现, 我们只需要将D ...

  2. VirtualBox安装RHEL之后配置桥接网络

    VirtualBox安装RHEL之后配置桥接网络 1 如果主机是Intel (R) Ethernet Connection I217-LM上网的: 2 如果主机是无线上网的, 如ipconfig显示如 ...

  3. Error【0003】:配置桥接网络报错

    1.1 问题背景 在配置cosole宿主机的桥接网络环境时,在修改完/etc/sysconfig/ifcg-ethx和/etc/sysconfig/ifcg-brx后,执行service networ ...

  4. QEMU命令配置虚拟机网络的用户模式

    QEMU缺省使用“-net nic-net user”参数为客户机配置网络,提供了一种用户模式( user-mode)的网络模拟.使用用户模式的客户机可以连通宿主机及外部网络.用户模式网络完全由QEM ...

  5. linux中配置桥接网络,让虚拟机能够上网

    使用桥接模式最主要的目的就是让虚拟机也能上网,从而有了这篇文章. 1.设置虚拟机的网络连接方式 在设置虚拟机网线的连接方式的时候,注意第一个选择桥接模式,第二个界面名称必须使用和宿主机相同的网卡,然后 ...

  6. CentOS下KVM配置NAT网络(网络地址转换模式)

    KVM虚拟机Nat方式上网: # 查看当前活跃的网络 virsh net-list # 查看该网络的详细配置 virsh net-dumpxml default 客户机的XML配置文件中interfa ...

  7. docker配置桥接网络

    [root@localhost ~]# cd /etc/sysconfig/network-scripts/ [root@localhost network-scripts]# cp ifcfg-et ...

  8. Centos7配置桥接网络

  9. Centos7桥接网络、DNS、时间同步配置

    Centos配置桥接网络.DNS服务和时间同步 1.配置桥接网络 2.配置虚拟机网卡,采用的是静态ip方式 重启network服务 3.配置dns 4.关闭防火墙和selinux 5.ping外网域名 ...

随机推荐

  1. 2019-1-29-UWP-IRandomAccessStream-与-Stream-互转

    title author date CreateTime categories UWP IRandomAccessStream 与 Stream 互转 lindexi 2019-01-29 16:33 ...

  2. 2018-11-17-win10-uwp-在-xaml-让-TextBlock-换行

    title author date CreateTime categories win10 uwp 在 xaml 让 TextBlock 换行 lindexi 2018-11-17 16:2:29 + ...

  3. Vue CLI 创建项目

    使用命令创建VUE项目 运行以下命令[vue create [项目名]]来创建一个新项目: vue create hello-world 警告 如果你在 Windows 上通过 minTTY 使用 G ...

  4. 用mingw静态编译Qt4.8.2和Qt5.1.1(需要修改不少源码)

    因为一些乱七八糟的原因,我需要用mingw静态编译Qt4.8.2和Qt5.1.1.经历了一天的折腾之后,自觉编译一下Qt还是件颇为麻烦的事情,故将过程略作总结,以备不时之需. 首先,在编译之前,我需要 ...

  5. 二、搜索class文件

    一.类路径 https://blog.csdn.net/THMAIL/article/details/70025366 二.准备工作 在%GOPATH%\src\jvmgo下创建classpath文件 ...

  6. Ubuntu常用命令大全 以及 PHP+MySQL代码部署在Linux(Ubuntu)上注意事项

    PHP+MySQL代码部署在Linux(Ubuntu)上注意事项 https://cloud.tencent.com/developer/article/1024187 Ubuntu常用命令大全 ht ...

  7. 【题解】BZOJ1034 [ZJOI2008]泡泡堂BNB(贪心)

    [题解]BZOJ1034 [ZJOI2008]泡泡堂BNB(贪心) 考虑直接模拟田忌赛马... 我的最小比你的大,直接上 我的最大比你的大,直接上 otherwise,我小换你大 考虑最劣,由于每次比 ...

  8. $CF1063B\ Labyrinth$ $01$最短路/$01BFS$

    \(Des\) 有一个网格图,上面的格子分为空地和障碍,障碍是不可以走的.现在从给定的起点出发开始到处乱走,最多可以往左走\(l\)次,往右走\(r\)次.求可能到达的点数. \(Sol\) 如果只限 ...

  9. FlyweightPattern(享元模式)-----Java/.Net

    享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能.这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式

  10. CountDownLanuch,CyclicBarrier,Semaphore,Lock

    一.你在项目中用过CountDownLanuch,CyclicBarrier,Semaphore吗? 1.CountDownLanuch是一个同步的工具类,它允许一个或多个线程一直等待,直到其他线程执 ...