routing zu VirtualBox

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Ishmael
Beiträge: 15
Registriert: 15.10.2009 22:51:26

routing zu VirtualBox

Beitrag von Ishmael » 23.09.2010 07:58:25

Hallo,

ich habe auf einem Rootserver VirtualBox installiert und sowie Host und Gastsystem sind Debian Lenny.
nun habe ich versucht mit

Code: Alles auswählen

iptables -t nat -A POSTROUTING -p tcp -s x.x.x.x --sport 10022 -d 192.168.56.101 --dport 22
den port 10022 der öffentlichen IP auf Port 22 auf das Gastsystem zu um zu leiten allerdings funtzt das nicht wirklich, ich hoffe irgend wer kann mir in sachen routing und port forwarding ein paar tips gebe ich habe auf dem Hostsystem das Firewallscript nach

http://www.gargi.org/showthread.php?122 ... all-Script

eingerichtet.

Das Gastsystem hat folgende Nertzwerkconfig

Code: Alles auswählen

eth0      Link encap:Ethernet  Hardware Adresse 08:00:27:43:f4:91
          inet Adresse:10.0.2.15  Bcast:10.0.2.255  Maske:255.255.255.0
          inet6-Adresse: fe80::a00:27ff:fe43:f491/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:279 errors:0 dropped:0 overruns:0 frame:0
          TX packets:285 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000
          RX bytes:53189 (51.9 KiB)  TX bytes:31326 (30.5 KiB)
          Interrupt:10 Basisadresse:0xd020

eth1      Link encap:Ethernet  Hardware Adresse 08:00:27:79:4d:57
          inet Adresse:192.168.56.101  Bcast:192.168.56.255  Maske:255.255.255.0
          inet6-Adresse: fe80::a00:27ff:fe79:4d57/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:1585 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1131 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000
          RX bytes:164538 (160.6 KiB)  TX bytes:186364 (181.9 KiB)
          Interrupt:9 Basisadresse:0xd060

lo        Link encap:Lokale Schleife
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine
          UP LOOPBACK RUNNING  MTU:16436  Metrik:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
Und das Hostsystem diese:

Code: Alles auswählen

eth0      Link encap:Ethernet  Hardware Adresse x:x:x:x:x:x
          inet Adresse:x.x.x.x Bcast:x.x.x.255  Maske:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:4253875 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1885895 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000
          RX bytes:1202314436 (1.1 GiB)  TX bytes:175340106 (167.2 MiB)
          Interrupt:222 Basisadresse:0x2000

lo        Link encap:Lokale Schleife
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metrik:1
          RX packets:115 errors:0 dropped:0 overruns:0 frame:0
          TX packets:115 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0
          RX bytes:13220 (12.9 KiB)  TX bytes:13220 (12.9 KiB)

vboxnet0  Link encap:Ethernet  Hardware Adresse 0a:00:27:00:00:00
          inet Adresse:192.168.56.1  Bcast:192.168.56.255  Maske:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2303 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000
          RX bytes:0 (0.0 B)  TX bytes:229366 (223.9 KiB)

Wenn ich auf dem Hostsystem

Code: Alles auswählen

 ssh root@192.168.56.101 
eingebe komme ich ohne Probleme auf das Gastsystem, Port 10022 hab ich auch freigegeben in der Firewall.

Ich danke schonmal für eure Hilfe.

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: routing zu VirtualBox

Beitrag von Danielx » 23.09.2010 13:09:37

Ishmael hat geschrieben:ich habe auf einem Rootserver VirtualBox installiert und sowie Host und Gastsystem sind Debian Lenny.
nun habe ich versucht mit

Code: Alles auswählen

iptables -t nat -A POSTROUTING -p tcp -s x.x.x.x --sport 10022 -d 192.168.56.101 --dport 22
den port 10022 der öffentlichen IP auf Port 22 auf das Gastsystem zu um zu leiten
Probiere es mal so:

Code: Alles auswählen

iptables -t nat -i eth0 -p tcp -A PREROUTING --dport 10022 -j DNAT --to-destination 192.168.56.101:22
Gruß,
Daniel

Ishmael
Beiträge: 15
Registriert: 15.10.2009 22:51:26

Re: routing zu VirtualBox

Beitrag von Ishmael » 23.09.2010 14:08:28

Hab ich probiert, ging leider nicht.

Gibst irgend eine Abfrage wie kontrollieren kann was wohin geroutet wird.
Routing und der gleichen sind noch neuland für mich.
Sonst hab ich im mit VBox Bridgednetworking genutzt alleridings iss das ziemlich schwierig wenn man nur eine öffentliche IP zur verfügung hat.

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: routing zu VirtualBox

Beitrag von Danielx » 23.09.2010 14:48:01

Kommst du denn vom Gast überhaupt ins Internet?
Deine Firewall lässt kein Forwarding zu, oder?
Außerdem ist Forwarding nicht aktiviert?
Siehe Ausgabe von:

Code: Alles auswählen

cat /proc/sys/net/ipv4/ip_forward
Was sagt (Gast und Host):

Code: Alles auswählen

route -n
Gruß,
Daniel

Ishmael
Beiträge: 15
Registriert: 15.10.2009 22:51:26

Re: routing zu VirtualBox

Beitrag von Ishmael » 23.09.2010 15:10:11

Code: Alles auswählen

cat /proc/sys/net/ipv4/ip_forward
ergibt 1
Kommst du denn vom Gast überhaupt ins Internet?
Stimmt wenn die Firewall an ist komme ich mit dem Gast nicht ins Internet.

Code: Alles auswählen

route -n
Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
x.x.x.0         0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.56.0    0.0.0.0         255.255.255.0   U     0      0        0 vboxnet0
0.0.0.0         x.x.x.1         0.0.0.0         UG    0      0        0 eth0

Ich hab die nur übernommen
Firewall sieht so aus

Code: Alles auswählen

 1 #!/bin/sh
 2 # script written by Gargi 2009 http://www.gargi.org
 3
 4 #needed modules
 5 modprobe ip_conntrack_ftp
 6
 7 BLACKLIST=/usr/local/etc/blacklist.txt
 8
 9 #trigger for your ports
 10 IN_ALLOWED_TCP="21 22 80 3389 10022"
 11 OUT_ALLOWED_TCP="21 22 80 3389 10022"
 12 IN_ALLOWED_UDP="53 7878 9987"
 13 OUT_ALLOWED_UDP="53 9987"
 14 IN_ALLOWED_ICMP=" "
 15 OUT_ALLOWED_IMCP=" "
 16
 17 case "$1" in
 18    start)
 19
 20       # Stopping IP trap
 21       /etc/init.d/fail2ban stop
 22       echo "Stopping fail2ban IP trap ..."
 23
 24       # Clear iptables
 25       iptables -F
 26
 27       #Defaults
 28       iptables -P INPUT DROP
 29       iptables -P OUTPUT DROP
 30       iptables -P FORWARD DROP
 31
 32       # loopback communication
 33       iptables -A INPUT -i lo -j ACCEPT
 34       iptables -A OUTPUT -o lo -j ACCEPT
 35
 36       # persist on connections
 37       iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 38       iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 39
 40       # Ban blacklisted IPs
 41       for x in `grep -v ^# $BLACKLIST | awk '{print $1}'`; do
 42         echo "Blocking $x..."
 43         iptables -A INPUT -t filter -s $x -j DROP
 44       done
 45
 46       # TCP rules in
 47       for port in $IN_ALLOWED_TCP; do
 48         echo "Accepting TCP port $port"
 49         iptables -A INPUT -t filter -p tcp --dport $port -j ACCEPT
 50       done
 51
 52       # TCP rules out
 53       for port in $OUT_ALLOWED_TCP; do
 54         echo "Allowing sending over TCP port $port"
 55         iptables -A OUTPUT -t filter -p tcp --dport $port -j ACCEPT
 56       done
 57
 58       # UDP rules in
 59       for port in $IN_ALLOWED_UDP; do
 60         echo "Accepting UDP  port $port"
 61         iptables -A INPUT -t filter -p udp --dport $port -j ACCEPT
 62       done
 64       # UDP  rules out
 65       for port in $OUT_ALLOWED_UDP; do
 66         echo "Allowing sending over UDP port $port"
 67         iptables -A OUTPUT -t filter -p udp --dport $port -j ACCEPT
 68       done
 69
 70       # ICMP rules in
 71       for port in $IN_ALLOWED_ICMP; do
 72         echo "Accepting ICMP  port $port"
 73         iptables -A INPUT -t filter -p icmp --dport $port -j ACCEPT
 74       done
 75
 76       # ICMP rules out
 77       for port in $OUT_ALLOWED_ICMP; do
 78         echo "Allowing sending over ICMP port $port"
 79         iptables -A OUTPUT -t filter -p icmp --dport $port -j ACCEPT
 80       done
 81
 82       # Dropping startup requests
 83       iptables -A INPUT -t filter -p tcp --syn -j DROP
 84
 85       # Restarting IP trap
 86       /etc/init.d/fail2ban start
 87       echo "Fire up IP trap again ..."
 88       ;;
 89    stop)
 90       /etc/init.d/fail2ban stop
 91       iptables -F
 92       iptables -P INPUT ACCEPT
 93       iptables -P OUTPUT ACCEPT
 94       echo "Warning! Firewall is stopped, server is unprotected now!"
 95       ;;
 96    restart)
 97       $0 stop
 98       sleep 1
 99       $0 start
100       ;;
101       *)
102       echo "Usage $0 {start|stop|restart}"
103       ;;
104 esac
War auch immer zuverlässig.
Kann ich auch nur empfehlen

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: routing zu VirtualBox

Beitrag von Danielx » 23.09.2010 22:10:59

Ishmael hat geschrieben:Stimmt wenn die Firewall an ist komme ich mit dem Gast nicht ins Internet.
Ja, denn die FORWARD-Policy ist DROP:

Code: Alles auswählen

  30       iptables -P FORWARD DROP
Und es gibt keine Regel, die das Forwarding erlaubt, wie z.B.:

Code: Alles auswählen

iptables -A FORWARD -j ACCEPT
Ggffs. verschärfen.

Allerdings wundert mich, dass du vom Gast ohne Firewall überhaupt ins Internet kommst, so ohne SNAT bzw. MASQUERADE. :?
Was hast du denn bei VirtualBox beim Netzwerk für einen Modus ausgewählt?

Gruß,
Daniel

Ishmael
Beiträge: 15
Registriert: 15.10.2009 22:51:26

Re: routing zu VirtualBox

Beitrag von Ishmael » 26.09.2010 13:07:29

Ich hab bei dem Gastsystem bei der ersten Netzwerkkarte NAT und bei der zweiten Host Only eingestellt

Ishmael
Beiträge: 15
Registriert: 15.10.2009 22:51:26

Re: routing zu VirtualBox

Beitrag von Ishmael » 27.09.2010 15:48:19

Es funtzt, ich hab noch mal alles zurück gesetzt, und noch mal alles von vorn gemacht

Ohne die Firewall

- auf dem Gastsystem vor der Installation schon beide Netzwerkkarten bei VirtualBox einrichten
- erste mit NAT
- zweit mit Host-Only

dann

Code: Alles auswählen

echo "1"  > /proc/sys/net/ipv4/ip_forward

gesetzt

Code: Alles auswählen

iptables -t nat -i eth0 -p tcp -A PREROUTING --dport 10022 -j DNAT --to-destination 192.168.56.101:22
eingegeben.
Und siehe da alles funtzt.
Nun komme ich direkt mit port 10022 der öffentlichen ip auf port 22 des Gastsystems raus.
Wie ich das in einzelnden Schritten gemacht hab schreibe ich noch mal ausfühlich auf. Mit mit noch ein paar Hilfescripte die sich daraus gebildet haben.

Antworten