设为首页 加入收藏

TOP

Linux 内核调试3-UML网络配置
2014-11-24 11:27:56 来源: 作者: 【 】 浏览:1
Tags:Linux 内核 调试 UML 网络 配置

UML支持多种方式的网络,一般使用tap/tun模拟UML虚拟机中的eth0驱动,仅仅这种方式也能分为桥接和NAT等等,手工配置网络也有助于理解网络的运行方式。


根据官方文档 Simple UML Networking 下载 uml_utilities ,其实也就使用了一个工具 tunctl,这个工具很简单,就是启动 tun 驱动,首先得先查看是否加载 tun 驱动,当然首先需要有root权限:



到这里已经设置好tun/tap网卡,接下来启动UML虚拟机并且配置网络:


可以看到UML虚拟机已经有网卡配置,但是并无法连通网络。连通网络有几种方式,像virtualbox等虚拟机的NAT和桥接等等,按照UML这种设计方式,应该可以配置出来任意类型,这里尝试配置桥接模式:


经过设置网桥后发现仍然无法连通本地10.33.33.35,却可以ping通远程机器地址,真是抓狂,抓包发现tap0网卡arp解 析有问题,进一步查看发现tap0网卡的mac地址与虚拟机内eth0网卡mac地址不同,也就是UML内部重新创建一个网卡而并没有直接使用tap0, 只是通过tap0收发数据,但为什么远程机器可以接受但是本地地址无法接受呢?本地网卡把10.33.33.36当成了本机tap0,而外网地址把 10.33.33.36当成了UML虚拟机,故能连通,也就是UML虚拟机跟主机tap0并不相同,是两个独立的机器,把UML虚拟机设置为 10.33.33.37,发现所有机器都可以连通。这样就把UML虚拟机桥接到网络上了。


现在设置NAT网络,把系统网络状态恢复到开始, 重新设置tap驱动,地址为192.168.33.33,启动虚拟机,设置ip地址为 192.168.33.34,这样 192.168.33.* 就相当于一个小局域网,192.168.33.34 通过 192.168.33.33 转发,设置完毕以后二者便可通信,也省去了桥接的麻烦,只是需要操纵 iptables。


这样便可做成NAT的效果,比桥接方式简单的多,只是需要知道iptables的用法。当然以上配置每次重启将会消失,可以写到配置开机自动设置。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux 内核调试2-UML调试内核 下一篇Linux 内核调试4-Qemu调试Linux..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C 内存管理 | 菜鸟教 (2025-12-26 20:20:37)
·如何在 C 语言函数中 (2025-12-26 20:20:34)
·国际音标 [ç] (2025-12-26 20:20:31)
·微服务 Spring Boot (2025-12-26 18:20:10)
·如何调整 Redis 内存 (2025-12-26 18:20:07)