Αν έχετε Ubuntu, συνδέεστε στο Internet με καλώδιο Ethernet, έχετε static ip μέσα στο LAN σας και εγκατεστημένο Virtualbox (όλα τα φυσιολογικά δηλαδή) παρακάτω είναι ένα script-άκι που έφτιαξα για να μπορώ να μπαίνω στο Internet από τα Guest OSes του VirtualBox…

Host: Ubuntu Linux με εγκατεστημένο VirtualBox
Guest OSes: Νομίζω ότι όταν έφτιαξα και δοκίμασα το script είχα Guests: Debian Etch, Windows XP και FreeBSD 7.0, τώρα πάντως έχω Windows XP και δουλεύει..

Δεν έχετε παρά να γράψετε τις αριθμημένες εντολές σε ένα αρχείο και μετά να ακολουθήσετε τις οδηγίες:

1. tunctl -t tap1 -u eleni

(όπου eleni βάζετε το όνομα του user που χρησιμοποιεί το VirtualBox)

2. chown root.vboxusers /dev/net/tun ;
3. chmod g+rw /dev/net/tun ;
4. brctl addbr br0 ;
5. ifconfig eth0 0.0.0.0 promisc ;
6. brctl addif br0 eth0 ;
7. ifconfig br0 192.168.1.22 netmask 255.255.255.0 ;

(όπου η ip πρέπει να είναι η ip που έχετε μέσα στο LAN σας και μπορείτε να τη βρείτε μαζί με το netmask σας γράφοντας cat /etc/network/interfaces και βρίσκοντας κάτι σαν αυτό:
iface eth0 inet static
address 192.168.1.22
netmask 255.255.255.0)

8. route add default gw 192.168.1.1 br0 ;

(όπου η ip πρέπει να είναι η ip του router σας και μπορείτε να τη βρείτε γράφοντας route -n και βρίσκοντας μια εγγραφή σαν αυτή:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 br0)

9. brctl addif br0 tap1 ;
10. ifconfig tap1 up ;

Το script θα είναι κάπως έτσι:

#!/bin/sh
# set up the bridge (nat-virtualbox)
tunctl -t tap1 -u eleni ;
chown root.vboxusers /dev/net/tun ;
chmod g+rw /dev/net/tun ;
brctl addbr br0 ;
ifconfig eth0 0.0.0.0 promisc ;
brctl addif br0 eth0 ;
ifconfig br0 192.168.1.22 netmask 255.255.255.0 ;
route add default gw 192.168.1.1 br0 ;
brctl addif br0 tap1 ;
ifconfig tap1 up ;

(με τις αλλαγές που προαναφέρθηκαν)

Σώζετε ως name.sh ή name (όπου name το όνομα που θέλετε να έχει το script) και ακολουθείτε τις οδηγίες εδώ (από το βήμα 2) για να το κάνετε να τρέχει στο startup.

Προσοχή!! Αν χρησιμοποιείτε κάποιο firewall θα πρέπει να τροποποιήσετε τις ρυθμίσεις του (network settings στο firestarter)

Επιπλέον βοήθεια για όσους χρησιμοποιούν wireless υπάρχει εδώ.

Αν το script-άκι δουλέψει σωστά, γράφοντας την εντολή ifconfig θα μπορείτε να δείτε μια νέα συσκευή tap.

Καλή τύχη!

Υ.Γ: Εννοείται ότι το guest os θα παίρνει μια τυχαία ip μέσα στο LAN. Αν θέλετε να ρυθμίσετε το guest λειτουργικό ώστε να έχει static ip μέσα στο LAN π.χ. για να κάνετε port forwarding, τότε πρέπει να βεβαιωθείτε ότι δε δώσατε τη static ip που έχει το host! Αν δώσετε την ίδια static ip σε host και guest, αυτό που νομίζω ότι θα συμβεί (χωρίς να είμαι σίγουρη) είναι ότι θα μπορεί να μπει στο internet ή μόνο το guest λειτουργικό ή μόνο το host αλλά όχι και τα 2 ταυτόχρονα…

Υποβολή απάντησης