さくらのクラウド ネットワーク入門 2. 共有セグメントと内部ネットワークをつなぐ

前回の記事では、デフォルトで作成される共有セグメントとは別に、さくらのクラウドの「スイッチ」を用いて独立した内部ネットワークを作成しました。この記事では、その環境に引き続き手を加えていきます。
前回の記事はこちら
さくらのクラウド ネットワーク入門 1. スイッチによるネットワークの構築
- 作成されたネットワークの現状と課題
- 手順1. publicサーバを停止する
- 手順2. publicサーバにNICを追加する
- 手順3. publicサーバのネットワーク設定を確認する
- 本記事で参照するマニュアル
作成されたネットワークの現状と課題
前回の記事で作成したネットワークを「マップ」で確認すると、次のようになっています。

内部ネットワークにある2台のサーバには外部からの通信が届かないため、さくらのクラウドのコントロールパネルで提供されているコンソールでしかサーバを操作できません。コンソールではコマンドをペーストすることはできますが、シェルの出力をコピーできないため不便です。
このため外部からSSHでアクセスするための踏み台サーバを構成します。共有セグメントに存在している「public」サーバも内部ネットワークの「switch1」に接続し、「internal1」と「internal2」にそれぞれアクセスできるようにします。やるべきことは「public」サーバが「switch1」に接続できるよう、NICをもう1つ付け足すことです。
手順1. publicサーバを停止する
NICを付け足すにはサーバを停止させる必要があるため、いったんサーバをシャットダウンします。サーバの電源は、マップの画面からサーバをクリックして直接操作できます。

手順2. publicサーバにNICを追加する
サーバが停止できたらNICを1枚追加します。コントロールパネルの「サーバ」から「public」の詳細を開き、上部の「NIC」タブから「+追加」ボタンをクリックします。

新しいNICは、次のように未接続の状態で作成されます。そのため接続するセグメントを明示的に指定する必要があります。

画面右の黒い▼をクリックして「接続を編集」を選択します。

編集画面で「スイッチに接続」にチェックを入れて「switch1」を選択し「更新」をクリックします。

NICの一覧は下記のようになります。

ここまでの作業で、マップを確認すると次のように「public」サーバにはNICが2枚存在し、それぞれ共有セグメントと内部ネットワーク(switch1)に接続されていることが分かります。

手順3. publicサーバのネットワーク設定を確認する
先ほどNICを追加するために「public」サーバを停止しましたが、共有セグメントと内部ネットワークの両方に接続できたので再び起動します。マップでサーバーをクリックして電源を操作します。

マップで「public」サーバが起動していることを確認できます。

この「public」サーバはインターネット(共有セグメント)に接続しているので、SSHでログインできます。SSHの設定などは次の記事を参照してください。
👉 【始めよう!さくらのクラウド(3)】実践編:公開鍵の登録とSSH接続、Webサーバーの構築|コラム|さくらのクラウド
ローカルPCから「public」サーバにSSHで接続し、ネットワークを確認するためip aコマンドを実行すると、結果は次のようになります。
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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 noprefixroute
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 9c:a3:ba:32:93:e1 brd ff:ff:ff:ff:ff:ff
altname enp0s3
altname ens3
altname enx9ca3ba3293e1
inet 163.43.230.165/24 brd 163.43.230.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::cc9f:2e29:3fb2:aa07/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 9c:a3:ba:32:c2:80 brd ff:ff:ff:ff:ff:ff
altname enp0s4
altname ens4
altname enx9ca3ba32c280
もともと存在していたeth0には、外部接続用にグローバルなIPv4アドレスが付与されています。また、先ほど追加したeth1がDOWN状態だったりIPv6アドレス付与されていないようなら、以下のコマンドを実行してeth1を起動すると、自動でローカルリンクのIPv6アドレスが付与されます。
# ip link set eth1 down
# ip link set eth1 up
# ip addr show eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 9c:a3:ba:32:72:0a brd ff:ff:ff:ff:ff:ff
altname enp0s4
altname ens4
inet6 fe80::9ea3:baff:fe32:720a/64 scope link
valid_lft forever preferred_lft forever
前回と同様にIPv6のpingコマンドを使って「public」サーバから内部ネットワークの疎通を確認してみましょう。
# ping6 fe80::9ea3:baff:fe32:c3d0%eth1
PING fe80::9ea3:baff:fe32:c3d0%eth1(fe80::9ea3:baff:fe32:c3d0%eth1) 56 data bytes
64 bytes from fe80::9ea3:baff:fe32:c3d0%eth1: icmp_seq=1 ttl=64 time=1.49 ms
64 bytes from fe80::9ea3:baff:fe32:c3d0%eth1: icmp_seq=2 ttl=64 time=0.268 ms
64 bytes from fe80::9ea3:baff:fe32:c3d0%eth1: icmp_seq=3 ttl=64 time=0.312 ms
64 bytes from fe80::9ea3:baff:fe32:c3d0%eth1: icmp_seq=4 ttl=64 time=0.288 ms
64 bytes from fe80::9ea3:baff:fe32:c3d0%eth1: icmp_seq=5 ttl=64 time=0.278 ms
--- fe80::9ea3:baff:fe31:c151%eth0 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4007ms
rtt min/avg/max/mdev = 0.268/0.528/1.494/0.483 ms
今回の記事では、NICを2枚持ち、内部ネットワークと共有セグメントの両方に接続するサーバを起動しました。次回はさらにIPv4アドレスを割り当てるなどしていきます。
