2016-07-26 18 views
0

Ich habe zwei virtuelle Maschinen, die auf demselben Host laufen und beide im selben NAT-Netzwerk sind. Ich habe ein gefälschtes Bacnet-Gerät auf einer VM (zB VM1) mit dem Dienstprogramm volttron/scripts/scalability-testing/virtual-drivers/bacnet.py gestartet. Das Gerät hat gut gestartet. Nun habe ich von einer anderen VM (sagen wir VM2) auf demselben Host und demselben NAT-Netzwerk die scan_bacnet.py ausgeführt, aber mein gefälschtes Gerät auf VM1 wird nicht aufgelistet.bacnet_scan.py läuft auf einer VM, erkennt kein Gerät auf einer anderen im selben NAT-Netzwerk

Ich verifizierte, dass die IP-Adresse in der Datei BACpypes.ini die richtige Adresse des Hosts hat, auf dem das Skript scan_bacnet.py ausgeführt wird. Ich habe auch die Adresse in BACpypes.ini geändert, um Subnetzmaske (10.0.2.15/24) immer noch kein Glück zu enthalten.

ist Unterhalb der Inhalt meiner BACpypes.ini auf Datei auf VM2

[BACpypes] 
objectName: Betelgeuse 
address: 10.0.2.15/24 
objectIdentifier: 599 
maxApduLengthAccepted: 1024 
segmentationSupported: segmentedBoth 
vendorIdentifier: 15 

Dies ist der Befehl, den ich in VM1 lief die gefälschte bacnet Gerät zu starten

python bacnet.py bacnet_registry.csv 10.0.2.5 

ich in der Lage bin ping Von einer VM zur anderen und das Ausführen eines tcpdump auf der Quell-VM zeigt, dass die scan_bacnet.py die whois-Anfrage an die andere VM sendet. Das Ausführen von tcpdump auf der Ziel-VM zeigt, dass der Computer die Whois-Anforderung empfängt, aber das gefälschte Bacnet-Gerät die Whois-Anforderung nicht empfängt. Was mache ich falsch?

Antwort

0

Sie benötigen die Subnetz-Maske in der virtuellen Gerätebefehlszeile enthalten:

python bacnet.py bacnet_registry.csv 10.0.2.5/24 

Auch sollten Sie die Firewall-Einstellung auf beiden VMs überprüfen. Zum Beispiel blockiert CentOS standardmäßig den gesamten eingehenden Datenverkehr. (Sie sehen es immer noch in der Ausgabe tcpdump.) Für BACnet müssen Sie den UDP-Port 47808 für den gesamten Datenverkehr (Broadcast und direkt) öffnen.

+0

Ich renne Centos VMs. Welchen Hafen soll ich öffnen? – chandrika

+0

Guter Punkt. Zu meiner Antwort hinzugefügt. –

+0

das hat funktioniert. Die Subnetzmaske wurde den Befehlszeilenargumenten von bacnet.py und den aktualisierten ip -Tabellen hinzugefügt, um UDP-Datenverkehr auf 47808 zu ermöglichen. Jetzt wird mein Gerät beim Scannen angezeigt – chandrika