VMWare ESXi

Statische Route auf anderes Interface konfigurieren

Zuerst muss die Console, bzw. gleich SSH nach dieser Anleitung aktiviert werden: Unsupported Console und SSH aktivieren.

Jetzt kann man das Routing mittel „esxcfg-route“ selbst einstellen:

~ # esxcfg-route -l
VMkernel Routes:
Network             Netmask             Gateway
10.10.10.0          255.255.255.0       Local Subnet
10.10.14.0          255.255.255.0       10.10.10.1
212.34.185.64       255.255.255.224     Local Subnet
default             0.0.0.0             212.34.185.65

# Route für das Netz 192.168.100.0 über 192.168.0.1 einrichten:
~ # esxcfg-route -a 192.168.100.0/24 192.168.0.1

# Hilfetext:
~ # esxcfg-route --help
esxcfg-route <options> [<network> <gateway>] | <default gateway>
   <network> can be specified in 3 ways:
    * As a single argument in <IP>/<Mask> format
    * Or as a <IP> <Netmask> pair.
    * Or as 'default'

  -a|--add                   Add route to the VMkernel,
                             requires <network> (described above)
                             and gateway IP address
  -d|--del                   Delete route from the VMkernel.
                             Requires <network> (described above)
  -l|--list                  List configured routes for the VMkernel
  -f|--family <V4> or <V6>   Address family to work on.
                             Defaults to V4.
  -r|--restore               Restore route setting to configured values
                             on system start. (INTERNAL USE ONLY)
  -h|--help                  Show this message.

If no options are specified then it will print the default IPv4 gateway.
The default IPv4 gateway can be set directly as : esxcfg-route <gateway>

Examples:

  To add a route to 192.168.100.0 network through 192.168.0.1
      esxcfg-route -a 192.168.100.0/24 192.168.0.1
      or
      esxcfg-route -a 192.168.100.0 255.255.255.0 192.168.0.1

  To set the VMkernel default gateway of 192.168.0.1
      esxcfg-route 192.168.0.1
      or
      esxcfg-route -a default 192.168.0.1

  To delete a 192.168.100.0 route from the VMkernel:
      esxcfg-route -d 192.168.100.0/24 192.168.0.1

  To add a route to  2001:10:20:253::/64 network through 2001:10:20:253::1
      esxcfg-route -f V6 -a 2001:10:20:253::/64 2001:10:20:253::1

  To set the VMkernel default gateway of 2001:10:20:253::1
      esxcfg-route -f V6 -a default 2001:10:20:253::1

  To delete a 2001:10:20:253:: route from the VMkernel:
      esxcfg-route -f V6 -d 2001:10:20:253::/64 2001:10:20:253::1

Ein Reboot steht zwar noch aus, aber die Routen sollten dann wiederhergestellt werden. Zumindest in der Konfigurationsdatei wurden sie eingetragen:

~ # grep routes /etc/vmware/esx.conf
/net/routes/kernel/gateway = "192.168.0.1"
/net/routes/kernel/routes/child[0000]/gateway = "192.168.0.1"
/net/routes/kernel/routes/child[0000]/network = "192.168.100.0/24"

Unsupported Console und SSH aktivieren

Normalerweise verfügt der ESXi nur über eine sehr eingeschränkte Konsole, über die nur sehr wenige Einstellungen (Netz, Kennwort, Tastaturlayout) vorgenommen werden können.

Mit einem kleinen Trick läßt sich hier jedoch eine „nicht unterstützte“ Notfallkonsole aktivieren. Möglicherweise erlischt dadurch jedoch der Supportanspruch.

Die Konsole ist folgendermaßen aktivierbar:

  1. in der Konsole mit ALT+F1 auf den ersten Screen wechseln
  2. dort einfach das Wort „unsupported“ eintippen und Enter drücken, es erscheint kein Text nicht wundern.
  3. jetzt mit dem Root-Kennwort einloggen
  4. Mit „vi /etc/inetd.conf“ die Datei bearbeiten und dort das Kommentarzeichen vor ssh / tcp entfernen
  5. „services.sh restart“ ausführen
  6. mittels „ps ax | grep inetd“ die PID vom inetd ermitteln und ihn mit einem „kill -HUP <pid> neu starten

jetzt sollte der Zugriff per SSH übers Netzwerk möglich sein.