我有兩個虛擬機在同一主機上運行,它們都在同一個NAT網絡中。我使用實用程序腳本volttron/scripts/scalability-testing/virtual-drivers/bacnet.py在一個虛擬機(稱爲VM1)上啓動了假bacnet設備。 設備啓動正常。現在來自同一主機和同一個NAT網絡上的另一臺VM(比如VM2)運行了scan_bacnet.py,但是我的虛擬設備在VM1上沒有列出。bacnet_scan.py在同一個NAT網絡中的另一個虛擬機上運行,沒有檢測到設備
我驗證了BACpypes.ini文件上的IP地址具有運行scan_bacnet.py腳本的主機的正確地址。我還更改了BACpypes.ini中的地址以包含子網掩碼(10.0.2.15/24),但仍然沒有運氣。
下面是我BACpypes.ini對文件上VM2
[BACpypes]
objectName: Betelgeuse
address: 10.0.2.15/24
objectIdentifier: 599
maxApduLengthAccepted: 1024
segmentationSupported: segmentedBoth
vendorIdentifier: 15
內容這是我在VM1運行命令來啓動假BACnet設備
python bacnet.py bacnet_registry.csv 10.0.2.5
我能ping從一臺虛擬機遷移到另一臺虛擬機,並在源虛擬機上運行tcpdump,表明scan_bacnet.py正在向其他虛擬機發送whois請求。在目標VM上運行tcpdump會顯示機器正在接收whois請求,但假的bacnet設備未接收到whois請求。 我在做什麼錯?
我正在運行centos虛擬機。我應該打開什麼港口? – chandrika
好點。添加到我的答案。 –
工作。將子網掩碼添加到bacnet.py和更新的IP表的命令行參數以允許47808上的UDP通信,現在我的設備在掃描中顯示 – chandrika