• 検索結果がありません。

No03 Handson Basic Linux Operations

N/A
N/A
Protected

Academic year: 2018

シェア "No03 Handson Basic Linux Operations"

Copied!
79
0
0

読み込み中.... (全文を見る)

全文

(1)

ウ 基盤構築演習

Cloud Infrastructure Design and Deployment

3. 認証技術、ネッ ワー 、 ー の基礎演習

2017.v1

(2)

Table of contents

 本演習 Linux ー ー 基本的 機能

い 実際 操作 行い 理解

 演習環境 い

o 共通演習環境 準備

o 演習環境 構築

 SSH公開鍵認証

 LVM ー iSCSI 操作

 iptables 操作

(3)

演習環境 つい

(4)

演習環境の概要

 演習用 OpenStack環境上 各自割 当 ン 内 利用

 ン 内 自分専用 演習環境 構築 い

 環境 構築 予 ン ー 準備 自動化 仕組 利用

o 自動化 仕組 後 講義 仕組 解説

tenant-XX / student-XX tenant-YY / student-YY ・・・

( )

仮想 ー ー

内部 ワー

192.168.199.0/24

ワー 環境

仮想 ン環境 CentOS7

192.168.199.10

CentOS7

192.168.199.20

第3回 共通演習環境 構築 実施

第3回 演習環境 構築 実施

様々 演習 実施

操作 OpenStack Heat いう自動化機能 利用

Heat 後 演習

解説

(5)

共通演習環境の準備

ー か ネッ ワー 環境を作成し す

(6)

演習環境への

 演習環境 ン く さい

 ン 成功 以下 う 画面 表示さ

o 画面 多少 差異 あ 場合 あ

o 表示さ 言語 設定 依存

o ン出来 い場合 講師 連絡 く さい

(7)

タッ の起動

 左 ー Orchestration → Stacks 選択

 後 Launch Stack 押下

(8)

ー の指定

 Template Source URL 指定

 Template URL http://<<ip address>>/hands-on/00_default.yaml 指定

o <<ip address>> 部分 講師 値 指定 あ

 値 設定 Next 押下

URL 選択

http://<<ip address>>/hands-on/00_default.yaml

(9)

ーターの指定

Stack Name default 指定

 Paイイエんィよ りんィ ウイらィ “xxxxx 自分 OpenStack ー ー student-xxxxxx ワー 入 く さい o pass-xxxxxxx

 値 設定 Launch 押下

default

自分 OpenStack ワー

入力

(10)

状態の確認

 操作 問題 Create Complete 状態

 何 失敗等 発生 場合 次項 参照 操作 や 直 く

さい

o 多く 場合 失敗 原因 URL 打 間違え ワー 打 間違え

(11)

う く行か い場合 失敗した場合のや 直し

 成功 い 場合 手順 キ く さい

o default Delete Stacks 押下

o 後 作成 操作 や 直 く さい

o 削除 失敗 場合 講師 連絡 く さい

(12)

作成さ たネッ ワー 環境を確認

Network → Network Topology 選択 作成 ワー 環境 確

 正常 作成 完了 以下 状態 い

o ワー public ワー work-net ー ー Ext-Router 接続

さ い

(13)

演習環境の準備

ー か サー ー環境を作成し す

(14)

タッ の起動

 先ほ 同様 操作

 左 ー Orchestration → Stacks 選択

 後 Launch Stack 押下

(15)

ー の指定

 Template Source URL 指定

 Template URL http://<<repo_ip>>/hands-on/03_handson.yaml 指定

o <<repo_ip>> 部分 講師 値 指定 あ

 値 設定 Next 押下

URL 選択

http://<<repo_ip>>/hands-on/03_handson.yaml

(16)

ーターの指定

Stack Name hands-on-3 入力

Password 自分 OpenStack ワー 入力

 hands-on repository server ー ー IP 入力

o IP 講師 指示 あ

hands-on-3

自分 OpenStack ワー

入力

ー ー IP

(17)

正常終了の確認

 2分前後 作成 完了 Create Complete

o 失敗 場合 hands-on-3 選択 Delete Stack 押下 削除

o 再度作成 や 直 く さい

(18)

環境の確認

Network → Network Topology 選択 作成 ワー 環境 確認

 正常 作成 完了 以下 状態 い

o ワー work-net 2 ー ー handson3-srv1 handson3-srv2 接続さ

(19)

サー ーの確認

Compute → Instances 選択 作成さ 2 台 ー ー

情報 確認

o 2 台 使 演習 進

o 2 状態 Active い い場合 講師 連絡

く さい

(20)

ン情報の確認

 作成 ー ー ン 情報 確認

 Orchestration → Stacks → hands-on-3 →

Overview 選択

(21)

ン情報

Overview 必要

情報 確認

o instance1,2

 ー ー IP

 ー ー名

 Floating IP

IP Instance1

割 当 い

 各自 ー PC IP

SSH 行い

o password

 上記2台 ー ー ン

ワー

 ー ー名 centos

 ワー 各自異

 環境 作 び 変わ

o private_key

 後 演習 利用 秘密鍵

(22)

SSH 公開鍵認証

(23)

演習内容

 作成 2 台 ー ー SSH ン 実施

o 各自 端末 srv1 SSH ワー ン 行い

 時 Floating IP 対 ン 行い Floating IP NAT 行わ

srv1

 仕組 い 後 講義 解説 行い

o srv1 秘密鍵 取 込 srv2 公開鍵認証 ン 行い

 srv1 srv2 2台 同 公開鍵 既 設定さ い

o srv2 証明書 再作成 認証 与え 影響 確認

handson3-srv1

192.168.199.10

handson3-srv2

192.168.199.20 Floating IP

各自 端末

SSH 使い

Floating IP ワー ン 行う

公開鍵 公開鍵

秘密鍵 srv 設定

srv ン 行う

srv 証明書 変更

認証 影響 確認

(24)

SSH ワー

 srv1 SSH ワー ン 行い

 Floating IP 対 ン 行い

o 各自 端末 SSH 操作 行 く さい

o ン 使用 前 演習 最後 確認

 Floating IP: 前 演習 確認

 ー ー名:centos

 ワー : 前 演習 確認

 以下 CentOS7 実施 例

$ ssh centos@xxx.xxx.xxx.xxx

The authenticity of host '157.1.141.112 (157.1.141.112)' can't be established. ECDSA key fingerprint is SHA256:647+5ufeeUX5LzfnUNa7R6Gzo6TVa3I+vATiD4O9GXk. Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '157.1.141.112' (ECDSA) to the list of known hosts. centos@157.1.141.112's password:

(25)

公開鍵認証

 公開鍵認証 行い

o 演習環境 srv2 既 公開鍵 ン設定 行わ

o srv1 秘密鍵 設定 srv2 公開鍵認証 行い

 一 前 ン 今回 ン 流 違う 何 違う 確認 く さい

[centos@handson3-srv1 ~]$ vi ~/id_rsa_handson

[centos@handson3-srv1 ~]$ chmod 600 ~/id_rsa_handson

[centos@handson3-srv1 ~]$ ssh -i ~/id_rsa_handson centos@192.168.199.20

The authenticity of host '192.168.199.20 (192.168.199.20)' can't be established. ECDSA key fingerprint is 48:1e:b2:7b:4a:b0:7d:65:90:71:91:9b:ae:17:c3:be.

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

Orchestration → Stacks → hands-on-3 → Overview

確認 private_key 保存 く さい

ン 成功

(26)

公開鍵認証

 自分 キー 秘密鍵・公開鍵 作成 鍵 用い

ン 行い

o srv1 キー 作成

o srv2 ー ー 作成 ー ー 公開鍵認証 設定 行い

srv1 ン 行い

[centos@handson3-srv1 ~]$ ssh-keygen -P '' -f ~/id_rsa_handson_user Generating public/private rsa key pair.

Your identification has been saved in /home/centos/id_rsa_handson_user. Your public key has been saved in /home/centos/id_rsa_handson_user.pub. The key fingerprint is:

c4:22:19:fe:70:e8:82:d1:8a:cd:45:f7:cf:ec:42:5a centos@handson3-srv1 The key's randomart image is:

+--[ RSA 2048]----+

| o . |

| . o = o |

|. . B o + |

|.* o = o + |

|+ + . . E + |

| . + . |

| . . . |

| . |

| |

+---+

ワー 空 キー

作成

公開鍵認証 鍵 権限 重要

ン う くい い場合 権限 確認

(27)

公開鍵認証

[centos@handson3-srv1 ~]$ cat id_rsa_handson_user.pub ssh-rsa

AAAAB3NzaC1yc2EAAAADAQABAAABAQDlUK2jN4baXUIZy4XauXHmYYNy8IkH+EgR+5J3mrM4aSRwkG13xKIIsXc73DdgfHRv4z7fDi1htcUNP6 8DhFq2HnRsV/2RdGrN/CPzZm+2KzxW2EuIHcalqK4vma/V1inaLg0fc7TfOLHaXThZkzWLeexSgfnCTahpcJaoqH1SOsnxe/dTODFwRD62XRQo eNlfVIECyZiVG+VyH4dSoVJZc0UciWWSax1FVSEe0AumtGkZcU2mi2Ozc3iYTZQoAQkrBI6ste3BzjOZGn/NZRAG6KuIznBCSWvFYVdx2xZ6It Wj5a+Nz7cY6aaGQ9x/xwyMMEmNFMiDhgCZxcVXw2Dd centos@handson3-srv1

[centos@handson3-srv1 ~]$ ssh -i ~/id_rsa_handson centos@192.168.199.20 [centos@handson3-srv2 ~]$ sudo -i

[root@handson3-srv2 ~]# useradd newuser [root@handson3-srv2 ~]# su - newuser [newuser@handson3-srv2 ~]$ mkdir ~/.ssh/

[newuser@handson3-srv2 ~]$ vi ~/.ssh/authorized_keys [newuser@handson3-srv2 ~]$ chmod 700 ~/.ssh/

[newuser@handson3-srv2 ~]$ chmod 600 ~/.ssh/authorized_keys [newuser@handson3-srv2 ~]$ exit

[root@handson3-srv2 ~]# exit [centos@handson3-srv2 ~]$ exit [centos@handson3-srv1 ~]$

[centos@handson3-srv1 ~]$ ssh -i ~/id_rsa_handson_user newuser@192.168.199.20 [newuser@handson3-srv2 ~]$

公開鍵 表示 い

値 帳等 ー

い く さい

srv2 ー ー

newuser 作成

newuser 切 替え 公開鍵 登録

authorized_key 上 操作 表示

開鍵 ー 保存 く さい

一旦 srv1

newuser

公開鍵認証 ン 直

(28)

証明書の変更

 srv2 証明書 変更 影響 確認

o srv2 証明書 削除 再作成 行い

o srv1 ン 行い

[centos@handson3-srv1 ~]$ ssh -i ~/id_rsa_handson centos@192.168.199.20 [centos@handson3-srv2 ~]$ sudo -i

[root@handson3-srv2 ~]# rm -f /etc/ssh/ssh_host_* [root@handson3-srv2 ~]# systemctl restart sshd.service [root@handson3-srv2 ~]# ll /etc/ssh/

合計 276

-rw-r--r--. 1 root root 242153 3 22 2016 moduli -rw-r--r--. 1 root root 2208 3 22 2016 ssh_config

-rw-r---. 1 root ssh_keys 227 3 9 06:11 ssh_host_ecdsa_key -rw-r--r--. 1 root root 162 3 9 06:11 ssh_host_ecdsa_key.pub -rw-r---. 1 root ssh_keys 387 3 9 06:11 ssh_host_ed25519_key -rw-r--r--. 1 root root 82 3 9 06:11 ssh_host_ed25519_key.pub -rw-r---. 1 root ssh_keys 1679 3 9 06:11 ssh_host_rsa_key

-rw-r--r--. 1 root root 382 3 9 06:11 ssh_host_rsa_key.pub -rw-r--r--. 1 root root 4360 3 4 19:02 sshd_config

[root@handson3-srv2 ~]# exit

srv2

存在 い 証明書

削除

キー 削除さ 状態

SSH ー ン 再起動

キー 新 い値 再作成さ

新 い キー 作成さ

い 確認

(29)

証明書の変更

[centos@handson3-srv1 ~]$ ssh -i ~/id_rsa_handson centos@192.168.199.20

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed.

The fingerprint for the ECDSA key sent by the remote host is 09:d5:dc:14:c6:67:da:cd:9e:ec:56:95:d9:a4:ec:d4.

Please contact your system administrator.

Add correct host key in /home/centos/.ssh/known_hosts to get rid of this message. Offending ECDSA key in /home/centos/.ssh/known_hosts:1

ECDSA host key for 192.168.199.20 has changed and you have requested strict checking. Host key verification failed.

[centos@handson3-srv1 ~]$ rm ~/.ssh/known_hosts

[centos@handson3-srv1 ~]$ ssh -i ~/id_rsa_handson centos@192.168.199.20

The authenticity of host '192.168.199.20 (192.168.199.20)' can't be established. ECDSA key fingerprint is 09:d5:dc:14:c6:67:da:cd:9e:ec:56:95:d9:a4:ec:d4.

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

Warning: Permanently added '192.168.199.20' (ECDSA) to the list of known hosts. Last login: Thu Mar 9 03:35:24 2017 from 192.168.199.10

[centos@handson3-srv2 ~]$

[centos@handson3-srv2 ~]$ exit [centos@handson3-srv1 ~]$

ン srv2 試

srv1 記憶 srv2

キー 異 ン

srv1 記憶 キー 削

一度接続 除 ー ー

キー known_hosts

保存さ い

再度 ン 行う 初回接続時 同様

yes/no 選択肢 表示さ

yes known_hosts

キー 登録さ い

(30)

補足: ニュ の参照方法

 Linux OS 上 ン ン 準備さ 場 参

照可能

o ン 等 出 場合 man xxxxx 参照 見 く さい

o ン 以外 ー 等 情報 様々 情報 参照

# man ssh

SSH(1) BSD General Commands Manual SSH(1)

NAME ssh ― OpenSSH SSH client remote login program

SYNOPSIS

ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address]

[-c cipher_spec] [-D [bind_address:]port] [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]

[-i identity_file] [-L [bind_address:]port:host:hostport] 省略

DESCRIPTION

ssh (SSH client) is a program for logging into a remote machine and for executing commands on a remote machine. It is intended to replace rlogin and rsh, and provide secure

encrypted communications between two untrusted hosts over an insecure network. X11 connections and arbitrary TCP ports can

# man man

MAN(1) Manual pager utils MAN(1)

NAME

man - an interface to the on-line reference manuals SYNOPSIS

man [-C file] [-d] [-D] [--warnings[=warnings]] [-R encod‐ ing] [-L locale] [-m system[,...]] [-M path] [-S list] [-e extension] [-i|-I] [--regex|--wildcard] [--names-only] [-a] [-u] [--no-subpages] [-P pager] [-r prompt] [-7] [-E encod‐

省略 DESCRIPTION

man is the system's manual pager. Each page argument given to man is normally the name of a program, utility or func‐ tion. The manual page associated with each of these argu‐ ments is then found and displayed. A section, if provided, will direct man to look only in that section of the manual. The default action is to search in all of the available sec‐

ssh 参照 参照

(31)

LVM iSCSI の操作

(32)

演習内容

 srv1上 LVM/iSCSI 設定 行い

 設定さ LVM/iSCSI 領域 srv2 接続 利用

handson3-srv1 handson3-srv2

disk01.img

/dev/loop1

ー ン

vg01

lv01 lv02

LVM 利用

/dev/sdX

iscsi target

iscsi initiator

自 ー ー

領域 利用

iSCSI 接続 利用

実体 ー

空 作成

(33)

LVM ュー の作成

 srv1上 LVM ー 作成

o 作成

o 作成

o LVM

o LVM 作成

[centos@handson3-srv1 ~]$ sudo -i [root@handson3-srv1 ~]#

[root@handson3-srv1 ~]# dd if=/dev/zero of=/disk01.img bs=1MB count=2048 [root@handson3-srv1 ~]# ll -h /disk01.img

-rw-r--r--. 1 root root 2.0G 3 17 03:12 /disk01.img

[root@handson3-srv1 ~]# losetup -v /dev/loop0 /disk01.img [root@handson3-srv1 ~]# losetup

NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE

/dev/loop0 0 0 0 0 /disk01.img

srv1 root ー ー 作業

行い

約2GB 空 作成

dd bs 指定

if 指定

count 回数読 込 of 書 込

作成 ー

/dev/loop0 関連付

操作 2GB 2GB

(34)

LVM ュー の作成

[root@handson3-srv1 ~]# pvcreate /dev/loop0

Physical volume "/dev/loop0" successfully created. [root@handson3-srv1 ~]# pvs

PV VG Fmt Attr PSize Pfree /dev/loop0 lvm2 --- 1.91g 1.91g

[root@handson3-srv1 ~]# vgcreate vg01 /dev/loop0 Volume group "vg01" successfully created [root@handson3-srv1 ~]# vgs

VG #PV #LV #SN Attr VSize VFree vg01 1 0 0 wz--n- 1.91g 1.91g

[root@handson3-srv1 ~]# lvcreate -L 512MB -n lv01 vg01 Logical volume "lv01" created.

[root@handson3-srv1 ~]# lvcreate -L 1024MB -n lv02 vg01 Logical volume "lv02" created.

[root@handson3-srv1 ~]# lvs

LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lv01 vg01 -wi-a--- 512.00m

lv02 vg01 -wi-a--- 1.00g [root@handson3-srv1 ~]# vgs

VG #PV #LV #SN Attr VSize VFree vg01 1 2 0 wz--n- 1.91g 416.00m

LVM 使用

登録

次 ー ー

vg01 いう名前 作成

vg01 上 2 領域

lv01 lv02 作成

2GB 領域 1GB 512MB

域 作成 残 領域 約

400MB

(35)

iSCSI 領域の作成

 作成 LVM 領域 iSCSI領域 設定

o 作成 2 領域 iSCSI ー 利用 う 登録

[root@handson3-srv1 ~]# targetcli ls /

o- / ... [...] o- backstores ... [...]

| o- block ... [Storage Objects: 0]

| o- fileio ... [Storage Objects: 0]

| o- pscsi ... [Storage Objects: 0]

| o- ramdisk ... [Storage Objects: 0] o- iscsi ... [Targets: 0] o- loopback ... [Targets: 0]

[root@handson3-srv1 ~]# targetcli /backstores/block create name=data01 dev=/dev/vg01/lv01 Created block storage object data01 using /dev/vg01/lv01.

[root@handson3-srv1 ~]# targetcli /backstores/block create name=data02 dev=/dev/vg01/lv02 Created block storage object data02 using /dev/vg01/lv02.

[root@handson3-srv1 ~]# targetcli ls /

o- / ... [...] o- backstores ... [...]

| o- block ... [Storage Objects: 2]

| | o- data01 ... [/dev/vg01/lv01 (512.0MiB) write-thru deactivated]

| | o- data02 ... [/dev/vg01/lv02 (1.0GiB) write-thru deactivated]

| o- fileio ... [Storage Objects: 0]

| o- pscsi ... [Storage Objects: 0]

| o- ramdisk ... [Storage Objects: 0]

初期状態 確認 行い

targetcli 各種設定

ー構造 管理さ /

点 ー 示

LVM 作成 2 領域

登録 い

登録 領域 確認

(36)

iSCSI 領域の作成

 ー 側 iqn 作成

o iqn 行い

o 時点 単独 iqn 名 定義 い 次項 手順 iqn ー 関

連付 必要 あ

[root@handson3-srv1 ~]# targetcli /iscsi create iqn.1994-05.com.redhat:srv1 Created target iqn.1994-05.com.redhat:srv1.

Created TPG 1.

Global pref auto_add_default_portal=true

Created default portal listening on all IPs (0.0.0.0), port 3260.

[root@handson3-srv1 ~]# targetcli ls /

o- / ... [...] o- backstores ... [...]

| o- block ... [Storage Objects: 2]

| | o- data01 ... [/dev/vg01/lv01 (512.0MiB) write-thru deactivated]

| | o- data02 ... [/dev/vg01/lv02 (1.0GiB) write-thru deactivated]

| o- fileio ... [Storage Objects: 0]

| o- pscsi ... [Storage Objects: 0]

| o- ramdisk ... [Storage Objects: 0] o- iscsi ... [Targets: 1]

| o- iqn.1994-05.com.redhat:srv1 ... [TPGs: 1]

| o- tpg1 ... [no-gen-acls, no-auth]

| o- acls ... [ACLs: 0]

| o- luns ... [LUNs: 0]

| o- portals ... [Portals: 1]

iqn 作成

iqn 値 設定

様 設定 慣例的 い

1 iqn 作成

配下 関連 階層

作 い 確認

(37)

iSCSI 領域の作成

 iqn ー 関連付

o iqn 使用 設定

[root@handson3-srv1 ~]# targetcli /iscsi/iqn.1994-05.com.redhat:srv1/tpg1/luns create /backstores/block/data01 Created LUN 0.

[root@handson3-srv1 ~]# targetcli /iscsi/iqn.1994-05.com.redhat:srv1/tpg1/luns create /backstores/block/data02 Created LUN 1.

[root@handson3-srv1 ~]# targetcli ls /

o- / ... [...] o- backstores ... [...]

| o- block ... [Storage Objects: 2]

| | o- data01 ... [/dev/vg01/lv01 (512.0MiB) write-thru activated]

| | o- data02 ... [/dev/vg01/lv02 (1.0GiB) write-thru activated]

| o- fileio ... [Storage Objects: 0]

| o- pscsi ... [Storage Objects: 0]

| o- ramdisk ... [Storage Objects: 0] o- iscsi ... [Targets: 1]

| o- iqn.1994-05.com.redhat:srv1 ... [TPGs: 1]

| o- tpg1 ... [no-gen-acls, no-auth]

| o- acls ... [ACLs: 0]

| o- luns ... [LUNs: 2]

| | o- lun0 ... [block/data01 (/dev/vg01/lv01)]

| | o- lun1 ... [block/data02 (/dev/vg01/lv02)]

| o- portals ... [Portals: 1]

| o- 0.0.0.0:3260 ... [OK] o- loopback ... [Targets: 0]

登録 ー

LUN

iqn 関連付

(38)

iSCSI ン か の接続

 srv2 接続 行い

o iscsi ー ー ー ー 接続 利用可能 検索

o 後 検索 接続 行い

o 接続 失敗 ー ー側 ACL 設定さ い

[root@handson3-srv1 ~]# ssh centos@192.168.199.20

The authenticity of host '192.168.199.20 (192.168.199.20)' can't be established. ECDSA key fingerprint is 09:d5:dc:14:c6:67:da:cd:9e:ec:56:95:d9:a4:ec:d4.

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

Warning: Permanently added '192.168.199.20' (ECDSA) to the list of known hosts. centos@192.168.199.20's password:

Last login: Fri Mar 17 03:34:51 2017 from 192.168.199.10 [centos@handson3-srv2 ~]$

[centos@handson3-srv2 ~]$ sudo -i [root@handson3-srv2 ~]#

[root@handson3-srv2 ~]# iscsiadm -m discovery --type sendtargets --portal 192.168.199.10 192.168.199.10:3260,1 iqn.1994-05.com.redhat:srv1

srv2 接続 root

業 行い

iscsi ー ー

srv1 上 接続可能 iSCSI

ー 検索

検索 ー 接続 行い

ACL 設定 不足

失敗

(39)

ACL の設定

 srv2 許可 設定 行い

o srv2 iqn 調

o srv1 上記 調 iqn 登録

o 再度 ー ー 接続 行い

[root@handson3-srv2 ~]# cat /etc/iscsi/initiatorname.iscsi InitiatorName=iqn.1994-05.com.redhat:8d961786542b

[root@handson3-srv2 ~]# exit [centos@handson3-srv2 ~]$ exit [root@handson3-srv1 ~]#

[root@handson3-srv1 ~]# targetcli ls

o- / ... [...] o- backstores ... [...]

| o- block ... [Storage Objects: 2]

| | o- data01 ... [/dev/vg01/lv01 (512.0MiB) write-thru activated]

| | o- data02 ... [/dev/vg01/lv02 (1.0GiB) write-thru activated]

| o- fileio ... [Storage Objects: 0]

| o- pscsi ... [Storage Objects: 0]

| o- ramdisk ... [Storage Objects: 0] o- iscsi ... [Targets: 1]

| o- iqn.1994-05.com.redhat:srv1 ... [TPGs: 1]

| o- tpg1 ... [no-gen-acls, no-auth]

| o- acls ... [ACLs: 0]

| o- luns ... [LUNs: 2]

| | o- lun0 ... [block/data01 (/dev/vg01/lv01)]

iSCSI ー ー iqn

設定さ い

編集 iscsid 再起動

iqn 変更

初期状態 ACL

登録さ い

iqn 値 後 利用

帳等 ー

い く さい

(40)

ACL の設定

 srv2 iqn ACL 登録

o 登録さ iqn 自動的 登録済 LUN 登録さ

o 特定 LUN ン ー 等 更 細 い 制御

可能

[root@handson3-srv1 ~]# targetcli /iscsi/iqn.1994-05.com.redhat:srv1/tpg1/acls create iqn.1994-05.com.redhat:8d961786542b Created Node ACL for iqn.1994-05.com.redhat:8d961786542b

Created mapped LUN 1. Created mapped LUN 0.

[root@handson3-srv1 ~]# targetcli ls

o- / ... [...] o- backstores ... [...]

| o- block ... [Storage Objects: 2]

| | o- data01 ... [/dev/vg01/lv01 (512.0MiB) write-thru activated]

| | o- data02 ... [/dev/vg01/lv02 (1.0GiB) write-thru activated]

| o- fileio ... [Storage Objects: 0]

| o- pscsi ... [Storage Objects: 0]

| o- ramdisk ... [Storage Objects: 0] o- iscsi ... [Targets: 1]

| o- iqn.1994-05.com.redhat:srv1 ... [TPGs: 1]

| o- tpg1 ... [no-gen-acls, no-auth]

| o- acls ... [ACLs: 1]

| | o- iqn.1994-05.com.redhat:8d961786542b ... [Mapped LUNs: 2]

| | o- mapped_lun0 ... [lun0 block/data01 (rw)]

許可 iqn 登録

指定 iqn ン ー ン部分 1

前 ー 確認 srv2 値 使 く

さい

登録 iqn 対 自

動的 LUN 登録さ

(41)

iSCSI ン か の接続 再

 再度 srv2 ン ー ー 接続 行い

o 今回 ACL 設定済 正常 接続 完了

o 側 設定 2 LUN 512MB 1GB 領域 認識

確認

[root@handson3-srv1 ~]# ssh centos@192.168.199.20 centos@192.168.199.20's password:

Last login: Fri Mar 17 03:50:35 2017 from 192.168.199.10 [centos@handson3-srv2 ~]$ sudo -i

[root@handson3-srv2 ~]#

[root@handson3-srv2 ~]# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 20G 0 disk

└─vda 5 : 0 20G 0 part /

[root@handson3-srv2 ~]# iscsiadm -m node -T iqn.1994-05.com.redhat:srv1 -p 192.168.199.10:3260 -l

Logging in to [iface: default, target: iqn.1994-05.com.redhat:srv1, portal: 192.168.199.10,3260] (multiple) Login to [iface: default, target: iqn.1994-05.com.redhat:srv1, portal: 192.168.199.10,3260] successful.

[root@handson3-srv2 ~]# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

再度 ン 試

lsblk OS 認識

ー ン情報 表示

(42)

iSCSI の利用

 認識 iSCSI 利用可能 状態

o ン 作成 行う

o 作成

o

[root@handson3-srv2 ~]# fdisk /dev/sda Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them. Be careful before using the write command.

Device does not contain a recognized partition table

Building a new DOS disklabel with disk identifier 0xc5b2267d.

コマン (m ): n エンター

Partition type:

p primary (0 primary, 0 extended, 4 free) e extended

Select (default p): p エンター

ー ション番号 (1-4, default 1): ( エンター) 最初 sector (2048-1048575, 初期値 2048): ( エンター) 初期値 2048 を使い す

Last sector, +sectors or +size{K,M,G} (2048-1048575, 初期値 1048575): ( エンター) 初期値 1048575 を使い す

Partition 1 of type Linux and of size 511 MiB is set

コマン (m ): m

コマン 動作

a toggle a bootable flag b edit bsd disklabel

c toggle the dos compatibility flag d delete a partition

g create a new empty GPT partition table G create an IRIX (SGI) partition table l list known partition types m print this menu

n add a new partition

o create a new empty DOS partition table p print the partition table

q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only)

fdisk ン 作成

ン 独自 操作体系 持 起

動後 m 参照

(43)

iSCSI の利用

 作成 ー ン上 作成

ext4 ー 利用 い CentOS7(RHEL7

他 xfs 等 利用可能

[root@handson3-srv2 ~]# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 512M 0 disk

└─sda1 8:1 0 511M 0 part sdb 8:16 0 1G 0 disk vda 253:0 0 20G 0 disk

└─vda 5 : 0 20G 0 part /

[root@handson3-srv2 ~]# mkfs.ext4 /dev/sda1 mke2fs 1.42.9 (28-Dec-2013)

Filesystem label= OS type: Linux

Block size=1024 (log=0) Fragment size=1024 (log=0)

Stride=0 blocks, Stripe width=124 blocks 131072 inodes, 523264 blocks

26163 blocks (5.00%) reserved for the super user First data block=1

Maximum filesystem blocks=34078720 64 block groups

8192 blocks per group, 8192 fragments per group 2048 inodes per group

Superblock backups stored on blocks:

作成 ー ン

認識 い 確認

作成

(44)

iSCSI の利用

 作成 ン

 ン 用 配置 正常 書 込 行え 確認

o 後 演習 利用 必 作成 い く さい

[root@handson3-srv2 ~]# mkdir /mnt/iscsi01 [root@handson3-srv2 ~]# df -h

ァ ルシ サ 使用 残り 使用% マウン 位置

/dev/vda1 20G 1.1G 19G 6% / devtmpfs 1.9G 0 1.9G 0% /dev

tmpfs 1.9G 0 1.9G 0% /dev/shm

tmpfs 1.9G 17M 1.9G 1% /run

tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup tmpfs 380M 0 380M 0% /run/user/1000

tmpfs 380M 0 380M 0% /run/user/0

[root@handson3-srv2 ~]# mount /dev/sda1 /mnt/iscsi01 [root@handson3-srv2 ~]# df -h

ァ ルシ サ 使用 残り 使用% マウン 位置

/dev/vda1 20G 1.1G 19G 6% / devtmpfs 1.9G 0 1.9G 0% /dev

tmpfs 1.9G 0 1.9G 0% /dev/shm

tmpfs 1.9G 17M 1.9G 1% /run

tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup tmpfs 380M 0 380M 0% /run/user/1000

tmpfs 380M 0 380M 0% /run/user/0

ン 先 作成

作成 ン 利用可能

ン 成功 新 い

い 確認 認識さ

(45)

iSCSI の利用

 2 領域 利用可能

 先ほ 同様 ー ン 作成

[root@handson3-srv2 ~]# fdisk /dev/sdb

コマン (m ): n エンター

Partition type:

p primary (0 primary, 0 extended, 4 free) e extended

Select (default p): p エンター

ー ション番号 (1-4, default 1): 1 エンター

最初 sector (2048-2097151, 初期値 2048): エンター 初期値 2048 を使い す

Last sector, +sectors or +size{K,M,G} (2048-2097151, 初期値 2097151): エンター 初期値 2097151 を使い す

Partition 1 of type Linux and of size 1023 MiB is set

コマン (m ): p エンター

Disk /dev/sdb: 1073 MB, 1073741824 bytes, 2097152 sectors Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes I/O (最小 / 推奨): 512 / 126976

Disk label type: dos ク識別子: 0xa1929734

Id

2 目 領域 fdisk

ー ン 作成

(46)

iSCSI の利用

 作成 ー ン上

作成

[root@handson3-srv2 ~]# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 512M 0 disk

└─sda 8:1 0 511M 0 part /mnt/iscsi01 sdb 8:16 0 1G 0 disk

└─sdb1 8:17 0 1023M 0 part vda 253:0 0 20G 0 disk

└─vda 5 : 0 20G 0 part /

[root@handson3-srv2 ~]# mkfs.ext4 /dev/sdb1 mke2fs 1.42.9 (28-Dec-2013)

Filesystem label= OS type: Linux

Block size=4096 (log=2) Fragment size=4096 (log=2)

Stride=0 blocks, Stripe width=31 blocks 65536 inodes, 261888 blocks

13094 blocks (5.00%) reserved for the super user First data block=0

Maximum filesystem blocks=268435456 8 block groups

32768 blocks per group, 32768 fragments per group 8192 inodes per group

作成 ー ン 認識さ

い 確認

ー 作成

(47)

iSCSI の利用

 作成 ン

 ン 領域 作成 正常 書 込 行え 確認

o 後 演習 利用

[root@handson3-srv2 ~]# mkdir /mnt/iscsi02

[root@handson3-srv2 ~]# mount /dev/sdb1 /mnt/iscsi02 [root@handson3-srv2 ~]# df -h

ァ ルシ サ 使用 残り 使用% マウン 位置

/dev/vda1 20G 1.1G 19G 6% / devtmpfs 1.9G 0 1.9G 0% /dev

tmpfs 1.9G 0 1.9G 0% /dev/shm

tmpfs 1.9G 17M 1.9G 1% /run

tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup tmpfs 380M 0 380M 0% /run/user/1000

tmpfs 380M 0 380M 0% /run/user/0

/dev/sda1 487M 2.3M 456M 1% /mnt/iscsi01 /dev/sdb1 991M 2.6M 922M 1% /mnt/iscsi02

[root@handson3-srv2 ~]# echo "This server is SRV2" >> /mnt/iscsi02/server_name.txt [root@handson3-srv2 ~]# cat /mnt/iscsi02/server_name.txt

This server is SRV2

作成 ン

ン 確認

行い 書 込

(48)

iSCSI の切断

 iSCSI領域 srv2 切 離

o 行い 後 iSCSI 接続 解除

o 後 演習 srv2

[root@handson3-srv2 ~]# cd

[root@handson3-srv2 ~]# umount /mnt/iscsi01 [root@handson3-srv2 ~]# umount /mnt/iscsi02 [root@handson3-srv2 ~]# df -h

ァ ルシ サ 使用 残り 使用% マウン 位置

/dev/vda1 20G 1.1G 19G 6% / devtmpfs 1.9G 0 1.9G 0% /dev

tmpfs 1.9G 0 1.9G 0% /dev/shm

tmpfs 1.9G 17M 1.9G 1% /run

tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup tmpfs 380M 0 380M 0% /run/user/1000

tmpfs 380M 0 380M 0% /run/user/0

[root@handson3-srv2 ~]# iscsiadm -m node

192.168.199.10:3260,1 iqn.1994-05.com.redhat:srv1

[root@handson3-srv2 ~]# iscsiadm -m node -T iqn.1994-05.com.redhat:srv1 -p 192.168.199.10:3260 --logout Logging out of session [sid: 2, target: iqn.1994-05.com.redhat:srv1, portal: 192.168.199.10,3260] Logout of [sid: 2, target: iqn.1994-05.com.redhat:srv1, portal: 192.168.199.10,3260] successful.

[root@handson3-srv2 ~]# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 20G 0 disk

ン 解除 結果 確

認 い

iSCSI

認識 い sda, sdb

(49)

iSCSI ュー を別サー ーか 利用

 先程利用 iSCSI ー 別 ー ー srv1 利用

o srv1 iqn 確認 ACL 設定

o srv1 iSCSI 利用

[root@handson3-srv1 ~]# cat /etc/iscsi/initiatorname.iscsi InitiatorName=iqn.1994-05.com.redhat:7b4f476a18b

[root@handson3-srv1 ~]# targetcli ls

o- / ... [...] o- backstores ... [...]

| o- block ... [Storage Objects: 2]

| | o- data01 ... [/dev/vg01/lv01 (512.0MiB) write-thru activated]

| | o- data02 ... [/dev/vg01/lv02 (1.0GiB) write-thru activated]

| o- fileio ... [Storage Objects: 0]

| o- pscsi ... [Storage Objects: 0]

| o- ramdisk ... [Storage Objects: 0] o- iscsi ... [Targets: 1]

| o- iqn.1994-05.com.redhat:srv1 ... [TPGs: 1]

| o- tpg1 ... [no-gen-acls, no-auth]

| o- acls ... [ACLs: 1]

| | o- iqn.1994-05.com.redhat:8d961786542b ... [Mapped LUNs: 2]

| | o- mapped_lun0 ... [lun0 block/data01 (rw)]

| | o- mapped_lun1 ... [lun1 block/data02 (rw)]

| o- luns ... [LUNs: 2]

| | o- lun0 ... [block/data01 (/dev/vg01/lv01)]

srv1 iqn 確認

値 後 利用 帳

等 ー い く さい

(50)

iSCSI ュー を別サー ーか 利用

 確認 iqn ACL 登録

o 側 iqn ー ー側 iqn 値 別々 管理さ い

注目 く さい

[root@handson3-srv1 ~]# targetcli /iscsi/iqn.1994-05.com.redhat:srv1/tpg1/acls create iqn.1994-05.com.redhat:7b4f476a18b Created Node ACL for iqn.1994-05.com.redhat:7b4f476a18b

Created mapped LUN 1. Created mapped LUN 0.

[root@handson3-srv1 ~]# targetcli ls

o- / ... [...] o- backstores ... [...]

| o- block ... [Storage Objects: 2]

| | o- data01 ... [/dev/vg01/lv01 (512.0MiB) write-thru activated]

| | o- data02 ... [/dev/vg01/lv02 (1.0GiB) write-thru activated]

| o- fileio ... [Storage Objects: 0]

| o- pscsi ... [Storage Objects: 0]

| o- ramdisk ... [Storage Objects: 0] o- iscsi ... [Targets: 1]

| o- iqn.1994-05.com.redhat:srv1 ... [TPGs: 1]

| o- tpg1 ... [no-gen-acls, no-auth]

| o- acls ... [ACLs: 2]

| | o- iqn.1994-05.com.redhat:7b4f476a18b ... [Mapped LUNs: 2]

| | | o- mapped_lun0 ... [lun0 block/data01 (rw)]

| | | o- mapped_lun1 ... [lun1 block/data02 (rw)]

| | o- iqn.1994-05.com.redhat:8d961786542b ... [Mapped LUNs: 2]

| | o- mapped_lun0 ... [lun0 block/data01 (rw)]

| | o- mapped_lun1 ... [lun1 block/data02 (rw)]

srv1 iqn ACL 登録

ン ー ン部分 自分 環境

値 読 替え く さい

新 い ACL 追加さ い

(51)

iSCSI ュー を別サー ーか 利用

 srv1 ー ー srv1 ー 接続

 接続 成功 srv2 作成 領域 確認

[root@handson3-srv2 ~]# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 20G 0 disk

└─vda 5 : 0 20G 0 part /

[root@handson3-srv1 ~]# iscsiadm -m discovery --type sendtargets --portal 192.168.199.10 192.168.199.10:3260,1 iqn.1994-05.com.redhat:srv1

[root@handson3-srv1 ~]# iscsiadm -m node -T iqn.1994-05.com.redhat:srv1 -p 192.168.199.10:3260 -l

Logging in to [iface: default, target: iqn.1994-05.com.redhat:srv1, portal: 192.168.199.10,3260] (multiple) Login to [iface: default, target: iqn.1994-05.com.redhat:srv1, portal: 192.168.199.10,3260] successful. [root@handson3-srv1 ~]# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

sda 8:0 0 512M 0 disk

└─sda1 8:1 0 511M 0 part

sdb 8:16 0 1G 0 disk

└─sdb1 8:17 0 1023M 0 part

vda 253:0 0 20G 0 disk

└─vda 253:1 0 20G 0 part / loop0 7:0 0 1.9G 0 loop

├─vg0 -lv01 252:0 0 512M 0 lvm

└─vg0 -lv02 252:1 0 1G 0 lvm [root@handson3-srv1 ~]# blkid

接続直後 既 ー ン等 認

識さ い 確認

srv2 作成 情報 残

blkid OS 認識

(52)

iSCSI ュー を別サー ーか 利用

 認識 ン 存在 確認

 srv2 上 作成 確認

[root@handson3-srv1 ~]# mkdir /mnt/iscsi{01,02} [root@handson3-srv1 ~]# mount /dev/sda1 /mnt/iscsi01 [root@handson3-srv1 ~]# mount /dev/sdb1 /mnt/iscsi02 [root@handson3-srv1 ~]# df -h

ァ ルシ サ 使用 残り 使用% マウン 位置

/dev/vda1 20G 3.0G 18G 15% / devtmpfs 1.9G 0 1.9G 0% /dev

tmpfs 1.9G 0 1.9G 0% /dev/shm

tmpfs 1.9G 17M 1.9G 1% /run

tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup tmpfs 380M 0 380M 0% /run/user/1000 /dev/sda1 487M 2.3M 456M 1% /mnt/iscsi01 /dev/sdb1 991M 2.6M 922M 1% /mnt/iscsi02 [root@handson3-srv1 ~]# find /mnt

/mnt

/mnt/iscsi01

/mnt/iscsi01/lost+found /mnt/iscsi01/my_file.txt /mnt/iscsi02

/mnt/iscsi02/lost+found /mnt/iscsi02/server_name.txt

srv2 上 作成 srv1

参照 い

(53)

iSCSI ュー の切断

 ー 切断 次 演習 準備

[root@handson3-srv1 ~]# cd

[root@handson3-srv1 ~]# umount /mnt/iscsi01 [root@handson3-srv1 ~]# umount /mnt/iscsi02

[root@handson3-srv1 ~]# iscsiadm -m node -T iqn.1994-05.com.redhat:srv1 -p 192.168.199.10:3260 --logout Logging out of session [sid: 2, target: iqn.1994-05.com.redhat:srv1, portal: 192.168.199.10,3260]

Logout of [sid: 2, target: iqn.1994-05.com.redhat:srv1, portal: 192.168.199.10,3260] successful. [root@handson3-srv1 ~]# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

vda 253:0 0 20G 0 disk

└─vda 253:1 0 20G 0 part / loop0 7:0 0 1.9G 0 loop

├─vg0 -lv01 252:0 0 512M 0 lvm

└─vg0 -lv02 252:1 0 1G 0 lvm

[root@handson3-srv1 ~]# exit [centos@handson3-srv1 ~]$ exit

(54)

iptables ッ 操作

(55)

演習内容

 iptables ー 設定 行い 挙

動 確認

o srv1 httpd 起動

o srv1 ー 80 httpd iptables 制御

仮想 ー ー

内部 ワー

192.168.199.0/24

handson3-srv1

192.168.199.10

handson3-srv2

192.168.199.20 httpd ー 80

iptables

(56)

演習の準備

 srv1 httpd 用 ー 準備

o 以下 方法

 srv1 → localhost(127.0.0.1) 自分自身 192.168.199.10

 srv2 → srv1(192.168.199.10)

 作業用端末 → srv1 ssh 使用 IP

# ssh centos@xxx.xxx.xxx.xxx centos@157.1.141.112's password:

Last login: Fri Mar 17 03:34:37 2017 from reposerver [centos@handson3-srv1 ~]$ sudo -i

[root@handson3-srv1 ~]#

[root@handson3-srv1 ~]# echo "This is your_name's server" > /var/www/html/index.html [root@handson3-srv1 ~]# cat /var/www/html/index.html

This is your_name's server

[root@handson3-srv1 ~]# curl localhost This is your_name's server

[root@handson3-srv1 ~]# ssh centos@192.168.199.20 centos@192.168.199.20's password:

Last login: Tue Mar 21 03:00:52 2017 from 192.168.199.10

srv1 root 作業 行い

srv1 用 ー

your name 部分 自

分 名前 置換 く さ

srv1 localhost curl

http

srv2 curl 使

srv2 http く さい

(57)

iptables ッ の拒否

 srv1上 ー 80 対 拒否 設定 行い

 設定後 各 行い挙動 確認

[root@handson3-srv1 ~]# iptables -nvL Chain INPUT (policy ACCEPT 1252 packets, 3251K bytes)

pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)

pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 938 packets, 90943 bytes)

pkts bytes target prot opt in out source destination

[root@handson3-srv1 ~]# iptables -A INPUT -p tcp --dport 80 -j REJECT

[root@handson3-srv1 ~]# iptables -nvL --line-numbers Chain INPUT (policy ACCEPT 25 packets, 1936 bytes)

num pkts bytes target prot opt in out source destination

1 1 60 REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 reject-with icmp-port-unreachable Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)

num pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 20 packets, 1812 bytes)

num pkts bytes target prot opt in out source destination

[centos@handson3-srv2 ~]$ curl 192.168.199.10

現在 ー一覧 確認

初期状態 何 ー 設定さ

ー 80 無条件 拒否 REJECT

設定 投入

ー 追加さ い 確認

(58)

特定の条件化 http セ を許可す

 全 http 禁止さ い 状態 srv2(192.168.199.20) 許可

う 設定 い

 iptables ー 優先順位 設定 新 い ー 優先順位 上 設定

ー 80 全 拒否 先 条件 さ 許可さ

[root@handson3-srv1 ~]# iptables -I INPUT 1 -p tcp -s 192.168.199.20 --dport 80 -j ACCEPT

[root@handson3-srv1 ~]# iptables -nvL --line-numbers Chain INPUT (policy ACCEPT 9 packets, 660 bytes)

num pkts bytes target prot opt in out source destination

1 0 0 ACCEPT tcp -- * * 192.168.199.20 0.0.0.0/0 tcp dpt:80

2 57 3632 REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 reject-with icmp-port-unreachable Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)

num pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 5 packets, 712 bytes)

num pkts bytes target prot opt in out source destination

[root@handson3-srv1 ~]# ssh centos@192.168.199.20 centos@192.168.199.20's password:

[centos@handson3-srv2 ~]$ curl 192.168.199.10

srv2 IP ー 80 許可

ー 追加 時 優先順位 1 最 高い

優先順位 与え い

追加さ ー 順番 注目 く

優先順位 srv2 さい ー 80 許可

優先順位2 全 ー 80 拒否

状態 srv2 curl

(59)

設定の保存 復元

 設定 ー 保存さ い ー 再起動やOS 再起

動 行う ー さ い

 ー 保存 復元 手順 確認 い

[root@handson3-srv1 ~]# service iptables save

iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ] [root@handson3-srv1 ~]# cat /etc/sysconfig/iptables

# Generated by iptables-save v1.4.21 on Tue Mar 21 04:12:12 2017

*nat

:PREROUTING ACCEPT [55:3552] :INPUT ACCEPT [2:164]

:OUTPUT ACCEPT [7:1180] :POSTROUTING ACCEPT [7:1180] COMMIT

# Completed on Tue Mar 21 04:12:12 2017

# Generated by iptables-save v1.4.21 on Tue Mar 21 04:12:12 2017

*filter

:INPUT ACCEPT [113:7504] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [145:12376]

-A INPUT -s 192.168.199.20/32 -p tcp -m tcp --dport 80 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 80 -j REJECT --reject-with icmp-port-unreachable COMMIT

# Completed on Tue Mar 21 04:12:12 2017 [root@handson3-srv1 ~]# iptables -F

[root@handson3-srv1 ~]# iptables -nvL --line-numbers Chain INPUT (policy ACCEPT 71 packets, 5191 bytes)

ン 現在設定さ い

ー 書 出 可能

書 出さ 確認 い

演習 設定 2 ー 記載さ

い 確認

iptables -F 設定 ー 全

可能

(60)

設定の保存 復元

 設定 後 書 出

ー 復元

[root@handson3-srv1 ~]# service iptables restart

Redirecting to /bin/systemctl restart iptables.service

[root@handson3-srv1 ~]# iptables -nvL --line-numbers Chain INPUT (policy ACCEPT 19 packets, 1360 bytes)

num pkts bytes target prot opt in out source destination

1 0 0 ACCEPT tcp -- * * 192.168.199.20 0.0.0.0/0 tcp dpt:80

2 0 0 REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 reject-with icmp-port-unreachable Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)

num pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 10 packets, 1056 bytes)

num pkts bytes target prot opt in out source destination

[root@handson3-srv1 ~]# curl 192.168.199.10

curl: (7) Failed connect to 192.168.199.10:80; 接続を拒否され した

iptables 再起動 書 出 設定

ー さ

設定 復元さ い 確認

設定 復元さ い

(61)

ョン演習

 時間 余裕 あ 方 以下 演習 試 く さ

 方法 比較

o 今回 演習 ー 80 拒否

REJECT 使 DROP 変え

場合 う 違い あ 確認 く さい

o ー 変更方法

 iptables -nvL --line-numbers ー 80 全 REJECT

ー 番号 確認 演習通 あ 2

 iptables -D INPUT 2 削除

(62)

ョン演習の回答

 REJECT ン 場合 拒否 通

ICMP 返送 DROP

該当 黙 破棄

REJECT 場合 接続 拒否さ ン

検知 接続 拒否さ 表示さ

o 場合 ー ー 存在 上 接続 拒否さ

いう事 認識

 一方 DROP 設定さ い 場合 ン ー ー

応答 待 続

o 場合 ー ー 存在 い い 接続

単 拒否さ いう 認識

(63)

Namespace の操作

(64)

演習内容

 srv1上 ワー ー ー 作成

挙動 確認

o 作成 い場合 挙動 確認

o ワー 作成 場合 挙動 比較

handson3-srv1

192.168.199.10

eth0

ー ー 1 ー ー 2

仮想NIC

(172.16.10.10) (172.16.10.10)仮想NIC http ー ー

ー 8000 httpー 8000ー ー

(65)

ネッ ワー 状態の確認

 srv1 ン root ー ー 切 替え 演習 進

 ip ン 使 ワー ン ー ー NIC

ワー ー ー 状態 確認

# ssh centos@xxx.xxx.xxx.xxx centos@157.1.141.112's password:

[centos@handson3-srv1 ~]$

[centos@handson3-srv1 ~]$ sudo -i

[root@handson3-srv1 ~]#

[root@handson3-srv1 ~]# ip netns

[root@handson3-srv1 ~]# ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc pfifo_fast state UP qlen 1000 link/ether fa:16:3e:35:33:40 brd ff:ff:ff:ff:ff:ff

inet 192.168.199.10/24 brd 192.168.199.255 scope global dynamic eth0 valid_lft 59720sec preferred_lft 59720sec

現在 ワー ー 一覧 表示

現時点 ー ー 存在 い い

何 表示さ

ワー ン ー ー NIC IP

状態 確認

初期状態 lo

eth0 192.168.199.10 存在

(66)

特定 ー のWEBサー ーの起動

 2 WEB ー ー 起動

o 準備

o ー 8001 1 目 WEB ー ー 起動

[root@handson3-srv1 ~]# cd ~/

[root@handson3-srv1 ~]# mkdir wwwroot1 wwwroot2

[root@handson3-srv1 ~]# echo "wwwroot1 - 172.168.10.10" > wwwroot1/index.html [root@handson3-srv1 ~]# echo "wwwroot2 - 172.168.10.10" > wwwroot2/index.html

[root@handson3-srv1 ~]# cd ~/wwwroot1

[root@handson3-srv1 wwwroot1]# python -m SimpleHTTPServer 8001 & [1] 7132

Serving HTTP on 0.0.0.0 port 8001 ... [root@handson3-srv1 wwwroot1]#

[root@handson3-srv1 wwwroot1]# curl localhost:8001

127.0.0.1 - - [02/Apr/2017 17:18:01] "GET / HTTP/1.1" 200 - wwwroot1 - 172.168.10.10

ー 用 準備

python 標準機能 使

WEB ー ー 起動

時 ー 8001 起動 う

指定

curl ー 8001

WEB ー ー 起動 確認

(67)

ー を重複させたWEBサー ーの起動

 2 WEB ー ー ー 8001 起動

o 時 既 ー 8001 1 WEB ー ー 使

o ー 番号 変更 8002 2 目 WEB ー ー 起動

[root@handson3-srv1 wwwroot1]# cd ~/wwwroot2

[root@handson3-srv1 wwwroot2]# python -m SimpleHTTPServer 8001 Traceback (most recent call last):

File "/usr/lib64/python2.7/runpy.py", line 162, in _run_module_as_main

"__main__", fname, loader, pkg_name)

File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code exec code in run_globals

File "/usr/lib64/python2.7/SimpleHTTPServer.py", line 220, in <module> test()

File "/usr/lib64/python2.7/SimpleHTTPServer.py", line 216, in test BaseHTTPServer.test(HandlerClass, ServerClass)

File "/usr/lib64/python2.7/BaseHTTPServer.py", line 595, in test httpd = ServerClass(server_address, HandlerClass)

File "/usr/lib64/python2.7/SocketServer.py", line 419, in __init__ self.server_bind()

File "/usr/lib64/python2.7/BaseHTTPServer.py", line 108, in server_bind SocketServer.TCPServer.server_bind(self)

File "/usr/lib64/python2.7/SocketServer.py", line 430, in server_bind self.socket.bind(self.server_address)

File "/usr/lib64/python2.7/socket.py", line 224, in meth return getattr(self._sock,name)(*args)

socket.error: [Errno 98] Address already in use

ー 8001 指定 2 目 WEB

ー ー 起動 う ー

既 使わ い ー

ー 変更 8002 起動

起動 成功

(68)

セ の確認 セ の終了

 8001 8002 WEB ー ー 起動 確認

o ー 番号 分 1 ー ー上 複数 同一 ー 起動 可能

 起動 確認 WEB ー ー 終了

[root@handson3-srv1 wwwroot2]# cd

[root@handson3-srv1 ~]# curl localhost:8001

127.0.0.1 - - [02/Apr/2017 17:20:25] "GET / HTTP/1.1" 200 - wwwroot1 - 172.168.10.10

[root@handson3-srv1 ~]# curl localhost:8002

127.0.0.1 - - [02/Apr/2017 17:20:25] "GET / HTTP/1.1" 200 - wwwroot2 - 172.168.10.10

[root@handson3-srv1 ~]# ps -ef | grep "python -m SimpleHTTPServer"

root 7132 7043 0 17:17 pts/0 00:00:00 python -m SimpleHTTPServer 8001 root 7138 7043 0 17:19 pts/0 00:00:00 python -m SimpleHTTPServer 8002

root 7144 7043 0 17:20 pts/0 00:00:00 grep --color=auto python -m SimpleHTTPServer

[root@handson3-srv1 ~]# kill -9 7132 7138

[1]- 強制終了 python -m SimpleHTTPServer 8001 (wd: ~/wwwroot1) (wd now: ~)

[2]+ 強制終了 python -m SimpleHTTPServer 8002 (wd: ~/wwwroot2) (wd now: ~)

起動 い WEB ー ー

確認

(69)

ネッ ワー ネー ー の作成

 2 ワー ー ー WWW1 WWW2 作成

 ー ー 作成 何 動作

 続く演習 隔離さ 空間 様々 操作 行 い

[root@handson3-srv1 ~]# ip netns add WWW1 [root@handson3-srv1 ~]# ip netns add WWW2 [root@handson3-srv1 ~]# ip netns

WWW2 WWW1

[root@handson3-srv1 ~]# ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc pfifo_fast state UP qlen 1000 link/ether fa:16:3e:35:33:40 brd ff:ff:ff:ff:ff:ff

inet 192.168.199.10/24 brd 192.168.199.255 scope global dynamic eth0 valid_lft 50624sec preferred_lft 50624sec

inet6 fe80::f816:3eff:fe35:3340/64 scope link valid_lft forever preferred_lft forever

ワー ー ー 作成

特 現状 ワー 影響

与え

(70)

仮想NICの追加 ネー ー への組 込

 仮想 NIC 作成 ワー ー ー 組 込

[root@handson3-srv1 ~]# ip tuntap add tap0 mode tap [root@handson3-srv1 ~]# ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc pfifo_fast state UP qlen 1000 link/ether fa:16:3e:35:33:40 brd ff:ff:ff:ff:ff:ff

inet 192.168.199.10/24 brd 192.168.199.255 scope global dynamic eth0 valid_lft 50624sec preferred_lft 50624sec

inet6 fe80::f816:3eff:fe35:3340/64 scope link valid_lft forever preferred_lft forever

3: tap0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 500 link/ether ce:29:b5:0b:6a:c8 brd ff:ff:ff:ff:ff:ff

[root@handson3-srv1 ~]# ip tuntap add tap0 mode tap ioctl(TUNSETIFF): Device or resource busy

[root@handson3-srv1 ~]# ip link set tap0 netns WWW1 [root@handson3-srv1 ~]# ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever inet6 ::1/128 scope host

tap0 いう名前 仮想NIC 追加

一覧 表示 追加

tap0 確認

同 名前 仮想NIC tap0 追加

う 既 存在 い

作成済 tap0

ー WWW1 組 込

参照

関連したドキュメント

A condition number estimate for the third coarse space applied to scalar diffusion problems can be found in [23] for constant ρ-scaling and in Section 6 for extension scaling...

Theorem 4.8 shows that the addition of the nonlocal term to local diffusion pro- duces similar early pattern results when compared to the pure local case considered in [33].. Lemma

Kilbas; Conditions of the existence of a classical solution of a Cauchy type problem for the diffusion equation with the Riemann-Liouville partial derivative, Differential Equations,

Based on these results, we first prove superconvergence at the collocation points for an in- tegral equation based on a single layer formulation that solves the exterior Neumann

If in the infinite dimensional case we have a family of holomorphic mappings which satisfies in some sense an approximate semigroup property (see Definition 1), and converges to

The main idea of computing approximate, rational Krylov subspaces without inversion is to start with a large Krylov subspace and then apply special similarity transformations to H

While conducting an experiment regarding fetal move- ments as a result of Pulsed Wave Doppler (PWD) ultrasound, [8] we encountered the severe artifacts in the acquired image2.

Each Hamiltonian generates a bosonic (even) symmetry flow and due to the fact that supersymmetry is just a symmetry, it is natural to expect the presence of conserved supercharges