Мне прилетела задача: нужно развернуть две 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
Затем нажимаю клавишу 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
(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
Т.к. хост у меня в 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.