はじめに
CentOS7.3にansibleを導入するために、OSインストール~基本設定を実施しました。
その際に設定したOS基本設定について、アウトプットしていきたいと思います。
環境
項目 | 説明 |
---|---|
Hypervisor | ESXi6.7 |
OS | CentOS7.3 |
※CentOS7.3は「最小限のインストール」になります。
基本設定のパラメーター
項目 | 設定内容 |
---|---|
ホスト名 | tspdev01 |
IPアドレス | 192.168.0.200 |
サブネットマスク | 255.255.255.0(/24) |
デフォルトゲートウェイ | 192.168.0.1 |
DNS設定 | 8.8.8.8/8.8.4.4 |
NTP設定 | ntp.nict.jp |
SElinux設定 | disabled |
NetworkManager | 停止/自動起動停止 |
firewalld | 停止/自動起動停止 |
インストールするパッケージ
項目 | 設定内容 |
---|---|
vim | viを多機能にしたエディタ |
※使いやすいこともあり、業務でよく使用しています。
基本設定
ホスト名設定
ホスト名を恒久的にtspdev01
へ設定します。
[root@localhost ~]# hostnamectl set-hostname tspdev01
[root@localhost ~]# cat /etc/hostname
tspdev01
[root@localhost ~]#
IPアドレス設定
IPアドレス/サブネットマスク/デフォルトゲートウェイを設定します。
→「ens192」がDOWNしていることを確認。
※「lo」はループバックインタフェースで自分自身を表すものになります。こちらは設定不要です。
(外部との通信に使うインタフェースではないです。)
②事前にネットワーク設定ファイルのバックアップ実施
- ファイルバックアップ
ifcfg-ens192
のバックアップを作成
[root@tspdev01 ~]# cp -p /etc/sysconfig/network-scripts/ifcfg-ens192 /etc/sysconfig/network-scripts/ifcfg-ens192_20200614
- ファイルバックアップ確認
ifcfg-ens192_20200614
がバックアップファイル
[root@tspdev01 ~]# ll /etc/sysconfig/network-scripts/ | grep ifcfg
-rw-r--r--. 1 root root 171 6月 14 20:59 ifcfg-ens192
-rw-r--r-- 1 root root 171 6月 14 20:59 ifcfg-ens192_20200614
-rw-r--r--. 1 root root 254 9月 12 2016 ifcfg-lo
[root@tspdev01 ~]#
③設定ファイル編集
vi /etc/sysconfig/network-scripts/ifcfg-ens192
【内容】
[root@tspdev01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens192
TYPE=Ethernet
BOOTPROTO=none
IPV6INIT=no
NAME=ens192
UUID=285600e1-fb02-475a-aa5d-ef105c89a333
DEVICE=ens192
ONBOOT=yes
IPADDR=192.168.0.200
PREFIX=24
GATEWAY=192.168.0.1
[root@tspdev01 ~]#
設定後、wq!
にて保存。
【設定内容】
項目 | 説明 |
---|---|
TYPE | 種類 |
BOOTPROTO | DHCPを使用する場合は"dhcp"、静的に設定する場合は"static"もしくは"none" |
IPV6INIT | IPv6設定実施の有無 |
NAME | NICの名前 |
UUID | ifcfgとNetworkManagerのコネクションとの関連付けを行う |
ONBOOT | OS起動時にNICを起動させるか |
IPADDR | IPアドレス(静的設定) |
PREFIX | サブネットマスク |
GATEWAY | デフォルトゲートウェイ |
※「UUID」が指定済みであれば、「MACアドレス」の指定は不要
③設定後、内容確認
[root@tspdev01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens192
TYPE=Ethernet
BOOTPROTO=none
IPV6INIT=no
NAME=ens192
UUID=285600e1-fb02-475a-aa5d-ef105c89a333
DEVICE=ens192
ONBOOT=yes
IPADDR=192.168.0.200
PREFIX=24
GATEWAY=192.168.0.1
[root@tspdev01 ~]#
④networkサービスの再起動
[root@tspdev01 ~]# systemctl restart network
[root@tspdev01 ~]#
⑤TeraTerm等のターミナルソフトでssh接続できることを確認。
DNS設定
DNSサーバを**8.8.8.8
と8.8.4.4
**に設定する。
①事前にファイルバックアップ実施
- ファイルバックアップ
[root@tspdev01 ~]# cp -p /etc/resolv.conf /etc/resolv.conf_20200614
- バックアップ確認
[root@tspdev01 ~]# ll /etc | grep resolv
-rw-r--r--. 1 root root 38 6月 14 21:00 resolv.conf
-rw-r--r-- 1 root root 38 6月 14 21:00 resolv.conf_20200614
[root@tspdev01 ~]#
②「/etc/resolv.conf」設定
vi /etc/resolv.conf
【設定内容】
nameserver 8.8.8.8
nameserver 8.8.4.4
③設定確認
[root@tspdev01 ~]# cat /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
[root@tspdev01 ~]#
NTP設定
NTPの同期先をntp.nict.jp
に設定
①設定ファイルのバックアップ
- ファイルバックアップ
[root@tspdev01 ~]# cp -p /etc/chrony.conf /etc/chrony.conf_20200614
[root@tspdev01 ~]#
- バックアップ確認
「chrony.conf_20200614」が存在すること。
[root@tspdev01 ~]# ll /etc | grep chron
-rw-r--r--. 1 root root 1199 6月 14 21:11 chrony.conf
-rw-r--r-- 1 root root 1199 6月 14 21:11 chrony.conf_20200614
-rw-r-----. 1 root chrony 62 6月 14 20:57 chrony.keys
[root@tspdev01 ~]#
②設定ファイル更新
vi /etc/chrony.conf
【設定内容】
1 # Use public servers from the pool.ntp.org project.
2 # Please consider joining the pool (http://www.pool.ntp.org/join.html).
3 # server 0.centos.pool.ntp.org iburst ← コメントアウト
4 # server 1.centos.pool.ntp.org iburst ← コメントアウト
5 # server 2.centos.pool.ntp.org iburst ← コメントアウト
6 # server 3.centos.pool.ntp.org iburst ← コメントアウト
7 server ntp.nict.jp iburst ← 追加
8
9 # Ignore stratum in source selection.
10 stratumweight 0
11
12 # Record the rate at which the system clock gains/losses time.
13 driftfile /var/lib/chrony/drift
14
設定後、wq!
にて保存
③ファイル内容確認
修正箇所が反映されているか確認
[root@tspdev01 ~]# cat /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
# server 0.centos.pool.ntp.org iburst
# server 1.centos.pool.ntp.org iburst
# server 2.centos.pool.ntp.org iburst
# server 3.centos.pool.ntp.org iburst
server ntp.nict.jp iburst
# Ignore stratum in source selection.
stratumweight 0
# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift
# Enable kernel RTC synchronization.
rtcsync
~~
④chronyd
サービス再起動
- サービス再起動
[root@tspdev01 ~]# systemctl restart chronyd
- 起動確認
active (running)
になっていればOK
[root@tspdev01 ~]# systemctl status chronyd
● chronyd.service - NTP client/server
Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
Active: active (running) since 日 2020-06-14 23:19:27 JST; 54s ago
Process: 9995 ExecStartPost=/usr/libexec/chrony-helper update-daemon (code=exited, status=0/SUCCESS)
Process: 9991 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 9993 (chronyd)
CGroup: /system.slice/chronyd.service
mq9993 /usr/sbin/chronyd
6月 14 23:19:27 tspdev01 systemd[1]: Starting NTP client/server...
6月 14 23:19:27 tspdev01 chronyd[9993]: chronyd version 2.1.1 starting (+C...)
6月 14 23:19:27 tspdev01 chronyd[9993]: Frequency 12.670 +/- 0.485 ppm rea...t
6月 14 23:19:27 tspdev01 systemd[1]: Started NTP client/server.
6月 14 23:19:32 tspdev01 chronyd[9993]: Selected source 2001:ce8:78::2
Hint: Some lines were ellipsized, use -l to show in full.
[root@tspdev01 ~]#
- 自動起動確認
enabled
になっていることを確認
※enabled
になっている場合、OS起動時にサービスが自動で立ち上がります。
[root@tspdev01 ~]# systemctl is-enabled chronyd
enabled
[root@tspdev01 ~]#
⑤時刻同期確認
- timedatectl status
[root@tspdev01 ~]# timedatectl status
Local time: 日 2020-06-14 23:22:59 JST
Universal time: 日 2020-06-14 14:22:59 UTC
RTC time: 日 2020-06-14 14:22:59
Time zone: Asia/Tokyo (JST, +0900)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
[root@tspdev01 ~]#
→NTP enabled
とNTP synchronized
が「yes」になっていることを確認。
- chronyc sources
[root@tspdev01 ~]# chronyc sources
210 Number of sources = 1
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* 2001:ce8:78::2 1 6 377 28 -301us[ -763us] +/- 8424us
[root@tspdev01 ~]#
→^*
であれば問題なし。(時刻同期されている状態)
SElinux無効化設定
そもそもSElinuxとは??
「SElinux」とは、アクセス制御に使用するセキュリティ関連の機能になります。
実際の構築業務では、無効化にすることが多いです。
「SELinux」の詳細を知りたい方は、下記リンクを参照下さい。
【ざっくりと理解する】SELinuxとは?
無効化手順
①現在の状態を確認
[root@tspdev01 ~]# getenforce
enforcing
[root@tspdev01 ~]#
→enforcing
になっていることを確認。
※enforcing
はSELinuxが有効という意味。
セキュリティポリシーに違反するアクセスを拒否する。
②設定ファイルバックアップ
- ファイルバックアップ
[root@tspdev01 ~]# cp -p /etc/selinux/config /etc/selinux/config_20200614
- バックアップ確認
config_20200614
が存在することを確認
[root@tspdev01 ~]# ll /etc/selinux | grep config
-rw-r--r--. 1 root root 546 6月 14 21:01 config
-rw-r--r-- 1 root root 546 6月 14 21:01 config_20200614
[root@tspdev01 ~]#
③設定ファイル修正
[root@tspdev01 ~]# vi /etc/selinux/config
【設定内容】
1
2 # This file controls the state of SELinux on the system.
3 # SELINUX= can take one of these three values:
4 # enforcing - SELinux security policy is enforced.
5 # permissive - SELinux prints warnings instead of enforcing.
6 # disabled - No SELinux policy is loaded.
7 SELINUX=disabled ←「enforcing」から「disabled」に変更
8 # SELINUXTYPE= can take one of three two values:
9 # targeted - Targeted processes are protected,
10 # minimum - Modification of targeted policy. Only selected processes are protected.
11 # mls - Multi Level Security protection.
12 SELINUXTYPE=targeted
13
14
設定後、「wq!」にて保存する。
④設定後ファイル確認
[root@tspdev01 ~]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
[root@tspdev01 ~]#
⑤OS再起動
SElinux設定反映のために、OS再起動が必要。
[root@tspdev01 ~]# reboot
⑤再度、SElinuxの状態を確認。
「Disabled」になっていることを確認。
[root@tspdev01 ~]# getenforce
Disabled
[root@tspdev01 ~]#
サービス停止/自動起動停止
項目 | 設定内容 | 備考 |
---|---|---|
NetworkManager | 停止/自動起動停止 | ネットワークを動的に設定できるサービス |
firewalld | 停止/自動起動停止 | その名の通りファイアウォールサービス |
両サービスとも、使用しないため停止します。
NetworkManager停止/自動起動停止
①NetworkManagerサービス停止/自動起動停止
- NetworkManagerサービス停止
systemctl stop NetworkManager
- NetworkManagerサービス自動起動停止
systemctl disable NetworkManager
②NetworkManagerサービス確認
- NetworkManagerサービス停止確認
Active: inactive (dead)
であることを確認。
[root@tspdev01 ~]# systemctl status NetworkManager
● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:NetworkManager(8)
[root@tspdev01 ~]#
- NetworkManagerサービス自動起動停止確認
disabled
であることを確認。
[root@tspdev01 ~]# systemctl is-enabled NetworkManager
disabled
[root@tspdev01 ~]#
firewalld停止/自動起動停止
①firewalldサービス停止/自動起動停止
- firewalldサービス停止
systemctl stop firewalld
- firewalldサービス自動起動停止
systemctl disable firewalld
②firewalldサービス確認
- firewalldサービス停止確認
Active: inactive (dead)
であることを確認。
[root@tspdev01 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
[root@tspdev01 ~]#
- firewalldサービス自動起動停止確認
disabled
であることを確認。
[root@tspdev01 ~]# systemctl is-enabled firewalld
disabled
[root@tspdev01 ~]#
パッケージインストール
今回はvim
のみインストールする。
前提条件
- インターネットへ接続できていること
- DNS設定が完了していること
インストール手順
①repository読み込み
- キャッシュクリア
[root@tspdev01 ~]# yum clean all
読み込んだプラグイン:fastestmirror
リポジトリーを清掃しています: base extras updates
Cleaning up everything
[root@tspdev01 ~]#
- repository読み込み
/etc/yum.repos.d/
直下のrepositoryファイルの読み込みを実施。
※今回、デフォルトのファイルで変更は不要
[root@tspdev01 ~]# yum repolist all
読み込んだプラグイン:fastestmirror
base | 3.6 kB 00:00
extras | 2.9 kB 00:00
updates | 2.9 kB 00:00
(1/4): base/7/x86_64/group_gz | 153 kB 00:00
(2/4): extras/7/x86_64/primary_db | 194 kB 00:00
(3/4): updates/7/x86_64/primary_db | 2.1 MB 00:01
(4/4): base/7/x86_64/primary_db | 6.1 MB 00:02
Determining fastest mirrors
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
リポジトリー ID リポジトリー名 状態
C7.0.1406-base/x86_64 CentOS-7.0.1406 - Base 無効
C7.0.1406-centosplus/x86_64 CentOS-7.0.1406 - CentOSPlus 無効
C7.0.1406-extras/x86_64 CentOS-7.0.1406 - Extras 無効
C7.0.1406-fasttrack/x86_64 CentOS-7.0.1406 - CentOSPlus 無効
C7.0.1406-updates/x86_64 CentOS-7.0.1406 - Updates 無効
C7.1.1503-base/x86_64 CentOS-7.1.1503 - Base 無効
C7.1.1503-centosplus/x86_64 CentOS-7.1.1503 - CentOSPlus 無効
C7.1.1503-extras/x86_64 CentOS-7.1.1503 - Extras 無効
C7.1.1503-fasttrack/x86_64 CentOS-7.1.1503 - CentOSPlus 無効
C7.1.1503-updates/x86_64 CentOS-7.1.1503 - Updates 無効
C7.2.1511-base/x86_64 CentOS-7.2.1511 - Base 無効
C7.2.1511-centosplus/x86_64 CentOS-7.2.1511 - CentOSPlus 無効
C7.2.1511-extras/x86_64 CentOS-7.2.1511 - Extras 無効
C7.2.1511-fasttrack/x86_64 CentOS-7.2.1511 - CentOSPlus 無効
C7.2.1511-updates/x86_64 CentOS-7.2.1511 - Updates 無効
base/7/x86_64 CentOS-7 - Base 有効: 10,070
base-debuginfo/x86_64 CentOS-7 - Debuginfo 無効
base-source/7 CentOS-7 - Base Sources 無効
c7-media CentOS-7 - Media 無効
centosplus/7/x86_64 CentOS-7 - Plus 無効
centosplus-source/7 CentOS-7 - Plus Sources 無効
cr/7/x86_64 CentOS-7 - cr 無効
extras/7/x86_64 CentOS-7 - Extras 有効: 397
extras-source/7 CentOS-7 - Extras Sources 無効
fasttrack/7/x86_64 CentOS-7 - fasttrack 無効
updates/7/x86_64 CentOS-7 - Updates 有効: 754
updates-source/7 CentOS-7 - Updates Sources 無効
repolist: 11,221
[root@tspdev01 ~]#
②「vim」インストール
[root@tspdev01 ~]# yum install vim -y
最終行に「完了しました!」と表示されれば、問題なし。
perl-Pod-Escapes.noarch 1:1.04-295.el7
perl-Pod-Perldoc.noarch 0:3.20-4.el7
perl-Pod-Simple.noarch 1:3.28-4.el7
perl-Pod-Usage.noarch 0:1.63-3.el7
perl-Scalar-List-Utils.x86_64 0:1.27-248.el7
perl-Socket.x86_64 0:2.010-5.el7
perl-Storable.x86_64 0:2.45-3.el7
perl-Text-ParseWords.noarch 0:3.29-4.el7
perl-Time-HiRes.x86_64 4:1.9725-3.el7
perl-Time-Local.noarch 0:1.2300-2.el7
perl-constant.noarch 0:1.27-2.el7
perl-libs.x86_64 4:5.16.3-295.el7
perl-macros.x86_64 4:5.16.3-295.el7
perl-parent.noarch 1:0.225-244.el7
perl-podlators.noarch 0:2.5.1-3.el7
perl-threads.x86_64 0:1.87-4.el7
perl-threads-shared.x86_64 0:1.43-6.el7
vim-common.x86_64 2:7.4.629-6.el7
vim-filesystem.x86_64 2:7.4.629-6.el7
完了しました!
[root@tspdev01 ~]#
参考記事
CentOS6・7のifcfg他設定ファイルについて
【 getenforce 】コマンド/【 setenforce 】コマンド――SELinuxのモードを表示/一時的に変更する
CentOS 7 で NTP クライアントを設定する