tap-wifi-dumbbell本身可以在linux內部互通,但是如果與外部真實主機互通,
有三種方案:其中一種方案需要路由的支持,這裏簡單介紹一下我的實驗。
拓撲圖如下:
配置命令如下:
ip tuntap add dev tap0 mod tap
ifconfig tap0 10.1.1.1 up
ping 10.1.1.1
#linux設置主機路由,其中NS3中除了影子節點以外,任何一個都可以設置爲網關,gw不能設置爲10.1.1.1,該地址是一個橋設備
route add -net 10.1.1.0 netmask 255.255.255.0 dev tap0
route add -net 10.1.2.0 netmask 255.255.255.0 dev tap0 gw 10.1.1.2
route add -net 10.1.3.0 netmask 255.255.255.0 dev tap0 gw 10.1.1.2
#windows 主機路由
route add 10.1.1.0 mask 255.255.255.0 192.168.198.129
route add 10.1.2.0 mask 255.255.255.0 192.168.198.129
更改原來的代碼,並添加上一段簡單的靜態路由:
// Network topology
//
// +----------+
// | external |
// | Linux |
// | Host |
// |