Приведенные выше примеры 'for' правильны для инклюзивного диапазона. Если вы хотите перенаправить набор определенных портов, вам нужно использовать оператор Ruby .each.
Переменные могут находиться внутри или снаружи основного цикла Vagrant.configure.
UDP_PORTS_LIST={
"5000" => 5000, # Some service
}
TCP_PORTS_LIST={
"5900" => 5900, # VNC
}
Циклы должны находиться внутри блока Vagrant.configure для виртуальной машины, для которой вы хотите отобразить их (помните, что вы можете иметь несколько виртуальных машин в одном Vagrantfile).
UDP_PORTS_LIST.each do |guest, host|
config.vm.network "forwarded_port", guest: "#{guest}", host: "#{host}", protocol: "udp"
end
TCP_PORTS_LIST.each do |guest, host|
config.vm.network "forwarded_port", guest: "#{guest}", host: "#{host}", protocol: "tcp"
end