Author: Ryosuke Sekido

  • Fedora 35に更新

    リリースされたので更新しました。

    (more…)
  • WSL2のポートへlocalhostで接続する

    次の設定ファイルをユーザホームディレクトリ直下(%USERPROFILE%\.wslconfig)へ置くことで接続できた。この設定ファイルはWSL 2の共通設定のため、ファイルを更新した後はPowerShell等からwsl –shutdownを実行しWSL 2の再起動を実施する。

    [wsl2]
    localhostForwarding=True

    確認環境はWindows 10 Pro, Version 2004 (19041.450)。

    試行錯誤している中でいくつかうまく行かなかったことがあるので記録に残しておくと、利用可能だが設定しないキーの行を#でコメントアウトしていたが、コメントアウトとして扱われなかった。

    WSL2内で立ち上げたサーバにWindows側からlocalhostで接続する – Qiita
    https://qiita.com/snaka/items/a8eee4cfc8f7d733e6ab

    WSLのドキュメント
    https://github.com/MicrosoftDocs/WSL/blob/669ba5b79bcad4b6703074f803a8c6fcb5e3e28a/WSL/wsl-config.md#configure-global-options-with-wslconfig

  • VS codeのウィンドウ枠に色をつける

    Theme Color | Visual Studio Code Extension API に設定値が書かれています。settings.jsonへ記します。

        "workbench.colorCustomizations": {
            "window.activeBorder": "#00d300",
            "window.inactiveBorder": "#9dee9d"
        }
    • VS code 1.47.2

  • DNS構築

    192.jpゾーンを立てました。

    DNSの設定

    VPS内に構築するDNSは外部から見えないため、よく使われるBINDでも良いのですが、ものは試しでNSDを使うことにしました。

    NSDはFedoraリポジトリに置かれているため、DNFで入れました。

    $ sudo dnf install nsd

    その上で、ゾーンファイルとゾーン設定ファイルを作成します。ここではゾーン設定ファイルを示すのみで、ゾーンファイルは省略します。

    $ cat /etc/nsd/conf.d/192.jp.zone.conf
    zone:
        name: 192.jp
        zonefile: /etc/nsd/conf.d/192.jp.zone
        notify: 210.188.224.9  NOKEY       # ns1.sakura.ad.jp
        notify: 210.224.172.13 NOKEY       # ns2.sakura.ad.jp
        provide-xfr: 210.188.224.9  NOKEY  # ns1.sakura.ad.jp
        provide-xfr: 210.224.172.13 NOKEY  # ns2.sakura.ad.jp
        outgoing-interface: 153.127.66.42

    ゾーン更新時の通知先を指定するnotify、および許可するゾーン転送サーバを指定するprivide-xfrで指定しているIPアドレスはドキュメントに書かれているものになります。

    ※ プライマリネームサーバにて弊社ネームサーバ(210.188.224.9 / 210.224.172.13)からの問い合わせを許可するように設定してください。

    ネームサーバ利用申請 – さくらのサポート情報

    セカンダリDNSサーバのみ公開

    続いてVPS内のDNSサーバを一般に公開せず、セカンダリDNSサーバのみアクセス可能にします。Fedora 32での標準的なパケットフィルタであるFirewalldを使って対応しました。

    まずIPアドレスベースで通信の許可を設定します。Firewalldではzoneを分けることで設定しますので、dns-secondaryというゾーンを作成し、送信元IPアドレスを設定しました。これによりセカンダリDNSサーバからの問い合わせ通信はdns-secondaryで処理されます。そしてこのゾーンにdnsサービスの許可を指定します。具体的には次のコマンドを実行しています。

    $ sudo firewall-cmd --permanent --new-zone=dns-secondary
    $ sudo systemctl reload firewalld
    
    $ sudo firewall-cmd --zone=dns-secondary --add-source=210.188.224.9
    $ sudo firewall-cmd --zone=dns-secondary --add-source=210.224.172.13
    
    $ sudo firewall-cmd --zone=dns-secondary --add-service=dns

    ここまでの変更は直ちに反映されますので、この状態で次の確認を行いました。

    • セカンダリDNSサーバからのDNS問い合わせへ応答していること(tcpdumpを使って確認)
    • ほかのホストからDNS応答がないこと(手元から確認)

    接続の確認が終わったら設定ファイルへ書き出し、サーバの再起動以降も通信許可設定が適用される設定とします。

    $ sudo firewall-cmd --runtime-to-permanent

    以上で設定を終えました。

  • サーバ構築中

    ふたたびゼロからサーバ構築を始めました。

    なぜサーバを構築するのか?

    AWSやAzureといったパブリッククラウド基盤が一般的になり、基盤の面倒を見なくて良い世界になりつつあります。アプリケーション開発においてもDockerコンテナを使うことで、基盤部分とアプリケーション部分の分離が進んでいます。

    一方でクラウドサービスもコンテナ技術も、一般的なサーバ上に構築されています。数年経つことで新しい技術・実装もあるので、復習を兼ねて新しくサーバを構築することにしました。

    ホスト先をどこにするか?

    今は様々なパブリッククラウドを使う機会に恵まれているため、いままで利用していたさくらインターネットのVPSを選択しました。

    OSは何にするか?

    今回はFedoraにしました。現時点で最新の32にしています。

    今まではRHEL互換のCentOSを使うことが多かったですが、CentOS 7から8へ公式のバージョンアップがサポートされていませんでした。Fedoraは半年に1回のバージョンアップを行う必要はあるもののバージョンアップの対応は可能なので、長期的にみてメリットが大きいと考えました。