В vSphere Client'е для VMkernel интерфейса вы можете задать только один шлюз, на который ESXi и будет пересылать все пакеты, направленные в удаленные сети. Но что, если нужно сделать какое-либо исключение и добавить нестандартный маршрут? В гипервизоре ESX это достаточно легко сделать, так как в нем есть Service Console (SC). А как же быть с ESXi, в котором SC просто нет? Ответ простой - нужно использовать служебную команду esxcfg-route. Собственно, перейдем к её рассмотрению. Чуть ниже приведены различные примеры её использования.


Просматриваем текущую таблицу маршрутизации:

# esxcfg-route --list
VMkernel Routes:
Network          Netmask          Gateway          Interface
192.168.33.0     255.255.255.0    Local Subnet     vmk0
default          0.0.0.0          192.168.33.1     vmk0

Добавляем нестандартный маршрут до подсети 192.168.100.x через шлюз 192.168.33.17:

# esxcfg-route -a 192.168.100.0/24 192.168.33.17

А так можно переназначить шлюз по умолчанию:

# esxcfg-route -a default 192.168.33.17

Если при добавлении маршрута вы допустили ошибку, указав не тот шлюз или не ту подсесть, или вам просто ранее добавленный маршрут больше не нужен, то удалить его можно быстро и легко, выполнив следующую команду:

# esxcfg-route -d 192.168.100.0/24 192.168.33.17

Выше приведенные примеры команд подходят только для работы с IPv4 таблицей маршрутизации. Посмотреть примеры (синтаксис) команд для работы с IPv6 таблицей маршрутизации вы можете, вызвав справку для этой команды:

# esxcfg-route --help

Для тех, у кого нет под рукой терминала, приведу скриншот, на котором изображены различные примеры команд для работы с IPv6 таблицей маршрутизации:

ipv6-route-table.jpg