SSH tunnel till virtuella Cloudstack

(Jerker Montelius)

1 Inledning

I en tidigare bloggpost visade jag hur man kan accessa sina Cloudstack maskiner med SSH.

Denna metod kan dock utvecklas då den kräver ganska mycket uppsättningar i Cloudstack.

2 Problem

  • Port forwarding

    Då vi har virtuella maskinerna på "svarta" nät så måste man först fordwarda de lokala portarna till en publikt åtkomlig adress.

  • Firewall öppning

    På cloudstackmaskinen måste man öppna firewallen på de portar man har forwardat till.

3 Lösning

Hur kan man göra detta bättre och vad är det vi vill åstadkomma?

  • Ingen portforwarding skall behövas
  • Ingen firewall öppning skall behövas.
  • Krypterad förbincelse mellan lokal och cloudstack maskin.
  • möjlihet att att accessa nya maskiner utan lokal konfiguration.

4 SSH till din hjälp

4.1 lokal SSH tunnel setup

  • Sätt upp ssh tunneln

    ssh -NTCf -w 0:0 CM

  • Sätt en IP adress på den lokala tunneländen

    ifconfig tun0 10.0.2.1 netmask 255.255.255.252

  • Routa om trafik till Cloudstacknätet genom tunneln

    route add -net 10.1.0.0/16 dev tun0

4.2 remote SSH server tunnel setup

  • IP_forwarding

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

  • Sätt IP adress på bortre tunneländen

    ifconfig tun0 10.0.2.2 netmask 255.255.255.252

  • Routa tillbaka paket till tunneländen

    /sbin/iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

5 Vidare lösning

Man borde också kunna åstadkomma detta genom Cloudstacks VNC lösning men där krävs det mer undersökande arbete.