タグ: サーバー

  • OpenVPN Easy-RSA では Source する必要がないらしい

    ファイル:OpenVPN logo.svg

    これは何?

    sudo apt install openvpn easy-rsa
    make-cadir ~/hoge
    cd ~/hoge
    source vars

    と入力したところ

    You appear to be sourcing an Easy-RSA *vars* file. This is
    no longer necessary and is disallowed. See the section called
    *How to use this file* near the top comments for more details.

    といった注意分が出力されました。
    これについての記事です。

    環境

    2024/07/19

    • Distributor ID: Ubuntu
    • Description: Ubuntu 24.04 LTS
    • Release: 24.04
    • Codename: noble

    結論


    最新のEasy-RSA 3.xではsource varsを使う必要はありません。

    各操作に必要な設定は、直接コマンドラインから行うか、コマンドに組み込まれたオプションとして設定されます。

    これにより、手順が簡素化され、直接的な設定が可能になっています。

    PKI (Public Key Infrastructure)初期化

    PKIは、公開鍵と秘密鍵のペアを管理し、デジタル証明書を発行、管理するシステムです。これにより、安全な通信やデータの保護を実現します。

    ./easyrsa init-pki

    CA (Certificate Authority)作成

    CAは、デジタル証明書を発行し、署名する機関です。信頼されたCAによって発行された証明書は、通信相手の信頼性を保証します

    ./easyrsa build-ca nopass

    サーバー証明書リクエストを作成


    サーバー証明書リクエストは、サーバーが自分の公開鍵と一部の識別情報をCAに送信して証明書の発行を依頼するためのデータファイルです。CAはこのリクエストを受けて、サーバーに対して証明書を発行します。

    ./easyrsa gen-req server nopass

    リクエストを署名

    ./easyrsa sign-req server server
  • Ubuntu ip addr コマンドとは?

    ❓ これは何

    Ubuntu での ip addr コマンドについてのまとめ記事です。
    ip addr コマンドは Linux で IP アドレスの確認ができるコマンドです。

    しかし初心者では何がなんのかがわからないので、
    ちょっとしたメモ兼チートシートと思い書きました。

    間違っている部分があれば訂正いたします。お手数ですが、発見した場合コメントお願いいたします。

    青背景は補足です、読み飛ばしていただいてOKです。

    ✒️ 解説

    ip addr コマンドを実行すると、
    システム上のすべてのネットワークインターフェースと
    その詳細のIPアドレス情報を表示できます。

    ip addr

    出力結果は次のようになります。(例)

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
        link/ether 01:23:45:67:89:ab brd ff:ff:ff:ff:ff:ff
        inet 192.168.1.2/24 brd 192.168.1.255 scope global dynamic eth0
           valid_lft 86397sec preferred_lft 86397sec
        inet6 fe80::1234:5678:9abc:def0/64 scope link 
           valid_lft forever preferred_lft forever

    インターフェース番号と名前

    1: lo と 2: eth0 など、ネットワークインターフェースの識別子と名前を示します。

    lo はループバックインターフェースを表し、通常は 127.0.0.1 のIPアドレスを持ちます。


    ループバックインターフェースは自分自身を指す仮想的なネットワークインターフェースのことです。127.0.0.1 は localhost とも呼ばれます。

    eth0 とあれば、通常のイーサネットインターフェース(有線LAN)を表します。

    enp3s0, wlp2s0 と表示されている場合

    • en:Ethernet(有線)のインターフェース。
    • wl:Wireless LAN(無線)のインターフェース。

    この後に続く文字と数字は、インターフェースの物理的な位置を示します。

    • p3:PCIEスロット3に接続されていることを示します。(自作PCやったことある方ならわかると思う)
    • s0:デバイスのファーストファンクション(ファンクション0)を示します。
    🐏 PCIデバイスとファンクション

    PCIデバイスは、1つの物理カード上に複数の機能(ファンクション)を持つことができます。
    例えば、1つのPCIカードがネットワークインターフェースとストレージコントローラーの両方を提供する場合、そのカードには複数のファンクションがあります。

    各ファンクションは、次のように識別されます

    • ファンクション0(Function 0):ファーストファンクション。デバイスの最初の機能。
    • ファンクション1(Function 1):セカンドファンクション。デバイスの2番目の機能。
    • 以降、最大 ファンクション7(Function 7)まで。

    インターフェースの状態

    <LOOPBACK,UP,LOWER_UP> や <BROADCAST,MULTICAST,UP,LOWER_UP> はインターフェースのフラグを示します。例えば、UP はインターフェースがアクティブであることを意味します。

    mtu はインターフェースの最大転送単位を示します。これは、ネットワークパケットの最大サイズです。

    😞 1500だと1Gbps とからしい。mtu がすなわち転送速度というわけではないので、ちょっとむずい

    qdisc はキューイングディシプリンを示します。

    state はインターフェースの状態を示します (UP や UNKNOWN など)。

    リンク層のアドレス

    link/loopback や link/ether はリンク層の種類を示します。

    00:00:00:00:00:00 や 01:23:45:67:89:ab はMACアドレスを示します。

    IPv4アドレス

    inet 127.0.0.1/8 や inet 192.168.1.2/24 はIPv4アドレスとそのサブネットマスクを示します。

    scope はアドレスのスコープを示し、host や global などがあります。

    valid_lft と preferred_lft はアドレスの有効期限を示します。

    valid_lft(Valid Lifetime)と preferred_lft(Preferred Lifetime)は、IPアドレスの有効期限を管理するために使用されるパラメータです。

    Valid Lifetime(有効ライフタイム)

    • 定義:valid_lft は、IPアドレスが有効である期間を示します。この期間が過ぎると、IPアドレスは無効とみなされ、もはや使用できなくなります。
    • 用途:このパラメータは、アドレスの自動管理と更新のために使用されます。例えば、DHCPやIPv6のアドレス自動設定(SLAAC)で利用されます。

    Preferred Lifetime(推奨ライフタイム)

    • 定義:preferred_lft は、IPアドレスが優先される期間を示します。この期間中は、アドレスは「優先アドレス」として使用されます。推奨ライフタイムが過ぎた後でも、valid_lft が有効である限りアドレスは使用可能ですが、「非優先アドレス」として扱われます。
    • 用途:新しい接続やセッションには優先アドレスが使用され、既存の接続には非優先アドレスが使用され続けます。これにより、アドレスの更新や再割り当てがスムーズに行われます。

    IPv6アドレス


    inet6 ::1/128 や inet6 fe80::1234:5678:9abc:def0/64 はIPv6アドレスとそのプレフィックス長を示します。

    特定のインターフェースの情報を見る

    次のコードで表示できます
    また以下のオプションもよく使います。

    • ip addr show up:アクティブなインターフェースのみを表示します。
    • ip -4 addr:IPv4アドレスのみを表示します。
    • ip -6 addr:IPv6アドレスのみを表示します。
    ip addr show eth0

    参考文献

    how find your IP address in Linux

    https://opensource.com/article/18/5/how-find-ip-address-linux

  • DS-lite, PPPoE, L2TP, PPTP, v6 plus, MAP-E の違いは?

    これは何?

    ルーターの設定中にインターネットの接続方式が色々とあり、
    どれがどういう意味なのかを調べた記事です。

    青背景は前提知識なので読み飛ばしていただいて構いません。

    解説?

    解説と言ってはなんですが、ちょっとしたまとめです。
    正しいか微妙なので、後述の参考文献をご確認ください。

    IPv4 とは?

    IPv4(Internet Protocol version 4)は、インターネット上でデータを送受信するための主要なプロトコルです。IPアドレスと呼ばれる32ビットの数値(例:192.168.0.1)を使って、ネットワーク上のデバイスを識別します。

    特徴

    • 32ビットのアドレス空間(約42億個のアドレス)
    • パケット通信を利用
    • サブネットマスクを使ってネットワークの区分けが可能

    IPv6 とは?


    IPv6(Internet Protocol version 6)は、IPv4の後継として開発されたプロトコルで、より多くのIPアドレスを提供します。128ビットのアドレス空間を持ち、IPv4に比べて遥かに多くのデバイスをユニークに識別できます

    IPv4 の課題

    1. アドレス枯渇

    IPv4の32ビットアドレス空間では約42億個のアドレスしか提供できません。
    インターネットの普及とともに、これらのアドレスが急速に枯渇しています 。
    そのため現在ではIPv4は各契約者ごとに振り分けれらるのではなく、プロバイダ側で一つの公的IPアドレスを使って複数の家庭で使えるように割り振っている場合があります。

    2. セキュリティ

    IPv4は設計上、セキュリティ機能が十分ではありません。IPsecなどのセキュリティ機能は追加できますが、デフォルトでは含まれていません。

    このような問題に対処するために、後述のDS-Lite や MAP-E が出てくるわけです。

    DS-Lite (Dual-Stack Lite)

    私は楽天ひかりを契約していのですが、標準の設定ではこちらの設定がお勧めされており、DS-Lite利用していました。

    DS-Liteは、IPv4アドレスの枯渇に対応するための技術で、IPv4パケットをIPv6パケットにカプセル化してインターネットに送る方法です。
    ユーザーが送信するIPv4パケットをIPv6パケットに包んでプロバイダに送り、プロバイダが再びIPv4パケットに戻してインターネットに接続します。

    ポイント

    • IPv4とIPv6を同時に使う
    • IPv4アドレスの枯渇問題に対応
    • NATがプロバイダー側で行われるので、ポートの解放が難しい

    MAP-E (Mapping of Address and Port using Encapsulation)

    MAP-Eは、IPv4アドレスの共有を可能にするIPv6移行技術です。
    IPv4パケットをIPv6にカプセル化し、IPv6インフラを利用してIPv4通信を行います。
    これにより、ISPは複数のユーザーが一つのIPv4アドレスを共有できるようになります  。

    ポイント

    • NAT がルーター側で行われるので、ポートの解放が可能

    PPPoE (Point-to-Point Protocol over Ethernet)

    PPPoEは、イーサネットネットワーク上でPPPセッションを確立し、ユーザー名とパスワードを使用して認証を行うプロトコルです。
    主にDSL接続で使用され、家庭内の複数のデバイスがインターネット接続を共有するのに適しています 。

    ポイント

    • 認証機能がある

    L2TP (Layer 2 Tunneling Protocol)

    L2TPは、VPN(仮想プライベートネットワーク)を確立するためのプロトコルです。
    PPTPとL2Fの機能を組み合わせており、PPPパケットをIPパケットにカプセル化してインターネット上で伝送します。
    L2TPは様々なネットワークタイプで使用でき、強力な暗号化と認証機能を提供します 。

    ポイント

    • VPNを作るために使用
    • 強力な暗号化と認証機能を提供
    • 多様なネットワークで使用可能

    PPTP (Point-to-Point Tunneling Protocol)


    PPTPもVPNを作るための技術ですが、L2TPほどのセキュリティはありません。
    リモートユーザーが安全にプライベートネットワークに接続するために使われます。

    ポイント

    • 簡単なVPNを作るために使用
    • セキュリティは低め
    • 古い技術で、新しい技術に置き換わりつつある

    v6プラス

    v6プラスは、IPv6とIPv4を同時に利用可能にする技術で、IPv6ネットワーク上でIPv4の通信を可能にします。これにより、IPv4アドレスの枯渇問題を解決しつつ、既存のIPv4サービスにもアクセスできます。

    NTT等がやってる日本の規格らしく?DS-Liteと似たような仕組みだなと思いました。

    結局?

    合ってるかわからないけど、総評。間違ってたらめちゃくちゃカスです。ごめんなさい。

    Pv4 は遅い云々の前に、そもそも枯渇してるから、
    1ルーターにつき一つじゃないから(数十家庭で1個のレベル?)ポートの解放が必要になる
    そうなるとv4 to v6の切り替えが発生する DS-Lite, Map-Eは難しい(少なくとも家庭用ルーターのtp-link archar ax10ではできない)から
    PPPoEにしなきゃいけないんだけど、これは認証の手間が入るから普段のネット回線でも使うルーターに割り当てるのは酷

    結局IPv6だとグローバルで、ネットワークに直結できるから(数がめちゃくちゃあるから機器ごとに持たせられるため?)
    PC側の設定だけで、ルーターはDS-Liteのまま公開できるという知見を得た。

    参考文献様

    DS-Lite とは?
    https://techlog.iij.ad.jp/archives/1254

  • 【NAS】ライトルームに読み込めない

    😸 これは何

    Lightroom Classic から、自宅サーバーに写真の入ったSDカードのデータを読み込ませる際に、下記のポップアップとエラーが出てしましました。

    書き込みが可能ではないため、保存先フォルダーにファイルをコピーできませんでした。(482)

    また、左サイドバーのフォルダーの項目のShareにもファイルが表示されていない状態です。

    この記事ではこちらの解決策を紹介します。

    🪴 環境

    サーバー側

    • Distributor ID: Ubuntu
    • Description: Ubuntu 24.04 LTS
    • Release: 24.04
    • Codename: noble
    • samba

    mac

    • sonoma 14.5(23F79)
    • Apple M1
    • 16GB

    🛠️ 手順

    まずは、フォルダのアクセス権限を確認します。
    該当フォルダを右クリックし、「情報を見る」をクリックするとウィンドウが出ると思います。
    ここで「読み込みのみ」になっている場合はサーバー側(Samba等)の設定を見直してみましょう。

    画像では「読み/書き」になっているので問題ない。

    なぜか結構苦労して、SCSiを導入しようと思ったところで、左側のタブに表示されたshare(自宅サーバーに設定した名前)のところから右クリックして「フォルダーを同期」を押したところできました。

    「フォルダーを同期」を押すと次画像のポップアップが出ると思います。
    ライトルームがネットワークボリュームにアクセスできる権限を渡してあげるのがミソみたいです。

    😒 これでも解決しない方へ

    ここまででフォルダを読み込むことができるようになったのですが、
    やはり書き込み(SDカードからサーバーへの読み込み)ができないので、Ubuntu側で権限の確認をしました。

    Ubuntu で該当ディレクトリ(私の場合はAllBackupというフォルダに全ての写真が入っている)に移動し、権限を確認します。
    権限の確認は

    ls -l

    でできます。

    これで確認すると AllBackup のみ -xr つまり、writeができない設定になっていました。

    macのFinderで情報を見ると読み込み書き込み可能になっていたが、Ubuntu上ではそうで無かったのでなかなか気付けませんでした。

    AllBackupの下層フォルダごと権限変更をするにはchmodにRオプションをつけます。

    sudo chmod -R 777 フォルダ名

    これで解決しました!!!

  • 【Ubuntu】mac os からリモートデスクトップで接続する

    ❓ これは何

    mac os から Ubuntu にリモートデスクトップで接続する方法についてです。

    🪴 環境

    • Distributor ID: Ubuntu
    • Description: Ubuntu 24.04 LTS
    • Release: 24.04
    • Codename: noble

    🛠️ 手順

    🐧 Ubuntu側

    Settingsアプリを立ち上げます。
    左のタブから「System」を選択します。
    (前までSharingにありましたが移動したようです。)

    Remote Desktop を押したら次のような画面になります。
    Desktop Sharing, Remote Control をオンにします。
    Username, Port, Login Details を埋めてください。
    ここで設定したものは mac os 側でのちに入力します。

    🍎 mac os 側

    Microsoft Remote Desktop をダウンロードしましょう。https://apps.apple.com/jp/app/microsoft-remote-desktop/id1295203466?mt=12

    Microsoft Remote Desktop が開いたら、「Add PC」を押しましょう。

    PC name の項目に 「あなたのパソコンの名前.local:ポート番号」と入力しましょう。
    User account を追加しましょう。先ほどUbuntu側で設定したものです。
    最後にGateway からポート番号を入力してください。
    「Save」を押したら完了です。

    接続完了!やったー

  • Ubuntu ファイルタイプBtrfsの選択するまで

    ❓ これはなに

    Ubuntu でディスクをフォーマットする際のファイルタイプをBtfrsにするまでの記事です。

    なるべくGUIでやります。

    🌵 環境

    • Distributor ID: Ubuntu
    • Description: Ubuntu 24.04 LTS
    • Release: 24.04
    • Codename: noble

    👈 手順

    disk アプリを開いて、フォーマットをしようとすると下記画像のように標準ではBtrfsが選択できないと思います。

    terminal を開きます。

    まずはお決まりの。これですべてのパッケージをアップデートします。

    sudo apt update

    次に Btrfs のパッケージをインストールします。(-yオプションはYes/Noを省略できるもの)

    sudo apt install btrfs-progs  -y

    これで完了です。

    Diskアプリを開き、ディスクを選択します。
    ボリュームのグラフの下に⚙歯車アイコンがあると思うので、
    そちらのFormat Partition… を選択。

    ファイルタイプの選択でOtherを選択して、Nextすると、

    こんな感じで選べるようになったと思います!

    以上です