Sep 26, 2009

Χρησιμοποιώντας το port-forwarding στο Virtualbox

Συνεχίζοντας το project στο Oracle Business Intelligence, ήλθε σύντομα η ώρα να δοκιμάσουν οι χρήστες το καινούργιο περιβάλλον κατασκευής ad-hoc reports. Η εγκατάσταση της Business Intelligence σουίτας βρίσκεται σε ένα virtual machine του Virtualbox που τρέχει Windows XP, οπότε για να δοθεί εξωτερική πρόσβαση, χρειάστηκε να εκμεταλλευτούμε το γνώρισμα port-forwarding του Virtualbox. Τούτο μας επιτρέπει το σύστημα υποδοχέας (host) να προωθεί τις TCP αιτήσεις σε συγκεκριμένη πόρτα (port) που δέχεται, με διάφορους κανόνες, σε ένα guest virtual machine. Κατά αυτόν τον τρόπο, μπορούμε να εξάγουμε πολλές υπηρεσίες, χωρίς να γνωρίζουν το παραμικρό οι χρήστες μας, για το περιβάλλον εκτέλεσής τους.

Ως προς τη ρύθμιση, στο Ubuntu που χρησιμοποιώ ως host σύστημα, έτρεξα τις ακόλουθες εντολές, για το virtual machine ονόματι WinXP_BI:

VBoxManage setextradata "WinXP_BI" "VBoxInternal/Devices/e1000/0/LUN#0/Config/http/Protocol" TCP VBoxManage setextradata "WinXP_BI" "VBoxInternal/Devices/e1000/0/LUN#0/Config/http/GuestPort" 9704 VBoxManage setextradata "WinXP_BI" "VBoxInternal/Devices/e1000/0/LUN#0/Config/http/HostPort" 9704
Με τις παραπάνω ρυθμίσεις, οποιαδήποτε αίτηση στο TCP port 9704 στον host, θα προωθείται στην πόρτα 9704 του συγκεκριμένου guest συστήματος.

Σημειώστε σε αυτό το σημείο πως:
  • η κάρτα δικτύου που χρησιμοποιώ είναι η Intel Pro σε NAT configuration και όχι η PCNet οπότε για αυτό δηλώσαμε το e1000 αντί του pcnet
  • μετά από αυτές τις εντολές θα χρειαστεί να επανεκκινήσουμε τον υπολογιστή μας.
Αφότου γίνει και αυτό, θα χρειαστεί να ανοίξουμε την πόρτα 9704 στο firewall του host αλλά και του guest συστήματος.


Τώρα, μόλις πληκτρολογήσουμε την διεύθυνση του υπολογιστή μας στη συγκεκριμένη πόρτα, θα εξυπηρετηθούμε από το virtual machine μας.

No comments: