![見出し画像](https://assets.st-note.com/production/uploads/images/79579236/rectangle_large_type_2_460ee8458fd3171fd861f7e1a11f39c2.jpeg?width=1200)
Samba 環境構築 1/2
先週より LPIC 202 のために Amazon Linux 2 と Windows Server 2022 を使って、Samba 環境を試しています。
少し長くなってしまったので、2 回に分けて投稿します。本投稿は、前半パートとしてネットワーク環境の構築をまとめました。
Samba の章を勉強していくにあたり、使い勝手も含めて、『Samba サーバーに GUI で接続して確認した方が分かりやすい。』と感じたので、Windows 環境から接続してみることにしました。
考えたのが以下の構成です。Windows Server をローカル PC と見立てています。
構成図
![](https://assets.st-note.com/img/1652655152683-3kRn4isIPd.png)
box や Google Drive のようなモダンはファイルストレージは、簡単に外部に共有できるので、少し古風な考えですが『社内ファイルサーバーは外部からアクセスさせない。』という前提の元、Samba サーバーをプライベートサブネットに起動しました。
Samba を yum インストールするためには、インターネット接続が必要です。
そこで、パブリックに起動した Windows サーバーを踏み台にして NAT することにしました。
EC2 インスタンス起動
Samba サーバー
Samba サーバーは Amazon Linux 2 にしました。
![](https://assets.st-note.com/img/1653702966824-IkG9e4wSjB.png?width=1200)
AMI 名: Amazon Linux 2 Kernel 5.10 AMI 2.0.20220426.0 x86_64 HVM gp2
AMI ID: ami-02c3627b04781eada
インスタンスタイプ: t3.micro
キーペア: あり
サブネット: プライベートサブネット
セキュリティグループ:
インバウンド: TPC 22 (SSH) / UDP 137 - 138 / TPC 139 (SMB) / TCP 445 (CIFS)
アウトバウンド: すべてのトラフィック
ストレージ: gp3 / 3000 IOPS / 125Mbps
IAM インスタンスプロフィール:
クレジット仕様: スタンダード
![](https://assets.st-note.com/img/1653783811069-jfgbG1xfrc.png?width=1200)
踏み台 サーバー
踏み台 サーバーは Windows Server 2022 にしました。
AMI 名: Windows_Server-2022-Japanese-Full-Base-2022.05.11
AMI ID: ami-07a341fa87ab8deab
インスタンスタイプ: t3a.medium
キーペア: あり
サブネット: パブリックサブネット
セキュリティグループ: 画像参照
ストレージ: gp3 / 3000 IOPS / 125Mbps
IAM インスタンスプロフィール: AmazonSSMManagedInstanceCore を含むロール
クレジット仕様: スタンダード
セキュリティグループは予め 2 つ作りました。まず、インスタンス作成時にアタッチするネットワークインターフェイス (こちらをプライマリとします) 用のセキュリティグループは、AWS Systems Manager (SSM) 経由で接続するためインバウンドを閉塞しました。
![](https://assets.st-note.com/img/1653784155868-MaJlmK4H43.png?width=1200)
こちらは、あとでアタッチするセカンダリネットワークインターフェイスにアタッチするセキュリティグループです。インバウンドは、80 と 443 のみを開放しました。
![](https://assets.st-note.com/img/1653783940094-RkieKYCXfr.png?width=1200)
パブリック IP アドレスは有効でも無効でもどちらでも大丈夫なのですが、Elastic IP アドレスを付ける必要があります。
これは、この後ネットワークインターフェイスをもう一つアタッチした後、インスタンスを停止/起動するとパブリック IP アドレスが外れてしまうからです。
日本語の Windows イメージは、以下のキーワードあたりを検索ボックスに入力するとコミュニティ AMI に候補が表示されます。
microsoft
windows
japanese
full base
毎月パッチが当たったイメージがリリースされるので、できる限り最新のものが良いでしょう。
![](https://assets.st-note.com/img/1653704129503-FPNZPs8Jpf.png?width=1200)
接続 - Windows Server
Fleet Manager
Windows Server は 2022 以降であれば、AWS Systems Manager (SSM) のフリートマネージャーを使って AWS マネジメントコンソールから RDP 接続できます。
Systems Manager > フリートマネージャーと進み、対象を選択して [ノードアクションから] > [リモートデスクトップ (RDP) との接続] をクリックします。
![](https://assets.st-note.com/img/1653705983293-LSlr8zDDUH.png?width=1200)
認証情報を入力して [Connect] ボタンをクリックすればブラウザ上にリモートデスクトップ接続が描画されます。
![](https://assets.st-note.com/img/1653706195680-ODfhB7ID4W.png?width=1200)
Session Manager
別途 AWS CLI が利用できるなら、AWS Systems Manager (SSM) のセッションマネージャーのポート転送でローカルからセキュアに RDP 接続できます。
こちらを利用するには、ローカルにプラグインのインストールが必要です。
プラグインをインストールしたら、こんな感じでインスタンス ID を指定してポート転送します。
~ % aws ssm start-session \
--target i-0ce93a8233acaf59d \
--document-name AWS-StartPortForwardingSession \
--parameters "portNumber=3389,localPortNumber=10000" \
--region ap-northeast-1 \
--profile test-acount-usr1
Starting session with SessionId: xxxxxx
Port 10000 opened for sessionId xxxxxx.
Waiting for connections...
上記の場合だと、10000 ポートを開放しているので、以下のように localhost:10000 で RDP 接続できます。
![](https://assets.st-note.com/img/1653707569836-uLPvFYhCMo.png?width=1200)
接続 - Samba
PowerShell から SSH 接続
Windows Server に RDP 接続したら、Samba サーバーに SSH 接続しました。
あらかじめキーペアをサーバー上にコピーしておき、PowerShell を起動して ssh コマンドを投入したら接続できました。
![](https://assets.st-note.com/img/1653709576644-SUvhZ1AzvX.png?width=1200)
ただ、この状態だとインターネットに接続していないので yum が使えません。curl しても応答が返って来ません。
![](https://assets.st-note.com/img/1653709814602-jtqCE6NTY3.png?width=1200)
NAT 設定
セカンダリーネットワークインターフェイスをアタッチ
NAT インスタンス化するため、Windows Server にセカンダリーネットワークインターフェイスをアタッチしました。
EC2 コンソールからネットワークインターフェイスを開き、[ネットワークインターフェイスを作成] ボタンをクリックし、ネットワークインターフェイスを作成しました。
このネットワークインターフェースはプライベートサブネットに作成します。冒頭で構成をこのような形で記載しましたが、正確に描くと
![](https://assets.st-note.com/img/1653714707688-KVV0rfklNC.png?width=1200)
こんな感じでプライマリネットワークインターフェイスを片足突っ込んだ状態にします。
![](https://assets.st-note.com/img/1653714746906-U1frlQbTBA.png?width=1200)
セキュリティグループは、インバウンドルールで、Samba サーバーにアタッチしたルールからの 80 と 443 ポートを許可します。
以下のような形です。
![](https://assets.st-note.com/img/1653714368116-GbcN6BYIiT.png?width=1200)
ネットワークインターフェイスができたら、Windows インスタンスを選択して、アクションからネットワーキング > ネットワークインターフェイスをアタッチをクリックして、関連付けます。
![](https://assets.st-note.com/img/1653714939952-WF8yptQMr8.png?width=1200)
OS の設定
ネットワーク接続
ネットワークインターフェイスがアタッチできたら、Windows Server に RDP 接続して、ネットワーク接続を確認します。
![](https://assets.st-note.com/img/1653715032573-bB59Bd8Fjg.png?width=1200)
ネットワーク接続が開いたら、こんな感じでプライマリネットワークインターフェイス (パブリック IP アドレスがアタッチされている方です。) を 「External」 としておきます。
もう一つのセカンダリネットワークインターフェイスを 「Internal」としておきます。
![](https://assets.st-note.com/img/1653715167660-RxFjq2LoHQ.png?width=1200)
また、片方の NIC がプライベートサブネットにあるため、インターネットに接続できたり出来なかったりします。これを防ぐため、メトリックで「External」の優先度を上げておきます。
「External」のプロパティからインターネットプロトコルバージョン 4 を選択して「詳細設定」からメトリックを 1 にします。
![](https://assets.st-note.com/img/1653717804033-vJCUtgUEGS.png?width=1200)
また、「Internal」のプロパティからインターネットプロトコルバージョン 4 を選択して「詳細設定」からメトリックを 1 より大きな値にしておきます。(ここでは 2)。これで、優先順位が高いプライマリからインターネットに抜けるようになります。
![](https://assets.st-note.com/img/1653717865012-aw92MmLLAW.png?width=1200)
ルーティングとリモートアクセスサービス
NAT するための機能である「ルーティングとリモートアクセスサービス」をインストールしていきます。
サーバーマネージャーを起動して「管理」から「機能と役割の追加」をクリックします。
![](https://assets.st-note.com/img/1653718008899-Pb7ETZO9EN.png?width=1200)
「次へ」をクリックします。
![](https://assets.st-note.com/img/1653718042817-Tq8bkZS8K1.png?width=1200)
「次へ」をクリックします。
![](https://assets.st-note.com/img/1653718050662-7NWLXYqaD6.png?width=1200)
「次へ」をクリックします。
![](https://assets.st-note.com/img/1653718080275-89zzjWhs6k.png?width=1200)
リモートアクセスのチェックボックスにチェックを入れて、次へをクリックします。
![](https://assets.st-note.com/img/1653718128941-kG9XX45UiK.png?width=1200)
「機能の選択」は何も変更せず「次へ」をクリックします。
![](https://assets.st-note.com/img/1653718447070-meVkzA6cNJ.png?width=1200)
「次へ」をクリック
![](https://assets.st-note.com/img/1653718509631-XoSXXpZ3BW.png?width=1200)
役割サービスの選択は「ルーティング」にチェックを入れると、
![](https://assets.st-note.com/img/1653718533989-kLrBmwZsDB.png?width=1200)
メッセージが表示されるので、[機能の追加] をクリックします。
![](https://assets.st-note.com/img/1653718575422-2n5CAMHMrn.png?width=1200)
すると、DirectAccess および VPN (RAS) にもチェックが入ります。
「次へ」をクリックします。
![](https://assets.st-note.com/img/1653718614976-qvaCL4DLzf.png?width=1200)
「次へ」をクリックします。
![](https://assets.st-note.com/img/1653718662224-JIJhUg0rtg.png?width=1200)
「インストール」をクリックします。
![](https://assets.st-note.com/img/1653718689932-6OeJLKKZut.png?width=1200)
インストールが完了したら、WIndows 管理ツールを開くと、
![](https://assets.st-note.com/img/1653718768508-JvOm0cpZQm.png?width=1200)
「ルーティングとリモートアクセスサービス」が追加されていました。
![](https://assets.st-note.com/img/1653730470446-N7rlRXSJAI.png?width=1200)
赤い停止アイコンがついたアイコンを右クリックして、「ルーティングとリモートアクセスの構成と有効化」を選択しました。
![](https://assets.st-note.com/img/1653730534242-37Xev8C58Z.png?width=1200)
2 つ目のNAT を選択して「次へ」をクリック、
![](https://assets.st-note.com/img/1653730970975-YfFVQOj7z1.png?width=1200)
External の方を選択して「次へ」
![](https://assets.st-note.com/img/1653731036063-nQJeSYYj2f.png?width=1200)
「完了」をクリックすると、少ししてから有効化されました。
![](https://assets.st-note.com/img/1653731064209-ycAigzsU0m.png?width=1200)
以下のように、IPv4 に NAT が増えていたら成功です。
![](https://assets.st-note.com/img/1653782257190-zoVHPNbz6A.png?width=1200)
ネットワーク送信元 / 送信先のチェックを無効
NAT インスタンスと同様、ネットワーク送信元 / 送信先のチェックを無効にする必要があります。
Windows Server のインスタンス を選択して、アクションから「ソース/宛先チェックを変更」を選択します。
![](https://assets.st-note.com/img/1653731120005-87GbIgfCU3.png?width=1200)
「停止」のチェックボックスにチェックを入れて「保存」ボタンをクリックしました。
![](https://assets.st-note.com/img/1653731181987-veJuNJx6aA.png?width=1200)
AWS のルートテーブル
最後にプライベートサブネットのルートテーブルで「0.0.0.0/0」を Windows Server のインスタンスのセカンダリーネットワークインターフェイスに向けました。
![](https://assets.st-note.com/img/1653731791017-0mztFORH1v.png?width=1200)
curl も返るようになりました。
[ec2-user@ip-172-29-2-230 ~]$ curl http://google.co.jp
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.co.jp/">here</A>.
</BODY></HTML>
[ec2-user@ip-172-29-2-230 ~]$
次回は、Samba の設定を投稿します。