VMware Remote Console [VMRC]

Wenn man mit dem ESXi Virtualiesierungssystem arbeitet gibt es immer ein Problem. Will man nur schnell eine laufende VM verwenden um etwas nachzusehen oder zu testen benötigt man immer den vSphere Client um die Konsole zu öffnen.
Um diesen Umstand zu beseitigen braucht man nur im Internet etwas suchen und man erhält die Aufrufparameter für die VMware Remote Console (vmrc).
Dort wird dann beschrieben wie man einen Link erstellt unter Windows mit den passenden Parametern.

Das sieht dann ungefähr so aus:
„… erstellen Sie eine neue Verknüpfung zur vmware-vmrc.exe auf dem Desktop mit dem Kontextmenü …“
„… bearbeiten Sie das Ziel der Verknüpfung und fügen die folgenden Parameter hinzu:“

Resultat
Link mit Ziel:
„C:\Program Files (x86)\Common Files\VMware\VMware VMRC Plug-in\Internet Explorer\vmware-vmrc.exe“ -h <ESX-IP> -u <user> -p <password> „[DATASTORE] /VMxy/VMxy.vmx“

Nun wenn man nur 1 oder 2 VMs auf dem ESX-System hat mag das ja noch praktikabel sein. Bei 5 oder mehr sollte man jedoch daran denken die zu automatisieren.
Mit Hilfe der VMware vSphere PowerCLI geht das wunderbar.
Das folgende Script muss innerhalb der PowerCLI ausgeführt werden, es meldet sich beim ESX an und erstellt dann für jede VM einen solchen Link auf dem Desktop des angemeldeten Benutzers, abschließend trennt es die Verbindung wieder.


$WshShell = New-Object -comObject WScript.Shell

$esxhost = "10.10.47.11"
$esxuser = "your user"
$esxpass = "user password"
$vmrcpath = "%programfiles%\Common Files\VMware\VMware VMRC Plug-in\Internet Explorer\vmware-vmrc.exe"

$server = Connect-VIServer $esxhost -User $esxuser -Password $esxpass

Foreach ($VM in (Get-VM | Sort Name | Get-View)){
$MyDetails = "" | Select-Object VMName,VMXLocation
$MyDetails.VMName = $VM.Name
$MyDetails.VMXLocation = $VM.Config.Files.VmPathName

$Shortcut = $WshShell.CreateShortcut("%userprofile%\desktop\" + $esxuser + "_" + $MyDetails.VMName + ".lnk")
$Shortcut.TargetPath = $vmrcpath
$Shortcut.Arguments = "-h " + $esxhost + " -u " + $esxuser + " -p " + $esxpass + " " + """" + $MyDetails.VMXLocation + """"
$Shortcut.Save()
}

Disconnect-VIServer -Server $server -Force -Confirm:$false

Auf eines muss ich noch hinweisen: Bitte verwendet nicht den root zugang für dieses Script!! Der Benutzer und das Passwort sind bei diesen Links klartextparameter. Richtet also vorher ein Benutzerkonto auf dem ESX ein.

VMLinks Script [Download]

Update: Um die VMRC ohne die Fehlermeldung „VMWare Player ist nicht korrekt installiert. Bitte Installieren Sie diesen neu.“ verwenden zu können, muss der vSphere Client mit der Version 5.0.0-623373 installiert sein. Ist nur die Version 5.1.x installiert funktioniert es nicht.

Protokollanalyse mit Linux (Teil1)

Dies ist eine Schritt für Schritt Anleitung zum Einrichten von Linux zur Analyse des Netzwerkverkehrs zwischen verschiedenen Komponenten.

Eine Analyse des Netzwerkverkehrs kann dazu eingesetzt werden Fehler in der Kommunikation von Komponenten (Soft- sowie Hardware) aufzudecken und zu beseitigen. Einer anderen Anwendung soll dieses Beispiel nicht dienen!

Testumgebung

  • Laptop mit Linux (Debian 6.0.6)
  • USB-Ethernet Adapter (Apple)
  • USB-WLAN Adapter (Realtek 8187)
  • DHCP-Server
  • Aircrack-NG Suite
  • Wirshark

Ich gehe davon aus das Debian 6 (Squeeze) bereits auf dem Laptop installiert ist und man sich in einem Terminal unter GNOME / KDE / etc. befindet.

WICHTIG!
Für diese Anleitung ist es Erforderlich das die Schritte als ROOT ausgeführt werden.
Es sollte daher mit Bedacht vorgegangen werden, da der Spruch „Ich bin root, ich darf das!“ nicht von ungefähr kommt.
Daher hafte ich für keinerlei Schäden die ihr dem System zufügt.
Wenn ihr ganz sicher gehen wollt macht das in einer VM in die ihr die USB-Adapter durchreicht.

Schritt 1: Installation der benötigten Pakete

apt-get install build-essential curl libssl-dev libsqlite3-dev
apt-get install iw wireless-tools wireshark bridge-utils isc-dhcp-server

Schritt 2: Herunterladen des aktuellen Aircrack-NG Suite Quellcodes

wget http://download.aircrack-ng.org/aircrack-ng-1.1.tar.gz

Schritt 3: Entpacken und patchen des Quellcodes

Entpacken

tar –zxvf aircrack-ng-1.1.tar.gz

Patchen

cd aircrack-ng-1.1
nano common.mak

Aus der Zeile „CFLAGS ?= -g -W -Wall -Werror -03“ das „-Werror“ entfernen da sich sonst Aircrack nicht kompilieren lässt.

Schritt 4: Kompilieren und installieren der Aircrack-NG Suite

Kompilieren

make sqlite=true

Installieren

make sqlite=true install

Schritt 5: Update der OUI-Datei

airodump-ng-oui-update

Schritt 6: Monitor Modus von wlan1 starten

airmon-ng start wlan1

Schritt 7: Einen WLAN-Accesspoint mit airbase starten

airbase-ng -e FreeWifi -c 11 mon0 &

Schritt 8: Einrichten der Schnittstellen

ifconfig at0 up
ifconfig eth1 up

Einrichten der Netzwerkbrücke

brctl addbr wifibr0
brctl addif wifibr0 at0
brctl addif wifibr0 eth1
ifconfig wifibr0 10.0.0.254 netmask 255.255.255.0
ifconfig wifibr0 up

Schritt 9: Routing und IP_FORWARDING einrichten

echo „1“ > /proc/sys/net/ipv4/ip_forward
route add net 10.0.0.0 netmask 255.255.255.0 gw 10.0.0.254
iptables –flush
iptables –table nat –flush
iptables –delete-chain
iptables –table nat –delete-chain
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQERADE

Schritt 10: DHCP Server einrichten und starten

Bindung des DHCP-Servers an die Netzwerkbrücke

nano /etc/default/isc-dhcp-server

Als INTERFACES wifibr0 eintragen. (INTERFACES=“wifibr0″)

DHCP Einstellungen bearbeiten

nano /etc/dhcp/dhcpd.conf

ddns-update-style ad-hoc;
default-lease-time 600;
max-lease-time 7200;
authoritive;

subnet 10.0.0.0 netmask 255.255.255.0 {
    range 10.0.0.10 10.0.0.30;
    option netmask 255.255.255.0;
    option routers 10.0.0.254;
    option broadcast-address 10.0.0.255;
    option domain-name-servers 8.8.8.8;
}

DHCP Server starten

/etc/init.d/isc-dhcp-server restart

Schritt 11: Start der Analyse mit Wireshark

wireshark -i wifibr0 –k &