はじめに
今回は、Linuxをなれる場として簡単なQ&A問題や、実際にコンソールを操作して問題に挑むといったことをやっていきます!
問題は全部で5問です。パパっと解いてパパっと休憩に入りましょう!
では、道場破りへLet’sGo!
【出題問題】
13.8.32.3/25のネットマスクは?
では、第1問目です!で~でん!
13.8.32.3/25のネットマスクは?
Answer
IPアドレス「13.8.32.3/25」のネットマスクを求めるには、CIDR(Classless Inter-Domain Routing)表記の「/25」を使います。
「/25」は、サブネットマスクが25ビットの長さであることを示しています。ネットマスクは、IPアドレスのどの部分がネットワークを示し、どの部分がホストを示すかを決定します。
具体的に説明すると:
- ビット表記でのネットマスク:
- CIDRの「/25」は、ネットマスクが25ビットの「1」で構成されることを意味します。
- 残りのビット(32 – 25 = 7ビット)は「0」で構成されます。
- これをビット列で表すと、ネットマスクは「11111111.11111111.11111111.10000000」となります。
- 10進数表記でのネットマスク:
- このビット列を10進数に変換します。
- 「11111111.11111111.11111111.10000000」は、10進数で「255.255.255.128」となります。
なので、IPアドレス「10.5.34.5/25」のネットマスクは「255.255.255.128」です。
CIDRの数値分、1を並べて、「32ーCIDR=0の個数」分、0のビット列を作る。
で、あとはそれを10進数に直せば、ネットマスクが求められる!
ターミナルソフトウェアからrootでのログインを禁止せよ!
第2問。で~でん!
ターミナルソフトウェアからrootでのログインを禁止せよ!また、設定変更するファイルの絶対パスと、項目、デフォルト、設定値を答えよ!
Answer
「ターミナルソフトウェアからrootでのログインを禁止」するには、設定ファイル /etc/ssh/sshd_config
を変更します。ここで、SSH(Secure Shell)によるrootユーザーのログインを禁止する設定を行います。
設定ファイルの絶対パス
/etc/ssh/sshd_config
設定項目
PermitRootLogin
デフォルト設定
PermitRootLogin yes
(多くのディストリビューションではデフォルトで root ログインが許可されています)
設定値
PermitRootLogin no
設定を変更したら「sudo systemctl restart sshd」コマンドで、設定を反映させましょう!
SELINUXの無効化を無効化せよ!
第3問。で~でん!
SELINUXの無効化せよ!また、設定変更するファイルの絶対パスと、項目、デフォルト、設定値を答えよ!
Answer
SELinux(Security-Enhanced Linux)Linuxシステムのセキュリティを強化するための機能です。特定の用途やトラブルシューティングのために一時的に無効化することはありますが、無効化したまま運用することは一般的には推奨されません。
あくまでも練習ってことで、今回はやっていきましょう!
設定ファイルの絶対パス
/etc/selinux/config
設定項目
SELINUX
デフォルト設定
- デフォルトの設定はディストリビューションによって異なりますが、一般的には
enforcing
です。
設定値
disabled
SELinuxの設定変更後は「sudo reboot」コマンドで再起動して設定を反映させましょう!
ファイアウォールを無効化せよ!
第4問!で~でん!
ファイアウォールを無効化せよ!また、その際の一連のコマンドを答えよ!
Answer
Firewall(ファイアウォール)を無効化するには、Red Hat系のLinuxディストリビューションで firewalld
というファイアウォール管理ツールを使用している場合と、iptables
を使用している場合があります。ここでは、firewalld
をつかった無効化方法を説明します。
1.firewalld のサービスを停止する
sudo systemctl stop firewalld
2.firewalld を無効化する
- サーバーが再起動されたときに自動的に
firewalld
が起動しないように設定します。
sudo systemctl disable firewalld
3.ステータスを確認する
firewalld
が停止していることを確認します。
sudo systemctl status firewalld
IPv6を無効化せよ!
では、さいごの問題となる5問目です。で~でん!
IPv6を無効化せよ!また、その際に、ファイルの絶対パス、設定値を答えよ!
Answer
1.設定ファイルを編集する
/etc/sysctl.conf
にIPv6を無効化する設定を追加します。
sudo vi /etc/sysctl.conf
2.以下の設定を追加する
# Disable IPv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
3.設定を適用する
設定を反映させるために、以下のコマンドを実行します。
sudo sysctl -p
4. ネットワーク設定の確認
再起動後、IPv6が無効化されていることを確認するには、以下のコマンドを使用します。
ip a | grep inet6
出力が何も表示されない場合、IPv6は無効化されています。
ip a は、ip address の短縮形で、ネットワークインターフェースに関する詳細な情報を表示するコマンドです。
grep は、指定したパターンに一致する行を検索して表示するコマンドです。ここでは、inet6 という文字列を検索しています。
おわりに
お疲れさまでした!今日は、Linux道場初級編と題して基本的なLinuxコマンドを習得してきました。
こうやって実践をやることで、本で得た知識を知識としてそのままにするのではなく、しっかりと自分に落とし込むことができるんです!
これからも、少しずつ一歩一歩着実に成長していきましょう!