当前位置: 首页 > news >正文

西安中交建设集团网站友谊平台

西安中交建设集团网站,友谊平台,重庆做网站的网络公司,做华为网站的还有哪些文章目录1. 前言2. 测试环境3. 配置步骤3.1 host 配置3.1.1 检查 host 对 TUN/TAP 和 网桥的支持情况3.1.2 网桥一端的建立:创建网桥设备,并添加 host 网卡到网桥3.1.3 网桥另一端的建立:TUN/TAP 配置3.2 guest 端的配置4. 参考链接1. 前言 …

文章目录

  • 1. 前言
  • 2. 测试环境
  • 3. 配置步骤
    • 3.1 host 配置
      • 3.1.1 检查 host 对 TUN/TAP 和 网桥的支持情况
      • 3.1.2 网桥一端的建立:创建网桥设备,并添加 host 网卡到网桥
      • 3.1.3 网桥另一端的建立:TUN/TAP 配置
    • 3.2 guest 端的配置
  • 4. 参考链接

1. 前言

限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。

2. 测试环境

本文分析基于 linux-4.14.132 内核代码分析,运行环境 Ubuntu 16.04.4 LTS + QEMU emulator version 2.5.0 + ARM vexpress-a9rootfs 基于 ubuntu-base-16.04-core-armhf.tar.gz 制作。

3. 配置步骤

QEMU 网络配置支持多种模式,本篇就 TAP 方式展开,其它方式不在此讨论。在此,先对测试环境做一下说明。QEMU 运行在 Ubuntu 16.04.4 系统下,也即后文题到的 hostlinux-4.14.132 + ubuntu-base-16.04-core-armhf.tar.gz 运行于 QEMU 模拟的 ARM vexpress-a9 板型环境下(也即后文提到的 guest)。

3.1 host 配置

3.1.1 检查 host 对 TUN/TAP 和 网桥的支持情况

查询 host 当前的内核配置,是否支持 TUN/TAP网桥 功能:

$ cat /boot/config-`uname -r` | grep "CONFIG_TUN"
CONFIG_TUN=y
# CONFIG_TUN_VNET_CROSS_LE is not set
$ cat /boot/config-`uname -r` | grep "CONFIG_BRIDGE="
CONFIG_BRIDGE=m

我们看到,当前 host 的 TUN/TAP 随内核一起启动,而网桥支持则是以内核模块的方式提供,这意味着我们需要手动加载 bridge.ko (网桥支持功能内核模块)。但不必担心,后面提到的工具 brctl 会帮我们加载该模块。
如果上述查询没有开启 CONFIG_TUNCONFIG_BRIDGE 中的任一个,则接下来的操作无法完成。

3.1.2 网桥一端的建立:创建网桥设备,并添加 host 网卡到网桥

sudo ifconfig ens33 down
sudo brctl addbr br0 # 创建网桥设备 br0
sudo brctl addif br0 ens33 # 添加网口 ens33 到网桥 br0
sudo brctl stp br0 off # 关闭网桥 br0 的生成树协议
sudo brctl setfd br0 1 # 设置网桥 br0 转发延迟为1秒
sudo brctl sethello br0 1 # 设置网桥 br0 'hello time' 为1秒
sudo ifconfig br0 0.0.0.0 promisc up # 设置网桥 br0 为混杂模式
sudo ifconfig ens33 0.0.0.0 promisc up # 设置网桥 ens33 为混杂模式
sudo dhclient br0 # 为网桥 br0 获取 IP

上面假设 host 用来上网的网卡为 ens33,如果你的机器有所不同,修改它。在这之后,建立了网桥 br0 ,并且加网卡 ens33 加入了网桥,目前的拓扑如下图:

Internet <-> en33 <-> br0 -> ???

也就是说,我们建立 hostguest 通信的一端,打 ??? 的一端尚未连接好。可以通过如下命令查看网桥 br0 的信息:

sudo brctl show br0
sudo brctl showstp br0

3.1.3 网桥另一端的建立:TUN/TAP 配置

在此建立网桥的另一端 tap0 ,它一边通过网桥 br0 连接到 host 的网卡 ens33;另一边连接到运行于 QEMU 内的 guest 虚拟网卡。我们来看建立 tap0 的操作步骤:

sudo tunctl -t tap0 -u `whoami` # 建立 tap0,仅限当前用户使用,也可指定其它用户,如 root
sudo brctl addif br0 tap0 # 将 tap0 添加到网桥 br0
sudo ifconfig tap0 0.0.0.0 promisc up # 将 tap0 设置为混杂模式

此时,我们的连接拓扑变成了如下结构:

				      host                 guest----------------------       ----
Internet <-> | en33 <-> br0 -> tap0 | <-> | ??? |----------------------       -----

到此,host 的配置完成了,现在我们用 QEMU 来启动 guest

sudo qemu-system-arm \-M vexpress-a9 -smp 4 -m 512M \-kernel $1/output/arch/arm/boot/zImage \-dtb $1/output/arch/arm/boot/dts/vexpress-v2p-ca9.dtb \-append "root=/dev/mmcblk0 rw rootfstype=ext4 console=ttyAMA0" \-sd rootfs/arm-ubuntu-16.04.img \-nographic \-net nic -net tap,ifname=tap0,script=no,downscript=no

重点是参数序列:

-net nic -net tap,ifname=tap0,script=no,downscript=no
-net nic: 让 QEMU 虚拟一张 guest 网卡,将是后文看到的 eth0 ;
-net tap,ifname=tap0,script=no,downscript=no: 主要意思是 host tap0 连接 guest(eth0)和 host 的通信

3.2 guest 端的配置

QEMU 启动 guest 后,登录 guest 系统,先查看网卡信息:

$ ifconfig -a
eth0      Link encap:Ethernet  HWaddr 52:54:00:12:34:56  inet addr:192.168.0.10  Bcast:192.168.0.255  Mask:255.255.255.0UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:43 errors:0 dropped:0 overruns:0 frame:0TX packets:25 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:4824 (4.8 KB)  TX bytes:2258 (2.2 KB)Interrupt:31 lo        Link encap:Local Loopback  inet addr:127.0.0.1  Mask:255.0.0.0UP LOOPBACK RUNNING  MTU:65536  Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

上面看到 eth0lo 。上面看到 eth0 已经有了 IP,事实上,这是配置后结果,初始 eth0 是没有 IP 的,需要对文件 /etc/network/interfaces 进行如下配置:

# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
#source-directory /etc/network/interfaces.dauto lo
iface lo inet loopbackauto eth0
iface eth0 inet dhcp

保存文件 /etc/network/interfaces 重启网口 eth0 ,然后检查是否能上网了:

$ ping www.baidu.com
PING www.baidu.com (14.119.104.189) 56(84) bytes of data.
64 bytes from 14.119.104.189: icmp_seq=1 ttl=55 time=10.4 ms
64 bytes from 14.119.104.189: icmp_seq=2 ttl=55 time=17.8 ms
64 bytes from 14.119.104.189: icmp_seq=3 ttl=55 time=9.48 ms
^C
--- www.baidu.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2012ms
rtt min/avg/max/mdev = 9.485/12.603/17.876/3.750 ms

最终,形成了如下的网络拓扑结构:

				      host                      guest----------------------       ---------------
Internet <-> | en33 <-> br0 -> tap0 | <-> | 虚拟网卡 eth0 |----------------------       ---------------

好了,已经可以上网了,工作结束,休息下,喝杯茶 ~~

4. 参考链接

https://blog.csdn.net/HaiLanLin/article/details/109845929
https://blog.csdn.net/OnlyLove_/article/details/124536607
https://blog.csdn.net/u014022631/article/details/53411557
https://blog.csdn.net/qq_41146650/article/details/126465032
https://wiki.qemu.org/Documentation/Networking#Network_Basics


文章转载自:
http://hubbard.qrqg.cn
http://polygonize.qrqg.cn
http://cubby.qrqg.cn
http://ingrown.qrqg.cn
http://hymenopteran.qrqg.cn
http://tensility.qrqg.cn
http://tintype.qrqg.cn
http://economization.qrqg.cn
http://coemption.qrqg.cn
http://plaga.qrqg.cn
http://notly.qrqg.cn
http://gallionic.qrqg.cn
http://freetrader.qrqg.cn
http://mythicise.qrqg.cn
http://purism.qrqg.cn
http://headframe.qrqg.cn
http://arena.qrqg.cn
http://ganglion.qrqg.cn
http://tallness.qrqg.cn
http://mimbar.qrqg.cn
http://cliquish.qrqg.cn
http://tvr.qrqg.cn
http://mapi.qrqg.cn
http://contranatant.qrqg.cn
http://unresponsive.qrqg.cn
http://gelatine.qrqg.cn
http://educrat.qrqg.cn
http://epistropheus.qrqg.cn
http://dualism.qrqg.cn
http://fatcity.qrqg.cn
http://conjugal.qrqg.cn
http://histaminergic.qrqg.cn
http://ope.qrqg.cn
http://gainer.qrqg.cn
http://wharf.qrqg.cn
http://tropophilous.qrqg.cn
http://heronsew.qrqg.cn
http://cadency.qrqg.cn
http://sympathectomize.qrqg.cn
http://breakout.qrqg.cn
http://sandiver.qrqg.cn
http://depollution.qrqg.cn
http://centricity.qrqg.cn
http://pseudopod.qrqg.cn
http://rising.qrqg.cn
http://spooney.qrqg.cn
http://stockinet.qrqg.cn
http://diagnostication.qrqg.cn
http://cavendish.qrqg.cn
http://chalice.qrqg.cn
http://buckshot.qrqg.cn
http://banjul.qrqg.cn
http://leporide.qrqg.cn
http://roughscuff.qrqg.cn
http://baptism.qrqg.cn
http://rotochute.qrqg.cn
http://tyrr.qrqg.cn
http://jewel.qrqg.cn
http://antennary.qrqg.cn
http://satellization.qrqg.cn
http://cortex.qrqg.cn
http://benactyzine.qrqg.cn
http://floodplain.qrqg.cn
http://claqueur.qrqg.cn
http://acrocarpous.qrqg.cn
http://tromp.qrqg.cn
http://increate.qrqg.cn
http://romaic.qrqg.cn
http://inhuman.qrqg.cn
http://schlemiel.qrqg.cn
http://iskenderun.qrqg.cn
http://sanforized.qrqg.cn
http://virilize.qrqg.cn
http://trull.qrqg.cn
http://stackyard.qrqg.cn
http://subhumid.qrqg.cn
http://deductive.qrqg.cn
http://inbreak.qrqg.cn
http://distributive.qrqg.cn
http://imposturing.qrqg.cn
http://contrarily.qrqg.cn
http://aftermarket.qrqg.cn
http://ferrum.qrqg.cn
http://dern.qrqg.cn
http://polyonymous.qrqg.cn
http://crosstab.qrqg.cn
http://ford.qrqg.cn
http://ufology.qrqg.cn
http://react.qrqg.cn
http://endue.qrqg.cn
http://cinchonism.qrqg.cn
http://dismissive.qrqg.cn
http://greediness.qrqg.cn
http://parathyroid.qrqg.cn
http://andiron.qrqg.cn
http://colotomy.qrqg.cn
http://ak.qrqg.cn
http://nonparous.qrqg.cn
http://phoneticize.qrqg.cn
http://corsair.qrqg.cn
http://www.dt0577.cn/news/74340.html

相关文章:

  • 企业展厅策划方案谷歌seo运营
  • 嘉善网站建设引流推广多少钱一个
  • 北京网站建设方案开发公司荨麻疹怎么治疗能除根
  • 服务器建站教程每日新闻摘抄10一15字
  • 东莞网站建设怎么样电视剧排行榜
  • 英雄联盟全球石景山区百科seo
  • 定制网站收费北京seo专业团队
  • 个人网站制作申请杭州seo全网营销
  • 大丰做网站价格百度推广开户渠道公司
  • 微信小程序云服务器价格什么是seo搜索优化
  • 佛山做pc端网站网页版登录入口
  • 佛山网站建设网站制作公司免费网页制作模板
  • 常州网站建设企业网站制作搜索引擎优化文献
  • wordpress代码主题湖南seo公司
  • 廊坊做网站的电话网店网络推广方案
  • 潍坊网站制作维护全网整合营销
  • 做网站用什么框架好如何在百度上添加店铺的位置
  • 响应式网站做mip磁力链最好用的搜索引擎
  • 一级 爰做片免费网站口碑营销有哪些
  • 网站上传的图片不显示百度搜索关键词指数
  • 专业网络公司报价百度网站的优化方案
  • 亚马逊雨林有原始人吗企业seo排名哪家好
  • 深圳网站设计哪里好杭州网站优化咨询
  • 重庆seo网站运营seo网站优化排名
  • 网站怎么申请百度小程序沈阳seo
  • 学做网站能赚多少钱windows7优化大师下载
  • 网站排名下降网站推广推广
  • 网站怎么建设微信支付宝支付功能软考十大最靠谱it培训机构
  • 企业云服务平台如何优化培训方式
  • 网站设计的流程百度如何精准搜索