-
Notifications
You must be signed in to change notification settings - Fork 0
DNET_CentOSInstall
Linuxを触りたかったので、Windows上のVirtualBoxにインストール。
- CentOS7.3-1708
CentOS-7-x86_64-Minimal-1708.iso
https://www.centos.org を開き、[Get CentOS Now]をクリック。

「Minimal ISO」をクリック。

[Actual Country](Region がJapan)の中の最寄サイトをクリック。

ダウンロード場所を選択し、「保存」をクリック。

VirtualBoxのインストールや設定などについては、
SHIRASAGIハンズオン参加の該当節を参照。
- VirtualBoxを起動。
- 上のメニューの「新規」をクリック。

仮想マシンの作成のダイアログ。
- 仮想マシンの名前(名前を付与、ここではCentOS7.3-1708)を設定
- タイプを「Linux」、バージョンを「Red Hat」を選択し、「次へ」をクリック。

デフォルトの512MBだとアプリの実行が苦しいので1024MBを指定し、「次へ」をクリック。

「仮想ハードディスクを作成する」が選択されていることを確認し、「作成」をクリック。

デスクトップ仮想化(VDI)を選択し、「次へ」をクリック。

「可変サイズ」を選択し、「次へ」をクリックします。

ファイルの場所とサイズについては、この内容で問題ないならそのまま「作成」をクリック。

エンプラでよくある、OA-LANとの(セキュリティ対策の)隔離のため、
ゲストOSのインバウンドを止めたい場合(※ アウトバウンドは通る)。
-
VirtualBoxで
- ゲストOSをホストOSと同じネットワークに参加させたくないが、
- ゲストOSからインターネットやホストOSと同じネットワークに接続を行いたい場合、
-
ネットワークのアダプターにNATを使用することで、
- ゲストOSへの外部からの接続は不可能とし、
- ゲストOSからはインターネットやホストOSと同じネットワークへの接続を可能に
(ホストOSが接続元として扱われる。ホストOSがWi-Fi接続でも可能。)
することができる。
VirtualBoxのメニューバーから「ファイル」>「Host Network Manager環境」を選択。

「作成」をクリック。

「ユーザーアカウント制御」ダイアログが表示されたら「はい」をクリック。
「Properties」をクリック。

- 「Configure Adapter Manually」を選択し、アドレスとネットマスクを指定。
- ここでは、アドレスを192.168.56.1、ネットマスクを255.255.255.0にした。
- 入力後、「Apply」をクリック。

※ 192.168.56.1は、ホストオンリーネットワーク上のホストOSのIP(Windows側)
「ユーザーアカウント制御」ダイアログ表示されたら、「はい」をクリック。
「閉じる」をクリック。

ゲストOS側のアダプタを設定する。
- アダプター1
NAT:ゲストOSがインターネットにアクセスする用。(例:yum) - アダプター2
ホストオンリー:ホストOSからゲストOSのIPにアクセスする用
※ ゲストOSのインバウンドにNATを使用しないで、ホストOS限定にする。
上の「設定」をクリック。

ダイアログの左メニューのネットワークを選択。

「アダプター2」のタブを選択。

- 「ネットワークアダプタを有効化」のチェックをつけて、
- 割り当てに「ホストオンリーアダプタ」を選択し、
- 「OK」をクリック

- 「ストレージツリー」から「空」と表示されているディスクのアイコンを選択、
- 「光学ドライブ」の右にあるディスクのアイコンをクリック。

「4」で保存したISOファイルを選択し、「開く」をクリック。

「OK」をクリック。

ツールバーの「起動」をクリック。

上下キーを押下して「Install CentOS Linux 7」を選択し、Enterキーを押下。

「日本語」を選択し、[続行]ボタンを押下。
(左下にある検索で「japa…」と入力するとすぐに「日本語」を探せます。)

「システム」>「インストール先」のアイコンをクリック。

左上の「完了」をクリック。

右下の「インストールの開始」をクリック。

- インストールしている間にrootユーザーのパスワードを設定。
- 「ROOTパスワード」をクリック。

パスワードを入力し、「完了」をクリック。

インストールが完了したら、「再起動」をクリック。

開発機なので無効化しておく。
「CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)」を選択し、Enterキーを押下。

ログイン後、以下のコマンドを実行。
# setenforce 0
# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
# systemctl stop firewalld
# systemctl disable firewalld

- 解説
-
# setenforce 0- 動作状態の変更はsetenforceコマンドを使用。
- setenforceコマンドで動作モードを指定すると、即座に変更される。
- SELinux機能を一時的に無効化するには、setenforceコマンドで0を指定する。
-
# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config- 再起動の際もSELinuxの状態を保持したい場合は、
sed(ストリームエディタ)で、/etc/selinux/configを直接編集します。
- 再起動の際もSELinuxの状態を保持したい場合は、
-
# systemctl stop firewalld
=> ファイアーウォールを一時的に停止。 -
# systemctl disable firewalld
=> OS再起動時ファイアーウォールが起動しない設定に変更。
-
以下、仮想NICのID。
CentOS6| CentOS7
------------------
eth0 | enp0s3
eth1 | enp0s8
VM環境上での物理NICとドライバ変更による仮想NIC認識の問題をイイ感じに解決しているらしい。
- nmtuiを実行して、nmtuiでゲストOS側のネットワーク設定する。
- nm(NetworkManager)コマンドのGUI版がnmtui = network manager text user interface

「Edit a connection」を選択しEnterキーを押下。

「enp0s3」を選択し、Enterキーを押下します。

以下を指定後、「OK」を選択し、Enterキーを押下。
IPv4 CONFIGURATION:Automatic
IPv6 CONFIGURATION:Ignore
[X] Automatically connect
[X] Available to all users

「enp0s8」を選択し、Enterキーを押下。

IPv4 CONFIGURATIONの「Show」を選択し、Enterキーを押下。

- 任意のAddressesを指定。
- ここでは、192.168.56.10/24を指定(ネットマスクの範囲内で指定する)。
IPv4 CONFIGURATION:Manual
IPv6 CONFIGURATION:Ignore
[X] Automatically connect
[X] Available to all users
※ 192.168.56.10は、ホストオンリーネットワーク上のゲストOSのIP(Linux側)
(192.168.56.2〜192.168.56.254のどれでも良い)
- 「OK」を選択し、Enterキーを押下。

「Back」を選択し、Enterキーを押下。

「Quit」、「OK」を選択し、Enterキーを押下。

以下のコマンドを実行。
# systemctl restart network.service

- 解説
-
# systemctl restart network.service- ネットワークの設定を有効化するには、
上記コマンドを実行してネットワークサービスを再起動する。
- ネットワークの設定を有効化するには、
-
- この状態でVirtualBoxマネージャーでスナップショット(初期設定直後)を取得。
- これにより、何時でもクリーンインストール状態に戻って作業を再開できる。
ゲストOSにはホストOSから「ホストオンリーアダプタ」のIPアドレスで接続できる。
ホストOSからSSHクライアントを使って接続する。
- SSHクライアントのインストールする。
- SSHクライアントとしてはTeraTermやPuttyがある。
- ここでは、TeraTermをインストールした。
- ゲストOS(CentOS)へ接続。

- 初回は下の図のような警告が出る。
- 「このホストをknown hostsリストに追加する」にチェックを入れて「続行」。

ユーザ名とパスワード(下の図ではパスフレーズ)を入力してOKを押下。

ゲストOSに接続される。

ホストOSからHTTPクライアントを使って接続する。
エンプラでよくある、プロキシを使用している場合、プロキシ設定を変更する。
ホストOSで、
- [インターネットオプション]の[接続]タブで[LANの設定]ボタンを押下、
- [詳細設定]ボタンを押下し、[例外]テキストエリアに例外となるIPアドレスを入力
し、ゲストOSとのHTTP通信からプロキシを除外する。

CentOSの構築で、nginxをインストールした後にアクセスして確認する。
エンプラでよくある、プロキシを使用している場合、プロキシ設定を変更する。
rootでログイン(52の画面)
プロキシを設定するコマンドを実行する。
# export http_proxy=http://<UID>:<PWD>@<ServerName>
# export https_proxy=$http_proxy
※ ServerName = ホスト名[:ポート番号]
注意:
- プロキシ認証が必要な場合、この方法では、環境変数を参照することで、
全ユーザからアカウント情報を確認できてしまうで、開発環境構築における方法に留める。 - アプリケーション毎の*.confファイル(rootのみ参照可能)などに設定すると良い。
- 米Duke大学のYumプロジェクトが,Yellowdog Linux向けに開発したパッケージ管理システム。
- yumは、Fedora Coreなどで標準として採用されている。CentOSでも、このyumを使用する。
rootでログイン(52の画面)
yumによって各種Linuxパッケージをアップデートするコマンドを実行する。
[root@localhost ~]# yum -y update
-
手順
-
sshd_configをviで開く。
# vi /etc/ssh/sshd_config -
以下のように設定して保存
PermitRootLogin no -
sshサービス(デーモン)の再起動
# systemctl restart sshd
-
-
確認
- root ユーザーで SSH を使いログインし、認証に失敗する。
- root 権限を持ったユーザーのログインが成功する。
-
参考
- CentOS で root の リモートログイン(SSH)を禁止する | Webセキュリティの小部屋
https://www.websec-room.com/2014/01/18/1596
- CentOS で root の リモートログイン(SSH)を禁止する | Webセキュリティの小部屋
以上
移行メモ
- 手順28 の冒頭に閉じ括弧のみが残っていた(「日本語」を選択し)ため、 開き括弧を補って「「日本語」を選択し」とした。
- 手順35 のカーネル名「3.10.0-693.e17.x86_64」は、 RHEL 系のディストリビューション・タグ
el7(エル・7)の誤読と判断して 「3.10.0-693.el7.x86_64」に修正した。- 手順37 の「nutuiでゲストOS側の」→「nmtuiで」に修正した。
- 手順40・42・43 の「IPv4 CONFIGRATION」は「IPv4 CONFIGURATION」の誤記のため修正した。 また 2 行目の設定は IPv6 の項目であるため「IPv6 CONFIGURATION:Ignore」とした。
- 手順44 の「ENterキー」→「Enterキー」に修正した。
- 「rootログインの無効化」の設定例は
# PermitRootLogin noと コメント化されており設定として機能しないためPermitRootLogin noとし、 サービス名も CentOS 7 の実際のユニット名に合わせてsshdとした。- 元 Wiki の手順43 には図が置かれていなかったが、 ページに添付されている
43.pngは手順43 の図であるため、 当該箇所に配置した。- 手順54・56 は元 Wiki では手順52 と同じ図(
52.png)を再掲していたが、 本 Wiki では同じ図の重複配置を避け、手順52 への参照とした。- 元 Wiki の
[[CentOSの構築]]はリンク先のページが元 Wiki 側に存在しない (リンク切れ)ため、プレーン・テキストとした。- 添付画像は本文中に現れる順で
_1から連番を振り直した (見出し・代替テキストの番号は元 Wiki の手順番号のまま)。- PukiWiki のページ内アンカ(
#xxxxxxxx)は GitHub Wiki では再現できないため、 同一ページ内のアンカは見出しから生成されるアンカに張り替え、 他ページのアンカを指すリンクは「〜(ページ名の該当節を参照)」の形に置き換えた。
Tags: 移行, CentOS, インストール, VirtualBox, SELinux, nmtui, ネットワーク設定, SSH, yum
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。