Ubuntu系统中,创建docker 容器接入ns3网络

步骤

参考文章:建议先看明白这个

https://zhuanlan.zhihu.com/p/267140054 NS3与物理网络连接 直接翻译的官方文档哈哈
https://www.nsnam.org/wiki/HOWTO_Use_Linux_Containers_to_set_up_virtual_networks

1. 创建docker bridge
docker network create --driver bridge --subnet 10.1.1.0/24 --gateway 10.1.1.1 ns3net
解析:
--driver bridge 表示使用桥接模式
--subnet 10.1.1.0/24 表示子网ip 可以分配 110.1.1.2 到 10.1.1.255
--gateway 10.1.1.1 表示网关
ns3net 表示网络名

创建网桥后在Linux系统中查看

docker network ls  

结果如下;
在这里插入图片描述
brctl show查看网桥
在这里插入图片描述

发现名字不一样,docker管理下名字为ns3net ,而在Linux中 名称更换。即这两个网桥为同一个只是名字不同。

使用useBridege模式连接物理网络。

2.创建tap设备添加到网桥ns3net中

配置的ns3 tap设备需要安装到Linux命名下的网桥中,即上图中的 br-62d09f…,否则程序会发现找不到tap设备。

tunctl -t tap02  #创建tap设备
ifconfig tap02 hw ether 00:00:00:00:00:10  #设置mac地址
ifconfig mytap 0.0.0.0 up #关掉tap的IP地址
brctl addif ns3net tap02 #将tap02添加到网桥中

3. 修改ns3源码

路径:ns-3.33/src/tap-bridge/examples/tap-csma.cc
在这里插入图片描述
修改模式 即ConfigureLocal —>>>UseBridge
在这里插入图片描述
保证网络号与网桥的一样
在这里插入图片描述

4.创建容器

自己创建的镜像添加了 ping ifconfig 包 ubu18-net
docker run --name test02 --net ns3net --ip 10.1.1.5 ubu18-net  #test02 容器 设置ip地址
docker run --name test03 --net ns3net --ip 10.1.1.6 ubu18-net  #test03 容器 设置ip地址
运行ns3代码
./waf --run tap-csma&
测试连接性
docker exec -it test02  ping 10.1.1.2
docker exec -it test03  ping 10.1.1.3

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值