Мне прилетела задача: нужно развернуть две VM и вынести их в DMZ, но так как заказчик запросил чтобы операционная система была CentOS 7 я решил оформить для себя все действия от и до какие нужно сделать. По мере дополнения требования заметка может расширяться.

Шаг №1: Со своего рабочего места под управлением Windows 10 Pro ([Version 10.0.17134.1006]) запускаю браузер Google Chrome, открываю новую вкладку и подключаюсь к vCenter (6.5.0.13000), затем на определенном хосте (VMware ESXi, 6.5.0, 9298722: ProLiant BL660c Gen9 Intel ® Xeon ® CPU E5-4650 v2 @ 2.20GHz) создаю VM (New Virtual Machine) со следующими характеристиками:

  • RAM: 4Gb
  • CPU: 1
  • HDD: 50Gb
  • Ethernet: указываю сеть которая смотрит в DMZ Сеть.

Шаг №2: Включаю VM (через правый клик на хосте выбираю Power – Power On) и через правый клик мышью на хосте выбираю меню «Open Remote Console», затем добавляю образ iso для установки: VMware Remote Console – Съемные устройства – CD/DVD drive 1 – Подключиться к файлу образ диска (*.iso) и через файловый менеджер Windows указываю инсталляционный образ : CentOS-7-x86_64-Minimal-1908.iso, а после в окне «VMware Remote Console” нажимаю Ctrl + Alt + Ins и установка началась

Шаг №3: Прохожу по шагам установки, выбираю Install CentOS 7

Произвожу установку "Install CentOS 7"

Затем нажимаю клавишу Enter: Press the <ENTER> key to begin the installation process

Продолжаю:

What language would you like to use during the installation process? English ó English (United States) и нажимаю Continue, далее мастер самостоятельно активирует настройки: Date & Time, Keyboard, Language Support и т.д которые я могу настроить под себя:

  • (Software) Installation Source

Отмечаю, что установку производить на диск VMware Virtual Disk

  • (SYSTEM) Installation Destination выбираю VMware Virtual disk (отмечен галочкой)
  • (SYSTEM) Network & Host Name, перехожу в Configure и указываю настройки сетевого адреса

(Ethernet): Device = ens192

  • Mtu: automatic
  • Wake on LAN: Default

(IPv4 Settings)

  • Method: Manual

(Address) Add

  • Address: <DMZ_WAN_IP>
  • Netmask: 24
  • Gateway: <DMZ_WAN_GW>
  • DNS servers: 8.8.8.8
  • Search domains: polygon.local

И нажимаю Save, затем включаю сетевой адаптер, прописываю

Host name: test.polygon.local и нажимаю Apply, а после Done

Запускаю установку Begin Installation, задаю пароль пароль на root(а):

(User Settings) Root Passwords

  • Root Password: bB7654321#!@
  • Confirm: bB7654321#!@

И нажимаю Done

Задаю пароль на учетную запись суперпользователя

И вот побежала установка пакетов.

Установка завершилась, нажимаю Reboot для перезагрузки:

Установка завершена, отправляю систему в перезагрузку как просит установщик.

После авторизуюсь в системе:

CentOS Linux 7 (Core)

Kernel 3.10.0-1062.el7.x86_64 on an x86_64

Test login: root

Авторизуюсь в системе CentOS 7

Т.к. хост у меня в DMZ зоне, то значит (ну у меня так настроено), что я могу со своего рабочего места под управлением Windows 10 Pro Russian подключиться к данному хосту:

C:\Users\olloa>ssh -l root <DMZ_WAN_IP>

The authenticity of host '<DMZ_WAN_IP> (<DMZ_WAN_IP>)' can't be established.

ECDSA key fingerprint is SHA256:/BCCGdPQwz+bECE0t5bobxIQ63RZqHnp05fXR1995w0.

Are you sure you want to continue connecting (yes/no)? yes

[root@test ~]#

Шаг №4: Произвожу базовую преднастройку системы CentOS 7 на дальнейшую работу:

[root@test ~]# rm -rf /var/cache/yum

[root@test ~]# yum -y update && yum -y upgrade

[root@test ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

[root@test ~]# rm -f /etc/localtime

[root@test ~]# ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Включаю подсветку синтаксиса всех файлов, которые не обозначены явно в файле /usr/share/mc/syntax/Syntax синтаксисом для sh и bash скриптов.

[root@test ~]# yum -y install mc

[root@test ~]# echo yes | cp -rf  /usr/share/mc/syntax/sh.syntax /usr/share/mc/syntax/unknown.syntax

[root@test ~]# yum -y install net-tools nano bind-utils iftop htop atop lsof wget bzip2 traceroute

Устанавливаю утилиту для синхронизации времени (либо chronyd, либо ntp)

[root@test ~]# systemctl start chronyd && systemctl enable chronyd && systemctl status chronyd | head -n5

● chronyd.service - NTP client/server

   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)

   Active: active (running) since Tue 2019-10-22 11:19:06 MSK; 7min ago

     Docs: man:chronyd(8)

           man:chrony.conf(5)

[root@test ~]#

[root@test ~]# date

Tue Oct 22 11:26:25 MSK 2019

Отключаю firewalld, т.к. у меня доступом к сервисам текущего хоста все равно занимается FortiGate v6.2.0 build0866 (GA):

[root@test ~]# firewall-cmd --state

running

[root@test ~]#

[root@test ~]# systemctl stop firewalld

Теперь текущие правила — полный доступ:

[root@test ~]# iptables -L

Chain INPUT (policy ACCEPT)

target     prot opt source               destination        

Chain FORWARD (policy ACCEPT)

target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT)

target     prot opt source               destination        

[root@test ~]#

Убрираю сервис (firewalld) из автозагрузки:

[root@test ~]# systemctl disable firewalld

Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.

Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

[root@test ~]#

Скрываю сервис (firewalld) дабы другие скрипты не запускали firewalld:

 [root@test ~]# systemctl mask firewalld

Created symlink from /etc/systemd/system/firewalld.service to /dev/null.

[root@test ~]#

[root@test ~]# firewall-cmd --state

not running

[root@test ~]#

Шаг №5: Отключаю ipv6:

[root@test ~]# nmcli device show | grep DEVICE

GENERAL.DEVICE:                         ens192

GENERAL.DEVICE:                         lo

[root@test ~]#

[root@test ~]# vi /etc/sysctl.conf

# disable ipv6 for all interface

net.ipv6.conf.all.disable_ipv6 = 1

# or disabe ipv6 for ens192interface

net.ipv6.conf.ens192.disable_ipv6 = 1

[root@test ~]# sysctl -p

net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.ens192.disable_ipv6 = 1

[root@test ~]#

Шаг №6: Отправляю систему в перезагрузку, а после проверяю что firewalld деактивирован:

[root@test ~]# reboot

Connection to <DMZ_WAN_IP> closed by remote host.

Connection to <DMZ_WAN_IP> closed.

C:\Users\olloa>

C:\Users\olloa>ssh -l root <DMZ_WAN_IP>

root@<DMZ_WAN_IP>'s password:

Last login: Tue Oct 22 11:21:19 2019 from 10.0.39.2

[root@test ~]#

[root@test ~]# firewall-cmd --state

not running

[root@test ~]#

[root@test ~]# uname -a && cat /etc/redhat-release

Linux test.cse.ru 3.10.0-1062.4.1.el7.x86_64 #1 SMP Fri Oct 18 17:15:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

CentOS Linux release 7.7.1908 (Core)

[root@test ~]#

Шаг №7: Произвожу настройку кодировки:

[root@test ~]# localectl status

   System Locale: LANG=en_US.UTF-8

       VC Keymap: us

      X11 Layout: us

[root@test ~]#

Чтобы узнать/получить список всех доступных кодировок:

[root@test ~]# localectl list-locales | wc -l

787 – вот столько их.

Чтобы установить нужную кодировку, к примеру UTF-8:

[root@test ~]# localectl set-locale LANG=en_US.UTF_8

[root@test ~]# nano /etc/environment

LC_ALL="en_US.UTF-8"

Проверяю:

[root@test ~]# reboot

[root@test ~]# locale

LANG=en_US.UTF_8

LC_CTYPE="en_US.UTF-8"

LC_NUMERIC="en_US.UTF-8"

LC_TIME="en_US.UTF-8"

LC_COLLATE="en_US.UTF-8"

LC_MONETARY="en_US.UTF-8"

LC_MESSAGES="en_US.UTF-8"

LC_PAPER="en_US.UTF-8"

LC_NAME="en_US.UTF-8"

LC_ADDRESS="en_US.UTF-8"

LC_TELEPHONE="en_US.UTF-8"

LC_MEASUREMENT="en_US.UTF-8"

LC_IDENTIFICATION="en_US.UTF-8"

LC_ALL=en_US.UTF-8

[root@test ~]#

Шаг №8: Устанавливаю VMware Tools от хоста на котором развернута данная виртуальная машина:

Открываю VM через Launch Remote Console – Vmware Remote Console – Управление – Установить VMware Tools, этим действием в системе образ утилит значится на устройстве /dev/sr0

[root@localhost ~]#

[root@localhost ~]# mount /dev/sr0 /mnt

mount: /dev/sr0 is write-protected, mounting read-only

[root@test ~]# cp /mnt/VMwareTools-10.2.1-8267844.tar.gz ~/

[root@localhost ~]# umount /dev/sr0

После через VMware Remote Console – Съемные устройства  - CD/DVD Drive 1Отключить “/usr/lib/vmware/isoimages/linux.iso” на сервер.

Опять в консоли произвожу установку утилит VMware Tools:

[root@test ~]# tar zxf VMwareTools-10.2.1-8267844.tar.gz

[root@localhost ~]# cd vmware-tools-distrib/

[root@localhost vmware-tools-distrib]#

[root@localhost vmware-tools-distrib]# ./vmware-install.pl

Do you still want to proceed with this installation? [no] yes

И на все последующие запросы нажимаю клавишу <ENTER>

[root@test vmware-tools-distrib]# cd ~

[root@test ~]# rm -Rf vmware-tools-distrib/ VMwareTools-10.2.1-8267844.tar.gz

После чего при подключении к vCenter(у) в Summary хоста будет видна вся информация по VM.

Шаг №9: Что если Вы пропустили настройку сети при установке системы через мастер, в этом случаю настройка сетевой подсистемы выглядит так:

[root@test ~]# nano /etc/sysconfig/network-scripts/ifcfg-ens192

TYPE="Ethernet"

PROXY_METHOD="none"

BROWSER_ONLY="no"

BOOTPROTO="none"

DEFROUTE="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="ens192"

UUID="7c4cf9b8-fa73-4731-b1af-44c746404148"

DEVICE="ens192"

ONBOOT="yes"

IPADDR="<DMZ_WAN_IP>"

PREFIX="24"

GATEWAY="<DMZ_WAN_GW>"

DNS1="8.8.8.8"

DOMAIN="polygon.local"

IPV6_PRIVACY="no"

После не забываем сохранить внесенные изменения.

[root@test ~]# systemctl restart network

Получить полную информацию по сетевому адаптеру(ам):

[root@test ~]# nmcli device show

GENERAL.DEVICE:                         ens192

GENERAL.TYPE:                           ethernet

GENERAL.HWADDR:                         00:50:56:BB:FF:4B

GENERAL.MTU:                            1500

GENERAL.STATE:                          100 (connected)

GENERAL.CONNECTION:                     ens192

GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/1

WIRED-PROPERTIES.CARRIER:               on

IP4.ADDRESS[1]:                         <DMZ_WAN_IP>/24

IP4.GATEWAY:                            <DMZ_WAN_GW>

IP4.ROUTE[1]:                           dst = <DMZ_WAN_NETWORK>.0/24, nh = 0.0.0.0, mt = 100

IP4.ROUTE[2]:                           dst = 0.0.0.0/0, nh = <DMZ_WAN_GW>, mt = 100

IP4.DNS[1]:                             8.8.8.8

IP6.ADDRESS[1]:                         fe80::a987:f6b7:2e40:5692/64

IP6.GATEWAY:                            --

IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 100

GENERAL.DEVICE:                         lo

GENERAL.TYPE:                           loopback

GENERAL.HWADDR:                         00:00:00:00:00:00

GENERAL.MTU:                            65536

GENERAL.STATE:                          10 (unmanaged)

GENERAL.CONNECTION:                     --

GENERAL.CON-PATH:                       --

IP4.ADDRESS[1]:                         127.0.0.1/8

IP4.GATEWAY:                            --

IP6.GATEWAY:                            --

[root@test ~]# cat /etc/resolv.conf

# Generated by NetworkManager

search polygon.local

nameserver 8.8.8.8

[root@test ~]#

Вот, собственно, и все базовые вещи, которые делаются у меня на работе дабы отдать разработчикам систему на тест. Если будет что-то, то данную заметку я дополню. На этом всё, с уважением автор блога Олло Александр aka ekzorchik.