• Как сделать авторизацию по домену вместо ip на виртуальной машине в виртуальном дата-центре?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    При коннекте к домену он преобразуется в IP, к нему и коннектится. Разделять по домену не получится (IMHO в SSH нет такого функционала), только по номеру порта в iptables: пакеты для определённого порта пересылаются на определённый IP нужной VM.
    Ответ написан
    1 комментарий
  • Как сделать авторизацию по домену вместо ip на виртуальной машине в виртуальном дата-центре?

    @brar
    Для этих целей не обязательно через dns делать, хотя и это тоже можно.
    Варианты такие есть:
    1. Одну из виртуалок сделать роутером (iptables или пришедший на его смену nftables). На ней правила создаются для входящих соединений на тот или иной порт, и в зависимости от номера входящего порта происходит перенаправление на необходимую виртуалку.
    2. Если в дц есть возможность, то можно создать виртуальный роутер/шлюз. По той же схеме, как в первом варианте. 3. Вариант с днс: На одну из машин ставить или haproxy или nginx и на них и настраивать.
    Ответ написан
    Комментировать
  • Как указать нужную версию бокса в Vagrantfile?

    cool_sniper98 - проверил у меня все работает

    вот

    # -*- mode: ruby -*-
    # vi: set ft=ruby :
    
    require 'yaml'
    require 'pp'
    
    basedir = ENV.fetch('USERPROFILE', '')
    basedir = ENV.fetch('HOME', '') if basedir == ''
    basedir = basedir.gsub('\\', '/')
    
    dir = File.expand_path(File.dirname(__FILE__))
    
    box_hostname = ENV.fetch('BOX_HOSTNAME', 'alpine')
    box_name = ENV.fetch('BOX_NAME', 'generic/alpine38')
    box_version = ENV.fetch('BOX_VERSION', '3.1.20' ) # 3.1.22
    VAGRANTFILE_API_VERSION = '2'
    
    Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
     
      config.vm.box = box_name # box_hostname
      config.vm.hostname = box_hostname
      config.vm.box_version = box_version # v3.1.20
    
      config.ssh.forward_agent = true
      config.vm.boot_timeout = 600
      config.vm.synced_folder './', '/vagrant'
      
      if ! Vagrant.has_plugin?('vagrant-alpine')
        # TODO: raise an error
      end
      if Vagrant.has_plugin?('vagrant-vbguest')
        config.vbguest.auto_update = false
      end
    
       config.vm.provision "shell", inline: <<-SHELL
         apk update && apk upgrade
       SHELL
    end

    вот проверка

    vagrant up
    пишет на консоле
    #  default: Downloading: https://vagrantcloud.com/generic/boxes/alpine38/versions/3.1.20/providers/virtualbox.box


    меняем

    export BOX_VERSION=3.1.18
     vagrant stop ; vagrant destroy -f ; vagrant up

    пишет на консоле
    #  default: Downloading: https://vagrantcloud.com/generic/boxes/alpine38/versions/3.1.18/providers/virtualbox.box


    чтоб узнать какие есть закажите несуществкующую
    export BOX_VERSION=3.1.99
    vagrant up


    пишет на консоле
    The box you're attempting to add has no available version that
    matches the constraints you requested. Please double-check your
    settings. Also verify that if you specified version constraints,
    that the provider you wish to use is available for these constraints.
    
    Box: generic/alpine38
    Address: https://vagrantcloud.com/generic/alpine38
    Constraints: 3.1.99
    Available versions: 1.6.24, 1.6.26, 1.8.0, 1.8.1, 1.8.2, 1.8.4, 1.8.7, 1.8.8, 1.8.9, 1.8.12, 1.8.13, 1.8.14, 1.8.24, 1.8.26, 1.8.27, 1.8.28, 1.8.32, 1.8.38, 1.8.40, 1.8.48, 1.8.50, 1.8.52, 1.8.54, 1.8.56, 1.8.58, 1.8.60, 1.9.2, 1.9.4, 1.9.6, 1.9.8, 1.9.10, 1.9.12, 1.9.14, 1.9.16, 1.9.18, 1.9.19, 1.9.20, 1.9.22, 1.9.24, 1.9.26, 1.9.28, 1.9.30, 1.9.32, 1.9.34, 1.9.36, 1.9.38, 1.9.40, 2.0.0, 2.0.2, 2.0.4, 2.0.6, 3.0.0, 3.0.1, 3.0.2, 3.0.4, 3.0.6, 3.0.8, 3.0.10, 3.0.12, 3.0.14, 3.0.16, 3.0.18, 3.0.20, 3.0.22, 3.0.24, 3.0.26, 3.0.28, 3.0.30, 3.0.32, 3.0.34, 3.0.36, 3.0.38, 3


    чтоб узнать что есть и удалить лишнее

    vagrant box list

    generic/alpine38 (virtualbox, 3.1.18)
    generic/alpine38 (virtualbox, 3.1.20)


    vagrant box remove generic/alpine38 --box-version 3.1.20
    Ответ написан
    Комментировать