Маршрутизация ESXi. Подключение NFS из удаленной сети. | FreeBSD, Linux, VMware

Подняли изолированный хост ESXi в DMZ. Выход в сеть через шлюз. Шлюз на FreeBSD, подключен к DMZ (сеть 172.16.5.0/24) и основной LAN 10.0.0.0/24 (в лан – vSphere, остальные хосты esxi, файловый сервер (NFS). Задача – заставить хост ESXi в изолированной сети работать с NFS хранилищем в удаленной сети.

Шлюз. FreeBSD. KernelNAT:

${fwcmd} add nat 1 ip from any to any

Эта строка в ipfw позволяет роутить и натить все на всех трех интерфейсах – интерфейс в интернет, и два интерфейса – в DMZ и локальную общую сеть.

Далее ESXi. Для работы с маршрутами в ESXi есть команда esxcfg-route. Из GUI – в консоли и через vSphere мы можем настроить дефолтный шлюз. Чтобы настроить дополнительный маршрут – нужен ssh (или наверное через CLI тоже можно). Я делал в ssh.

Просмотр маршрутов:

#esxcfg-route --list

Добавляем маршрут в LAN сеть:

#esxcfg-route -a 10.0.0.0/24 172.16.5.1

172.16.5.1 – айпи шлюза в ДМЗ. Командой говорим – все что для 10.0.0.0/24 шлем на 172.16.5.1.
После этого можно пинговать интерфейс шлюза в сети 10.0.0.0/24 (у меня это 10.0.0.2).

Далее. Теперь для того чтобы хост из LAN (NFS сервер в нашем случае) знаку куда отправлять ответные пакеты настраиваем маршрут на нем.

Пусть это хост 10.0.0.10. У меня это CentOS. Делаем:

#route add -net 172.16.5.0 netmask 255.255.255.0 gw 10.0.0.2
Указываем именно gw (просто указания интерфейса недостаточно).

Все. После этого пинг будет проходить от хоста из ДМЗ до NFS сервера и обратно.
Далее правим exports для того чтобы дать доступ к NFS машинам из сети DMZ (172.16.5.0/24).

/storage 172.16.5.0/24(rw,insecure,async,no_root_squash)

И применим изменения:

#exportfs -r

Теперь идем на наш xост ESXi и подключившись клиентом (через шлюза по впн) добавляем NFS хранилище. Все должно подмонтироваться без проблем.

PS: На винде маршрут к удаленной сети добавляем командой (пример):

route add 10.0.0.0 172.16.5.1