時(shí)間:2023-06-29 12:48:02 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)
時(shí)間:2023-06-29 12:48:02 來(lái)源:網(wǎng)站運(yùn)營(yíng)
Mininet互通(mininet內(nèi)主機(jī)跨宿主機(jī)通信、mininet與真機(jī)通信、mininet內(nèi)主機(jī)訪問(wèn)外網(wǎng))怎么實(shí)現(xiàn)?:mininet內(nèi)虛擬主機(jī)
與ubuntu宿主機(jī)
在網(wǎng)絡(luò)中同等地位的目的,占用網(wǎng)卡后的網(wǎng)絡(luò)拓?fù)淇梢赃@么理解。如果想用虛擬機(jī)做實(shí)驗(yàn)的話,就將虛擬機(jī)橋接主機(jī),再將USB無(wú)線網(wǎng)卡給虛擬機(jī)。主機(jī)和無(wú)線網(wǎng)卡都連接手機(jī)熱點(diǎn)。
ifconfig
一下,一般能看到倆網(wǎng)卡。比如一個(gè)是ens33
,一個(gè)是ens38
sudo ifconfig ens33 0.0.0.0
os.popen('ovs-vsctl add-port s1 ens33')
這個(gè)里面的ens33需要改成你需要讓mininet占用的網(wǎng)卡名稱(chēng)。#!/usr/bin/env pythonimport osfrom mininet.net import Mininetfrom mininet.node import Controller, RemoteControllerfrom mininet.cli import CLIfrom mininet.link import Intffrom mininet.log import setLogLevel, infodef ToRealnet(): net = Mininet( topo=None, build=False) info( '*** Adding controller/n' ) net.addController(name='m1') info( '*** Add switches/n') s1 = net.addSwitch('s1') info( '*** Add hosts/n') h1 = net.addHost('h1', ip='0.0.0.0') # ubuntu_2這里是h3 h2 = net.addHost('h2', ip='0.0.0.0') # ubuntu_2這里是h4 info( '*** Add links/n') net.addLink(h1, s1) net.addLink(h2, s1) info( '*** Starting network/n') net.start() os.popen('ovs-vsctl add-port s1 ens33') h1.cmdPrint('dhclient '+h1.defaultIntf().name) h2.cmdPrint('dhclient '+h2.defaultIntf().name) CLI(net) net.stop()if __name__ == '__main__': setLogLevel( 'info' ) ToRealnet()
sudo python topo.py
然后就可以看到h1和h2都通過(guò)dhcp方式擁有了自己的IPsudo mn -c
清理之后,發(fā)現(xiàn)占用的網(wǎng)卡還是不能正常工作,可以斷開(kāi)在重新連接,不行重啟絕對(duì)行。sudo mn --nat
不占用主機(jī)網(wǎng)卡,建立好后可以直接ping外網(wǎng),但是外界主機(jī)訪問(wèn)不了mininet內(nèi)的h1、h2( 不能說(shuō)絕對(duì)訪問(wèn)不了,至少麻煩點(diǎn))。沒(méi)法直接 ping www.baidu.com
是因?yàn)橹鳈C(jī)沒(méi)配置DNS。關(guān)鍵詞:主機(jī),通信,訪問(wèn),宿主
客戶(hù)&案例
營(yíng)銷(xiāo)資訊
關(guān)于我們
客戶(hù)&案例
營(yíng)銷(xiāo)資訊
關(guān)于我們
微信公眾號(hào)
版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。