виртуальный ящик + бродячий ящик Centos8 (без головы) для доступа из Интернета - PullRequest
1 голос
/ 08 марта 2020

Я успешно установил vagrant-virtualbox с centos8. yum pakage manger, openssl-server, openssl-client - все обновлено.

Служба sshd запущена.

Окно запускается без проблем, я могу подключиться с хост-компьютера, используя ssh vagrant@ip-address, запрашивает пароль и может войти.

Из файла gitlag-ci.yml на этапе развертывания я пытаюсь получить доступ к блоку centos8, используя ssh username@ipaddress/hostname, но время ожидания истекло на 22 порту.

Я устал ssh vagrant@ip-address-of-guest и ssh -p 2222 username@ip-address-of-host ничего работает.

Но я могу подключиться, используя мою команду windows 10, а также с замазкой с хост-машины на 22-м порту без каких-либо проблем.

В виртуальном окне Настройки -> Сеть -> Переадресация портов (удалил IP-адрес хоста и оставил его пустым)

config

config.vm.network "forwarded_port", guest: 443, host: 8085
config.vm.network "public_network"

1 Ответ

0 голосов
/ 09 марта 2020

Когда вы выполняете вручную первую установку, вы должны:

groupadd vagrant
useradd vagrant -g vagrant -G wheel
echo "vagrant" | passwd --stdin vagrant

# Install vagrant keys (vagrant will change this key at first boot)
mkdir -p /home/vagrant/.ssh

cat <<EOM >/home/vagrant/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8Y\
Vr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdO\
KLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7Pt\
ixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmC\
P3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcW\
yLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key
EOM

chown -R vagrant:vagrant /home/vagrant/.ssh
chmod -R u=rwX,go= /home/vagrant/.ssh

вам также нужно установить гостевые дополнения virtualbox, чтобы позволить vagrant создавать общие папки

yum install wget kernel-headers kernel-devel perl gcc bzip2 dmks make -y
wget http://download.virtualbox.org/virtualbox/6.1.4/VBoxGuestAdditions_6.1.4.iso
mkdir /media/VBoxGuestAdditions
mount -o loop VBoxGuestAdditions_6.1.4.iso /media/VBoxGuestAdditions
sh /media/VBoxGuestAdditions/VBoxLinuxAdditions.run
reboot

Тогда вы можете упакуйте вашу установку, чтобы сделать коробку:

mkdir boxes
vagrant package --base NAME_OF_YOUR_VM_ON_VIRTUALBOX --output ./boxes/CentOS.box

Чтобы сеть и s sh работали на адаптерах VirtualBox, должны быть в следующем порядке:

1) Nat
2) Host Only

3) Bridged

Итак, вы должны сначала установить для nat значение (если вы используете vagrant, он сделает это автоматически), а затем

config.vm.network :private_network, ip: "192.168.xx.xxx", netmask: "255.255.255.0", :mac =>"08002782xxxx", name:"vboxnet1", :adapter => 2
config.vm.network :public_network, bridge: "wlp59s0", ip: "192.168.xx.xxx", :mac => "08002726xxxx", :adapter => 3

и затем вы должны убедиться, что ваши сетевые интерфейсы работают, так что просто попробуйте ping google.

Если сетевой интерфейс не работает и ping не работает, установите эти параметры в / etc / sysconfig / network-scripts / ifcfg -:

IPV6INIT="yes"
DHCP_HOSTNAME="hostname-here"
IPV6_AUTOCONF="yes"
BOOTPROTO="dhcp"
DEVICE="<device_name_here>"
ONBOOT="yes"
UUID="" #can be omitted

и затем перезагрузите

Помните, что если у вас более одной виртуальной машины, они должны иметь разные адреса ma c для правильной работы

Я также поделился своей конфигурацией vagrantfile

Vagrant.configure("2") do |config|

  config.vm.define "nodo1" do |nodo1|
    nodo1.vm.box = "./boxes/CentOS.box"
    nodo1.vm.boot_timeout= 3000000
    nodo1.vm.hostname="nodo1server"
    nodo1.vm.network :private_network, ip: "192.168.xx.xxx", netmask: "255.255.255.0", :mac =>"08002782xxxx", name:"vboxnet1", :adapter => 2
    nodo1.vm.network :public_network, bridge: "wlp59s0", ip: "192.168.xx.xxx", :mac => "08002726xxxx", :adapter => 3

    nodo1.vm.provider "virtualbox" do |vb|

      vb.gui = false
      vb.memory = "2048"
      vb.name ="nodo1"

      vb.customize ["modifyvm", :id, "--ostype", "RedHat_64"]
      vb.customize ["modifyvm", :id, "--boot1", "dvd"]
      vb.customize ["modifyvm", :id, "--boot2", "disk"]
      vb.customize ["modifyvm", :id, "--boot3", "none"]
      vb.customize ["modifyvm", :id, "--boot4", "none"]
      vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
      vb.customize ["modifyvm", :id, "--nic1", "nat"]
      vb.customize ["modifyvm", :id, "--nictype2", "virtio"]
      vb.customize ["modifyvm", :id, "--nictype3", "virtio"]
      vb.customize ["modifyvm", :id, "--nictype4", "virtio"]
      vb.customize ["modifyvm", :id, "--acpi", "on"]
      vb.customize ["modifyvm", :id, "--ioapic", "off"]
      vb.customize ["modifyvm", :id, "--chipset", "piix3"]
      vb.customize ["modifyvm", :id, "--vram", 256]
      vb.customize ["modifyvm", :id, "--rtcuseutc","on"]
      vb.customize ["modifyvm", :id, "--hpet","on"]
      vb.customize ["modifyvm", :id, "--bioslogofadein","off"]
      vb.customize ["modifyvm", :id, "--bioslogofadeout","off"]
      vb.customize ["modifyvm", :id, "--bioslogodisplaytime", 0]
      vb.customize ["modifyvm", :id, "--clipboard", "bidirectional"]
      vb.customize ["modifyvm", :id, "--draganddrop", "bidirectional"]
      vb.customize ["modifyvm", :id, "--vrde","on"]
      vb.customize ["modifyvm", :id, "--vrdemulticon", "on"]
      vb.customize ["modifyvm", :id, "--vrdeport", 3390]

      #vb.customize [
      #  "storageattach", :id,
      #  "--storagectl", "IDE",
      #  "--device", 0,
      #  "--port", 0,
      #  "--type", "dvddrive",
      #  "--medium", "${HOME}iso/CentOS-7-ks.iso"
      #]
#
      #vb.customize [
      #  "storageattach", :id,
      #  "--storagectl", "IDE",
      #  "--device", 0,
      #  "--port", 1,
      ##  "--type", "dvddrive",
      #  "--medium", "${HOME}/iso/VBoxGuestAdditions_6.1.4.iso"
      #]
    end

  end
end

Надеюсь, это поможет!

...