メインコンテンツへスキップ
見出し画像

防犯・見回りのモニタリングシステムをラズパイで作る(8)-Wireguardインストール・コンフィグ作成

    ラズパイを使った遠隔アクセスのモニタリングシステムです。
    Windowsパソコン、スマホなどから、どこからでもモニタできます。
    Webカメラ、IPカメラが使えます。

    前回は、Wireguardサーバを起動する前準備となるUbuntuとしての初期設定まで行いました。

    目的は、AWS上のUbuntuサーバにWireGuardサーバを構築し、ラズパイをクライアントにしてVPN通信をすることです。
    モニタするクライアントとしては、Windowsパソコン、iPhone、Androidを構成要素とします。

    今回は、Wireguardのインストールとコンフィグの設定の仕方を説明します。

    今回の(8)Wireguardインストール・コンフィグ作成  の説明を、NotebookLMを使って説明動画を作りました。
    コンフィグの作り方(サーバ用、各端末用)がはっきりします。
    ちょっと見てみましょう!Google恐るべき!!


    1.Wireguardインストール

    【手順の要点】
    ●パッケージの更新とOS最新化
    sudo apt update
    sudo apt -y upgrade

    ● WireGuard をインストール
    sudo apt-get install wireguard

    ● 暗号鍵のキーペアの生成
    sudo -s
    cd /etc/wireguard
    umask 077
    wg genkey >privatekey
    wg pubkey < privatekey > publickey

    ●秘密鍵の内容は、cat コマンドでわかる
    root@ip-10-21-30-82:/etc/wireguard# cat privatekey

    ●公開鍵の内容は、cat コマンドでわかる
    root@ip-10-21-30-82:/etc/wireguard# cat publickey

    ● IPv4フォワーディングを有効化(設定を変更)
    sed -i 's/^#\(net\.ipv4\.ip_forward\)/\1/' /etc/sysctl.d/99-sysctl.conf

    ※ 28ステップ目を確認。上記コマンドにより、#(コメント)が無くなっている。

    ● WireGuard 設定ファイル生成(サーバ)
    vi /etc/wireguard/wg0.conf

    [Interface]
    Address = 10.0.0.240
    ListenPort = 51820 ←①
    PrivateKey = 0vHePn1/mNIsL8ihQDvuF/eLW7AV33OeVGTlkePfdjj= ←②
    PostUp = iptables -A FORWARD -i %i -j ACCEPT;iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE ←③
    PostDown = iptables -D FORWARD -i %i -j ACCEPT;iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE ←④
    [Peer]
    PublicKey = 75kpoDAT/zj7WJJuZTBF23cmOsOriSHXEZFEs0ub438= ←⑤
    AllowedIPs = 10.0.0.1/32 ←⑥

    ①WireguardサーバのIPアドレス
    ②Wireguardのポート番号
    ③④インターフェイス起動/終了時に任意コマンドを実行
    (iptablesコマンドを指定して、インターフェイスが起動している間だけ、
       iptablesにIPマスカレードの設定を追加するようにします)
    ⑤クライアント用に作成した公開鍵
    ⑥クライアントのIPアドレス

    ● WireGuard 設定ファイル生成(クライアント)
    [Interface]
    Address = 10.0.0.101 ←①
    PrivateKey = eLz+MvT4bz+v9on1SwrN3neN7MIfoF5xRXlvi0z+/V8= ←②
    [Peer]
    PublicKey = CidlKAsWWT4KemDnq6B7kDR/Ouui2m443tXkK+esQlc= ←③
    AllowedIPs = 10.0.0.0/24, 192.168.1.0/24 ←④
    Endpoint = 12.345.678.91:51820 ←⑤
    PersistentKeepalive = 25

    ①クライアントのIPアドレス
    ②クライアント用に作成した秘密鍵
    ③先ほど作成したWireguardサーバ公開鍵
    ④パケットを送信する宛先IPアドレスのリスト
    ⑤WireguardサーバのIPアドレスとWireguardのポート番号

    ● WireGuardが利用するwg0インターフェイスを確認
    ip addr show dev wg0

    ● WireGuardの稼働状態
    wg

    ● WireGuard サーバを起動
    wg-quick up wg0

    ● WireGuard サーバを停止
    wg-quick down wg0

    ●Wireguardの自動起動設定
    sudo systemctl enable wg-quick@wg0
    sudo systemctl start wg-quick@wg0

    Wireguardインストール、Wireguardサーバコンフィグ、各クライアントコンフィグ

    【操作履歴】(緑マーカーが入力行)

    画像
    Wireguardインストール
    画像
    Wireguardサーバの秘密鍵・公開鍵の生成
    画像
    IPv4フォワーディング有効化とWireguardサーバのコンフィグ
    画像
    クライアント端末のコンフィグ、Wireguardを起動
    画像
    自動起動設定とサーバでのルーティングを許可する
    画像
    Wireguardサーバと接続クライアントの稼働状態確認
    画像
    Wireguardサーバと接続クライアントの疎通確認

    画面が細かくて、見づらいので、内容をEXCELで用意しました。


    2.コンフィグの作成


    前項のWireguardインストールでは、VPNネットワークが正しく作成されたかを確認するために、最小限の暗号鍵のキーペアの生成、サーバコンフィグの作成、クライアントコンフィグの作成を行って、pingによるテストをしました。

    そして、目的のシステムを稼働するためには、システムを構成するすべての端末のコンフィグを作成しなければなりません。

    実際のシステム構築のときには、構成端末のIPアドレス表を用意して、各端末の暗号鍵のキーペアの生成、サーバーコンフィグへの追加、個別のクライアントコンフィグの生成を順番に実施します。

    画像
    ネットワーク設計
    画像
    サーバ、クライアントの秘密鍵・公開鍵のまとめ
    画像
    Wireguardサーバのコンフィグ作成(wg0.conf)
    画像
    各クライアント端末のコンフィグ

    画面が細かくて、見づらいので、内容をEXCELで用意しました。


    AWSクラウドにWireguardサーバを構築し、ネットワークの準備は終わりましたので、次回は最後にモニタリングをどこでも簡単にできるようにします。

     
     
    ①Webカメラ・モニタリングシステム:熊谷市内6箇所で防犯見守り・経過3年 ②AWSクラウド・インフラ構築:基本Sec対策 / WAF / ControlTower導入・経過3年 ③AIツールDifyを売込中 ネットワークスペシャリスト、AWS認定セキュリティ

    あなたへのおすすめ