2022-02-03 · 2분
サーバー構築 4
前回のトポロジを拡張する VMware 実習 — router2・Vmnet2・client-server を追加(既存 VM をクローン)、Vmnet/IP と netplan の再設定、ゾーン間の静的ルーティング、sunrin.com / skills.com / cs.com の DNS ゾーンまで。
2022-01-28 · 5분
この記事は公開から2年以上経過しています。
例

この問題は main-server で解決します。これを必ずやってこそ次まで作業できます。
最初にやることは UserGroup を作ることです。
groupadd semiAdmin
groupadd common
vim /etc/group
上のコードのとおり groupadd を使って追加し、/etc/group に入って問題に合った数字に変えます。
あるいはそのまま /etc/group に入って手で直接追加してもよいです。

vim /etc/group
上のように semiAdmin:x:1040: と common:x:1050: に変えます。その後、semiAdmin にあるアカウント 2 つをまず作ってみましょう。
mkdir smadmin
useradd -d /home/smadmin/smroot1 -g semiAdmin -s /bin/bash -m smroot1
smadmin というディレクトリが存在しないため、あらかじめ作り、その後 useradd の -d オプションで直接ディレクトリの位置を指定します。-g でグループを指定し、useradd はすべての設定を手動で行う必要があるため、シェルの種類まで書く必要があります。そこで -s オプションを使って /bin/bash を追加します。-m まで書いてこそ home ディレクトリまで生成されます。ひとまず同様にアカウントをもう 1 つ作ってみましょう。
useradd -d /home/smroot2 -g semiAdmin -s /bin/bash -m smroot2
これで semiAdmin グループで作るべきアカウントは全部作りました。次に備考にあるパスワード使用期間 14 日を設定します。このときは chage コマンドを使います。
chage -m 14 smroot1
chage -l smroot1

chage -l smroot1
Minimum number of days between password change が 14 日になったのが分かります。最小有効期間なので -m をオプションにする必要があります。Maximum の場合は -M オプションです。こうして両方設定すれば semiAdmin グループは全部設定完了です。次は common グループ側を設定してみましょう。
mkdir common
useradd -d /home/common/user01 -g common -s /bin/bash -m user01
useradd -d /home/user02 -g common -s /bin/csh -m user02
useradd -d /home/user03 -g common -s /bin/bash -m user03
もうお分かりだと思います。説明することは、-g で common に設定し、user02 を見ると /csh に設定しろとありますが、それもシェルの種類の一つなので /bin にあります。あのように設定すればアカウント生成は終わりです。あとはパスワード設定だけすればよいです。コマンドは全部共通です。
passwd smroot1
passwd smroot2
passwd user01
passwd user02
passwd user03
上のように passwd コマンドを使って、上の表と同じようにパスワードを設定します。では下の問題に対する答えです。



上のコマンドでやると左のように見えるはずです。右の場合は視認性のためにあのようにしておいてもよいです(書かなくてもきちんと動作します..)。

上のように表示されれば全部完了です。ここまでが問題です。では追加設定です。ssh 設定をいじって semiAdmin だけ ssh に接続できるようにしてみましょう。
vim /etc/ssh/sshd_config

vim /etc/ssh/sshd_config
上のように設定すればよいです。AllowGroups 以外にも他のものが存在します。AllowGroups はコメントで書かれていないため、好きな位置に追加して書けばよいです。
特定のユーザーに対して許可する場合
特定 IP の特定アカウントに対して許可する場合
Allow を Deny にすると全部遮断されます(AllowUsers、AllowGroups、DenyUsers、DenyGroups)。
この後 sshd サービスを再起動し、windows client から接続してみましょう。


main で接続 user01 で接続


smroot1 で接続 smroot2 で接続
設定したグループ名 semiAdmin 以外のものは全部接続できず、semiAdmin をグループに持つアカウントだけが ssh で接続できるのが確認できます。
DNS 設定は slave-server で行います。
apt install bind9
上のコマンドで bind9 をインストールします。DNS を使うために bind9 を使います。
cd /etc/bind
ll

ll
ll を打ったときの様子です。私はすでに多くの zone を先に作ってあるので色々ありますが、特に気にしなくてよいです。
vim named.conf

vim named.conf
named.conf ですべての DNS 設定が行われていますが、上の文言を見れば分かるように、ここに追加はするなとのことです。私たちは include されるものの中で named.conf.local という所に zone を追加します。

vim named.conf.local
私はあらかじめ設定してあるのでこのように表示されますが、本来は何も書かれていないはずです。好きなドメインにするため、上の写真のようにすればよいです。
zone "ドメイン名" IN {
type master;
file "zone ファイルのパス";
};
上のように書けばよいです。これが正引きです。ドメイン(文字)→ IP(数字)に変える形です。
zone "IP を逆に書く.in-addr.arpa" IN {
type master;
file "zone ファイルのパス";
}
上のように書けば逆引きに設定されます。IP(数字)→ ドメイン(文字)に変えます。
では、ファイルパスに書いておいたファイルを実際に作ります。ここで一つひとつ打つより、db.local をコピーして使います。

db.local

sunrin.com.zone
私は名前を sunrin.com.zone に設定しておいたので、このまま作りました。上の SOA 部分の localhost 部分を自分のドメインに変え、下の NS 部分も変えます。その後、ns を知らせる必要があるため、2 行目を見ると ns のアドレスを知らせているのが分かります。@ はサブドメインが何もない場合で、それ以外は前に書いてこそ後ろに書いた IP に移動します。この後
systemctl restart bind9
service bind9 restart
上の 2 つのコマンドのうち好きなもので bind9 を再起動します。その後 windows client の cmd に nslookup を入力してみましょう。

sunrin.com 入力時
sunrin.com が 22.1.24.10 を指しているのが分かります。こうなると ssh も web サービスもすべてあのドメインで入力すれば接続が成功します。vmware-tools を入れて FileZilla と Putty を入れ、FileZilla で main-server に接続してみましょう。

接続に成功した様子です。
私はポートを再び 22 に変えましたが、もし変えていない場合は 22000 ポートにすれば接続できるはずです...
もし接続できない場合は、sftp 設定を一度やってみてください。

sunrin.com に接続したとき 22.1.24.10 に接続されるのが確認できます。
今日はここまでです。DNS まで成功しました〜
原文(韓国語): tistory — 2022-01-28 公開、当ブログへ移行。この翻訳は AI の協力で作成されました。
…