hana_shinのLinux技術ブログ読者になるhana_shinのLinux技術ブログLinuxの技術情報を掲載しています。ネットワークをメインに掲載していきます。はじめにIPsecは安全なIP通信を実現するための仕組みです。データの暗号化、宛先の認証、データの改ざん検知により、なりすまし等を防ぐことができます。ここでは、IPsecの検証環境を構築してみます。検証環境ネットワーク構成は以下のとおりです。各ネットワークを以下のように呼びます。ネットワーク2を通過するパケットをIPsecで暗号化します。クライアント、サーバの版数CentOSの版数は以下のとおりです。(Core)カーネル版数は以下のとおりです。ルータの版数AlmaLinuxの版数は以下のとおりです。Tiger)カーネル版数は以下のとおりです。事前準備ここでは、ルーティング機能の有効化、およびルーティングテーブルの設定について説明します。その他(仮想マシンへのNIC追加、IPアドレス設定)の説明は割愛します。ルーティング機能の有効化ルータ1のルーティング機能を有効にします。1ルータ2のルーティング機能を有効にします。クライアントルーティングテーブルを設定します。192.168.10.10"ルーティングテーブルを確認します。ルータ1ルーティングテーブルを設定します。192.168.20.10"ルーティングテーブルを確認します。ルータ2ルーティングテーブルを設定します。192.168.20.10"ルーティングテーブルを確認します。サーバルーティングテーブルを設定します。192.168.30.10"ルーティングテーブルを確認します。firewalldの停止(暫定対処)本来ならfirewalldは適切に設定して起動しておく必要があります。今回、firewalldにパケットフォワーディングの設定方法がわからなかったので、firewalldは停止しました。疎通確認クライアントからサーバまでの経路を確認するため、クライアントでtracerouteコマンドを実行します。echoパケットが、ルータ1、ルータ2、サーバの各eth1を通過していることがわかります。hana_shinのLinux技術ブログを参照してください。!X次は、サーバからクライアンとまでの経路を確認するため、サーバでtracerouteコマンドを実行します。echoパケットが、ルータ2、ルータ1、クライアントの各eth2を通過していることがわかります。ルータ1ルータ1にlibreswanパッケージをインストールします。libreswanipsecの版数を確認します。ルータ2ルータ2にlibreswanパッケージをインストールします。libreswanipsecの版数を確認します。ルータ1とルータ2で同じキー(net1234567890)を設定します。verifyの実行結果でWarnigがでるので、ある程度の長さにします。IPsecを実行するインタフェースのIPアドレスを設定します。ルータ1でPSKの設定をします。"net1234567890"ルータ2でPSKの設定をします。"net1234567890"次に、ネットワーク1とネットワーク3でやりとりするパケットの暗号化に関する設定をします。ルータ1で定義ファイルを編集します。~]#ルータ2で定義ファイルを編集します。verifyを実行して正しい設定かどうかを確認します。OK以外の項目については、設定を変更してOKになるようにします。verify初回実行時、以下のような結果になりました。ルータ2でも同じように実行します。DISABLED"、"ENABLED"を消すため、以下の設定をしました。ルータ2でも同じ設定をします。0システム起動時、ipsecサービスを起動するようにします。/usr/lib/systemd/system/ipsec.service.システムを再起動します。verifyを実行します。DISABLED"、"ENABLED"が出力されなくなったことがわかります。SA確立時の確認ルータ2でtcpdumpを実行します。ipsec.pcapルータ2でipsecサービスを起動します。ipsec.serviceルータ1でipsecサービスを起動します。ipsec.service採取したパケットキャプチャをWiresharkで確認してみます。ESPパケットの確認クライアントでpingコマンドを実行します。このとき、ルータ2でtcpdumpを実行して、eth1を通過するパケットをキャプチャします。ipsec.pcapクライアントでpingコマンドを実行します。192.168.30.20採取したパケットキャプチャをWiresharkで確認してみます。ルータ1とルータ2でやり取りするICMPパケットが暗号化(ESPパケット)されていることがわかります。IPコマンドによる状態確認ルータ1でipコマンドを実行します。0x00000000ESPパケットの送受信をモニタします。monitorクライアントでpingコマンドを実行します。192.168.30.20ipコマンドの実行結果を確認すると、ルータ1とルータ2の間でESPパケットを送受信していることがわかります。その他ipsecサービスを起動するとplutoが動き出します。plutoは鍵交換を行うプロセスです。ルータ1とルータ2のplutoが定期的に鍵を交換します。ここでは、ルータ1でpsコマンドを実行してplutoの状態を確認します。私が業務や記事執筆で参考にした書籍を以下のページに記載します。)はてなブログをはじめよう!hana_shinさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。