10月28日(火)1、2コマ目

今日、やったこと

  • [やってみよう]ネットワーク 解説
  • ファイアウォール

今日のホワイトボード

 [やってみよう]ネットワーク 解説

前回はその1~その20までを解説。

その21から解説をするまえに、その20終了時の状態に設定。

その20終了時の状態に

①コネクションcon1作成

まず、パターン2でコネクションcon1を作成。

図 コネクションcon1作成


②コネクションcon1有効化

作成したコネクションcon1を有効化して、デバイスに反映させる。

図 コネクションcon1有効化


③IPアドレス変更

ipコマンドでIPアドレスを変更。

まずは、変更前の状態を確認。コネクションcon1の設定になっている。

図 IPアドレス変更前

ipコマンドで新IPアドレスを追加。

 ip addr add 172.17.0.50/24 dev eth0

追加後、確認。コネクションcon1での設定値(172.17.0.200/24)と新たに追加した172.17.0.50/24の両方が設定されている。

図 新IPアドレス追加後(確認)

ipコマンドで旧IPアドレスを削除、確認。
図 旧IPアドレス削除、確認

nmcliコマンドでもIPアドレスを確認する。
まず、設定ファイル上の値(項目名がipv4.xxx)。
図 nmcliコマンドで確認(設定ファイル上の値)

コネクションcon1が紐づくデバイスに設定されている値(項目名がIP4.XXX)。
図 nmcliコマンドで確認(デバイス設定値)

以上でその20終了時の状態に。

その21

コネクションcon2を追加。
図 コネクションcon2新規作成

コネクションcon2を追加すると、設定ファイル
 /etc/sysconfig/network-scripts/ifcfg-con2
に作成される。

その22

コネクションcon2をデバイスeth0に反映させたい。
まず、紐づくデバイスeth0はコネクションcon1が有効化されているので、コネクションcon1を無効化する。
コネクションcon1を無効化すると、デバイスeth0とコネクションcon2が紐づき、デバイスeth0にはコネクションcon2の設定が反映される。
図 コネクションcon2をデバイスに反映させるには

図 コネクション一覧

図 コネクションcon1を無効化、確認

その23

ipコマンドでデバイスeth0のIPアドレス等を確認。
現在デイバスeth0に設定されているIPアドレス等が確認できる。
図 IPアドレス、サブネットマスク 確認

デフォルトゲートウェイを確認。
デフォルトゲートウェイは同一ネットワーク以外に送信する際に送る宛先
基本的に最寄りのルーター。
ルーティングテーブルの default の行に注目。
図 デフォルトゲートウェイ 確認

その24

nmcliコマンドでコネクションcon2を確認。
設定ファイル上の値(項目名が、ipv4.xxx)。
図 コネクションcon2確認(項目名:ipv4.xxx)

紐づくデバイスに設定されている値(項目名がIP4.XXX)。
図 コネクションcon2確認(項目名:IP4.XXX)

ファイアウォールは

この授業で扱うのは、Linuxに組み込まれているファイアウォール。
専用機のファイアウォールは扱わない。
ただし、基本的な考え方は同じ。
図 ファイアウォール

この授業で扱うファイアウォール

Linuxに組み込まれているファイアウォール。
実体はfirewalldと呼ばれる、バックグランドで動き続けるデーモンプロセス。
firewall-cmdコマンドで操作する
図 firewalldとfirewall-cmdコマンド

systemdとsystemctlコマンドの関係と同じ。

実習環境

2つのLinuxコンテナを使う。
図 実習環境

ゾーン

ゾーンとはファイアウォールの設定テンプレート
Linuxマシンが設置される環境(LAN?DMZ?)や利用目的ごとに、あらかじめある程度まで設定されたテンプレート。
ゾーンを選択することで、楽にファイアウォールの設定ができる。
図 ゾーン

あらかじめ用意されているゾーンを確認。
〇ゾーン一覧
図 ゾーン一覧出力

〇ゾーン詳細一覧
図 ゾーンの詳細一覧

〇アクティブなゾーン、デフォルトゾーン
現在、アクティブになっているゾーンの確認。
また、アクティブなゾーンがない場合に適用されるデフォルトゾーンの確認。
図 アクティブなゾーン、デフォルト適用されるゾーンの確認

サービス

ファイアウォールのルールのうち、アプリケーションの特定はTCP、UDPのポート番号を使う。
たとえば、Webの場合は、TCPヘッダの送信元・宛先ポート番号が80番になっているパケット。
あらかじめアプリケーションごとに、ポート番号等を定義したのがサービス
このサービスごとに許可、拒否を設定する。
図 サービス

サービスの一覧を確認。
図 サービス一覧確認

サービスの設定ファイル

サービスの設定ファイルは
 /usr/lib/firewalld/services
 /etc/firewalld/services
以下にある。
/usr/libはOSが提供する設定ファイル。このファイルは編集をしない。
もし、既存のサービスを変更、新たにサービスを追加するには、/etc以下に作成する。

図 サービス設定ファイル(/usr/lib/firewalld/services以下)

Webアクセス用のサービスhttpの設定ファイル/usr/lib/firewalld/services/http.xmlは下図のようになっている。
図 サービスhttpの設定ファイルhttp.xml

Webアクセスを許可する

下図のように、Linux3で稼働するWebサーバーに、Linux4からアクセスする。
図 Webアクセスを許可する

Linux3のファイアウォールで許可されているサービスを確認。
図 許可されているサービスを確認
サービスhttpは許可されていないため、ファイウォールで拒否されると思われる。

curlコマンドでLinux4からLinux3のWebサーバーにアクセス。ファイアウォールで拒否されている。
図 Linux4からLinux3のWebサーバーにアクセス

サービスhttpを許可するように変更。
図 サービスhttpを許可

再度、Linux4からcurlコマンドでLinux3のWebサーバーにアクセス。
図 Linux4からLinux3のWebサーバーにアクセス

今度はアクセスに成功し、HTMLが返信されている。

ゾーンの設定

デフォルトゾーンは public になっている。
ゾーンpublicの設定ファイルは /usr/lib/firewalld/zones/public.xml 。
図 ゾーンpublicの設定、設定ファイル

なお、サービスと同じように /etc/firewalld/zones 以下にもゾーンの設定ファイルがある。
図 ゾーンの設定ファイル置き場 /etc/firewalld/zonesディレクトリ

ゾーン設定ファイルは2か所にあるが、
 /usr/lib/firewalld/zones以下はOSが提供する設定ファイル。編集しない。
 /etc/firewalld/zones以下はゾーンを追加、変更した設定ファイル置き場。
と使い分けている。

設定ファイルを変更するために、--permanentオプション付きで、デフォルトゾーンにサービスhttpを追加する。
図 デフォルトゾーンにサービスhttpを追加

設定後、設定ファイルを確認。
〇/usr/lib/firewalld/zones/public.xml
変更なし。
図 ゾーン設定ファイル/usr/lib/firewalld/zones/public.xml

〇/etc/firewalld/zones/public.xml
サービスhttpが追加されている。
図 ゾーン設定ファイル/etc/firewalld/zones/public.xml


次回は

Linuxのネットワークの確認テストをします。
ファイアウォールのつづき。













このブログの人気の投稿

12月23日(火)1、2コマ目

1月6日(火)1、2コマ目

12月9日(火)1、2コマ目