DNS入門:dig/nslookup/resolvectlの実践と安全トラブルシュート

【初心者向け】もう怖くない DNS:dig / nslookup / resolvectl 実践と安全トラブルシュート

🚀 はじめに:この記事でできること DNSの基礎から実務で使う観測・切り分け手順、ローカル開発向けの設定までを、失敗しやすいポイントの回避策とセットで身につけます。 「DNSとは何か」を図解レベルで直感理解 dig / nslookup / resolvectlで原因の切り分け Linuxでの/etc/resolv.confの扱いと設定の効かせ方を確認 軽量DNS(dnsmasq)でローカル開発の名前解決を構築 つまずきチェックリストで未然に防止 初心者でも安心:難しい用語は具体例とコマンドでフォローし、落とし穴は対策までセットで提示します。 🧭 前提:必要な環境と対象読者 本記事のコマンドはLinux/macOS/WSL2を中心に説明します。権限昇格(sudo)やネットワーク設定変更が含まれます。 必要な環境 Linux(Ubuntu/Debian/Fedora/Arch等)または macOS(Homebrew) ネットワーク設定の変更権限(sudo) パッケージ管理コマンド(apt / dnf / pacman / brew) 想定する読者 コマンドに抵抗がない初学者〜中級者 アプリ/インフラ開発で名前解決の切り分け力を高めたい人 ローカル開発で独自ドメインを使いたい人 ポイント ディストリごとにパッケージ名が異なる場合があります(例:dnsutils / bind-utils)。後述の操作例で確認・置換してください。 💡 概要:DNSの仕組みとキーワード DNSの全体像を短時間で掴み、後続の手順の理解を早めます。 DNSとは何か DNS(Domain Name System)は、人が覚えやすい名前(example.com)をIPアドレス(93.184.216.34)へ変換する仕組み 役者: リカーシブDNS(再帰リゾルバ):ユーザーの代わりに答えを探す代理人 権威DNS:ドメインの正解を持つサーバ キャッシュ:一度調べた答えをTTLの間だけ保存して高速化 DNSの基本的な流れ(概念図) [あなたのPC] | | ①「example.com のIP教えて!」 v [リカーシブDNS(再帰DNS)] | | ② 権威DNSまで問い合わせを代理で実行 v [権威DNS(example.com の正解を持つ)] | | ③「正しいIPアドレスはこれ!」 v [リカーシブDNS] | | ④ 結果をPCに返す(キャッシュに保存) v [あなたのPC] 問い合わせの実態(段階的解決) [PC] | |-- ①「example.com のIP教えて?」 v [リカーシブDNS] | |-- ②「.(ルートDNS)教えて」 v [ルートDNS] | |-- ③「.com のDNSはここだよ」 v [TLD DNS (.com)] | |-- ④「example.com のDNSはこれ」 v [権威DNS(example.com)] | |-- ⑤「Aレコード(IPv4)は 93.184.216.34 だよ」 v [リカーシブDNS] | |-- ⑥ PCに返す(キャッシュする) v [PC] キャッシュ(高速化の要) ┌─────────────────────────────┐ │ リカーシブDNSのキャッシュのイメージ │ └─────────────────────────────┘ [キャッシュ DB] ├ example.com → 93.184.216.34(TTL 300秒) ├ google.com → 142.250.72.206(TTL 120秒) └ cloudflare.com → 104.16.133.229(TTL 180秒) ※ TTL が切れたら破棄して再問い合わせ ☆ キャッシュがある場合のフロー: [PC] | |「example.com教えて」 v [リカーシブDNS] | |(キャッシュ確認 → まだ有効) | v [PC] ← すぐ返る(高速) DNSの役者(登場人物まとめ) ┌───────────────┬─────────────────────┐ │ DNSの役割 │ 説明 │ ├───────────────┼─────────────────────┤ │ PC(クライアント) │ 「名前 → IP」の回答を受け取る者 │ │ リカーシブDNS │ 問い合わせを代行してくれる代理人 │ │ ルートDNS │ 世界のDNSの最上位(13セット) │ │ TLD DNS (.com等) │ ドメインの種類を管理する局 │ │ 権威DNS(Authoritative) │ ドメインの“正解”を持つサーバ │ └───────────────┴─────────────────────┘ DNSレコードの種類(A・AAAA・CNAME・MX・TXT) example.com の DNS レコード一覧(例): A → IPv4(例:93.184.216.34) AAAA → IPv6(例:2606:2800:220:1:248:1893:25c8:1946) CNAME → 別名(example.com → www.example.com) MX → メールサーバ TXT → SPF/DKIM などのテキスト情報 レコード同士の関係イメージ: example.com (A) ─────→ 93.184.216.34 www.example.com (CNAME) ─→ example.com mail.example.com (MX) ──→ 10 smtp.example.com 🛠️ Step 1:ツールの導入と現在地の確認 必要なツールを入れて、いまどのDNSを参照しているかを素早く把握します。 ...

TermuxとPythonの実践ガイド

【初心者向け・実践完全版】Termux+Pythonでできること10選|スマホだけで始める開発・自動化ガイド

🚀 はじめに:この記事でできること Termux は、Android 上に Linuxライクなコマンドライン環境 を用意できる強力なアプリです。 この記事では、Termux に Python を導入し、「スマホだけでできる10の実践例」 を通して、開発・自動化の第一歩を具体的な手順で解説します。 この記事を読むとできること Termux を安全にインストールし、Python を正しく動かせる スマホだけで Linux コマンド・Python スクリプト・pip を使いこなせる Webスクレイピング・APIアクセス・自動バックアップ・通知・簡易Webサーバーなど 10の実用パターン を理解できる 想定している読者 スマホだけでプログラミングを始めたい人 PCがなくても Python を学びたい人 Termux を入れたけれど、「結局何ができるの?」から抜け出したい人 エラーや設定でつまずきたくない初心者 補足 すべての例は「実際に動くこと」を前提にしています。環境の違いで動かない可能性がある箇所は、注意点や回避策もあわせて紹介します。 💡 Termux+Pythonの概要と前提 Termux で何ができるかを整理しつつ、この記事で前提とする環境を明確にします。 操作 Android に Termux をインストールし、Linuxコマンドと Python を使う パッケージ管理コマンド pkg を使って必要なツールを導入する 目的 「Termux+Python」という組み合わせのイメージを掴み、何ができる環境なのか を理解する 後続の手順で混乱しないよう、前提条件をそろえる 前提 Android スマホを使用している インターネット接続がある コマンドラインにほとんど触れたことがない初心者も想定 説明 Termux には次のような特徴があります。 Linuxコマンド がそのまま使える パッケージ管理(pkg)で Python や Git が簡単にインストールできる スマホだけで開発環境が完結する Python を組み合わせることで、次のようなことが可能です。 ...

VPNサーバーの仕組みと用途、WireGuard での構築手順を解説

【初心者向け・完全版】VPNサーバーとは?仕組み・用途・自宅構築の基本をやさしく解説

🚀 はじめに:この記事でできること VPNサーバーの基本から、自宅/クラウドでの構築イメージ、WireGuard を使った Ubuntu での設定の流れまでを、初心者向けに一通り理解・実践できるように解説します。 この記事を読むと次のことができるようになります: VPNサーバーの仕組みと役割が理解できる 自宅やクラウドに VPN サーバーを構築するイメージがつかめる Linux(Ubuntu)で WireGuard を動かすための基本コマンドが分かる 初心者がつまずきやすいポイントや注意点を事前に押さえられる こんな人におすすめです: ネットワーク初心者 Linux に興味があり、環境構築を学びたい 自宅サーバーやクラウドで何かサービスを動かしてみたい 安全にリモートアクセスできるようになりたい 🧭 前提:この記事で扱う環境と想定読者 前提を明確にし、後続の手順がスムーズに進むようにします。 この記事で扱う代表構成 Ubuntu 上の WireGuard を使った VPN サーバー 前提となる環境・知識 Ubuntu 20.04 以降(または近い Debian 系ディストリビューション) sudo 権限を持つユーザーアカウント 公開ポート(UDP 51820 など)を 1 つ開けられる環境(自宅ルーター / クラウドのセキュリティグループ) cd / ls / nano / sudo など、基本的な Linux コマンドの操作経験が少しあること この記事でカバーしないもの(概要のみ) 企業向けの大規模 VPN 設計 IPsec / OpenVPN など、WireGuard 以外の実装の詳細設定 高度なセキュリティ運用(監査ログ収集、ゼロトラスト設計など) 補足 ISP の CGNAT 等により、自宅回線で外部からのポート転送ができない場合があります(この場合はクラウド設置が現実的です)。 コマンドやパッケージ名、設定ファイルの場所はディストリビューションやバージョンで変わる可能性があります。詳細は後述の「参考リンク」にある公式ドキュメントも確認してください。 💡 概要:VPNサーバーとは何か・何が便利なのか VPNサーバーとは何か? VPNサーバーとは、インターネット上に安全な“トンネル”(暗号化された経路)を作り、離れた場所からでも自宅や会社のネットワークに接続できるようにするためのサーバーです。 ...

AndroidのTermuxでUbuntuを安全に構築する方法(proot-distro)

【初心者向け・完全版】Termux+proot-distroでAndroidにUbuntu環境を構築する方法|Root不要・安全・Python開発まで

🚀 はじめに:この記事でできること Android端末(Root不要)で Termux+proot-distro を使い、Ubuntu環境を構築します。インストール→ログイン→パッケージ管理→Python開発→共有ストレージ連携までを、操作→目的→結果(この時点でできること)→注意/補足の順で丁寧に解説します。初心者が混乱しやすい前提(擬似root・systemd不可・/sdcardの扱い)も最初に整理します。 用語メモ TermuxはAndroid向けのLinux端末アプリ。PRootはユーザー空間でのchroot相当を実現、proot-distroはその管理ラッパー(配布rootfsの取得・展開・ログインを簡素化)。 🧭 前提:仕様と制限の理解(混乱しやすいポイント) 操作 以降の手順はRoot不要/スマホのみで進めます。 目的 擬似rootと本物のrootの違い、systemd不可、/sdcard連携などの制約を把握してから構築する。 結果(この時点でできること) 「動かないもの」を事前に理解し、失敗切り分けが容易になる。 注意 PRootは本物のrootではないため、systemd依存サービス・カーネル機能・Snapの多くは動作しません。サービス常駐はtmux/screen等で代替。 早見表 できる:CLI学習/Python開発/apt管理/共有ストレージ(/sdcard)連携 難しい:本格的なデスクトップ常用、systemd必須のサービス、カーネルモジュール 📱 Step 1:Termuxの準備(権限付与と更新) 目的:Termux側でパッケージ更新と共有ストレージ権限を設定し、後続のインストールとデータ連携を安定化する。 前提:Google Play版ではなく、互換性のあるTermux配布(F-Droid等)を利用している。 # パッケージリスト更新 pkg update -y # 共有ストレージ(/sdcard)へのアクセス許可 termux-setup-storage # → 権限ダイアログが出たら「許可」 結果(この時点でできること):Termuxから~/storage//sdcardが参照でき、後でUbuntu内からもデータを扱える。 注意:権限不調時は一度許可を取り消して再付与。~/storage/sharedが内部共有ストレージに対応。 🧩 Step 2:proot-distroの導入とディストロ確認 目的:proot-distroをインストールし、提供ディストリビューション(Ubuntu等)の一覧を把握する。 前提:Step 1が完了し、Termuxのネットワークが正常。 # proot-distroを導入 pkg install -y proot-distro # 提供ディストリビューション一覧 proot-distro list 結果(この時点でできること):Ubuntu(最小rootfs)の取得準備が整い、以降のinstall→loginが可能。 注意:提供バージョンはメンテナの方針で単一またはローリングの場合あり。細かな版指定は原則不可。 🏁 Step 3:Ubuntuのインストールとログイン 目的:最小rootfsをダウンロード・展開し、Ubuntu環境にログインできる状態にする。 前提:Termuxのストレージ準備・ネットワークが正常。 # Ubuntuの最小rootfsを取得・展開 proot-distro install ubuntu # ルートシェルでログイン(擬似root) proot-distro login ubuntu 結果(この時点でできること):Ubuntuシェルに入ってaptやファイル操作が可能。 注意:擬似rootであり、本物のrootが必要な操作(カーネル・systemd必須機能)は不可。 ...

Termux APIでAndroidの機能を操作する入門

【初心者向け】Termux APIでAndroidの機能を操作する入門

🚀 はじめに この記事を読み終えると、Androidの機能(バッテリー情報・位置情報・カメラ撮影・通知・トーチ・センサーなど)をTermuxのコマンドから安全に操作できるようになります。 対象読者:技術初心者〜中級者、Android×LinuxやPython、アプリ自動化に興味がある方 この記事が安心な理由: F-Droid版Termux/Termux:APIを使った最新かつ安全な導入を丁寧に解説(Google Play版は非推奨) よくあるつまずきと回避策をチェックリストで網羅 実用スクリプトをそのままコピペで試せる 用語メモ:TermuxはAndroid上のLinux環境+ターミナル、Termux:APIは「Androidの機能をコマンドから呼び出すための追加アプリ(アドオン)」です。 💡 概要解説 Termux APIとは何か Termux:APIは、Androidの機能(カメラ・位置情報・通知・センサー・SMS・通話など)をコマンドラインから扱えるようにするTermux用のアドオンです。コマンドはtermux-XXXとして提供され、スクリプトや自動化に組み込めます。 何が便利なのか GUI不要で撮影・通知・音声読み上げ・連絡先参照などが可能 シェルスクリプトやPythonと組み合わせて自動化しやすい 権限管理が明確で、必要な操作だけに限定可能(アプリ権限+Termuxパッケージ) どんな場面で使えるのか バッテリー低下時に自動通知+トーチ点灯 屋外で現在地取得→通知 撮影・メディアスキャンでギャラリー反映 定期ジョブでログ取得・センサー記録など(Job Scheduler) 📱 Step 1:インストールや前提条件 インストール元は混在させない(F-DroidとGoogle Playを混ぜると互換性問題が発生)。必ずF-Droidに統一しましょう。 # 1) Termux本体をF-Droidからインストール(推奨) # F-Droidクライアントを入れて、Termuxを検索→インストール # https://f-droid.org/packages/com.termux/ # 2) Termux:APIアドオンをF-Droidからインストール # アドオン名:Termux:API # https://f-droid.org/packages/com.termux.api/ # 3) Termuxを起動して基本セットアップ pkg update && pkg upgrade -y # パッケージを最新化(推奨) pkg install termux-api # Termux:API用のCLIを導入 # 4) 共有ストレージのアクセス権を設定(必要な場合) termux-setup-storage # ~/storage に各種シンボリックリンクを作成 termux-setup-storageを実行すると、~/storage/sharedや~/storage/downloadsなどが作成され、Androidの共有ストレージへ安全にアクセスできます。Android 11では権限再付与が必要になることがあります。 ⚙️ Step 2:基本的な使い方(まずは試す) 以降のコマンドはTermux内で実行します(Termux:APIアドオン+termux-apiパッケージが導入済みであること)。 ...

zsh + oh-my-zshでTermuxを快適なシェル環境にする方法

【初心者向け】zsh + oh-my-zshでTermuxを快適なシェル環境にする方法

🚀 はじめに Androidの Termux は、スマホでLinux的な環境を使える便利なアプリ。 この記事では zsh と oh-my-zsh を組み合わせて、オートサジェスト・シンタックスハイライト・魅力的なプロンプトを備えた、快適なシェル環境をゼロから構築します。 できるようになること Termuxに zsh を導入してデフォルト化 oh-my-zsh でプラグインとテーマを設定 Powerlevel10k + Nerd Fonts で見やすいプロンプトを実現 よくあるつまずきを事前に回避 こんな人向け 技術初心者〜中級者 アプリ開発・プログラミング・Python・Linuxに興味がある 実際に手を動かして試したい、エラーを避けたい 初心者でも安心な理由 Step形式で 必ず動く最小構成 → 便利な拡張 の順で説明 失敗例・回避策・復旧方法までカバー 注意:Play ストア版 Termux は更新停止です。F-Droid または GitHub Releases から最新版を入手しましょう。 (参考:Termux公式Wiki / GitHub) 💡 概要解説 Termuxとは何か Android上で動く 端末エミュレーター + パッケージ管理(pkg)を備えた環境。 追加のroot不要で、bash/zsh、Python、git、ssh 等を扱える。 zsh / oh-my-zshとは zsh:高機能なシェル。補完や設定の自由度が高く、開発者に人気。 oh-my-zsh:zsh向けのフレームワーク。テーマやプラグインを簡単に導入・管理できる。 なにが便利? 補完・サジェストでタイプ量が激減 シンタックスハイライトでタイポに気づきやすい 美しいプロンプトで分岐・ブランチ・ステータス可視化 どんな場面で使える? Python/Nodeの開発前準備(仮想環境作成、パッケージ導入) Git操作(ブランチやステータスが一目で分かる) SSH・サーバ管理(ショートカットや履歴が効く) 📱 Step 1:インストールと前提条件 Termuxの準備 F-Droid または GitHub Releases から最新版を導入 起動後、パッケージを更新 # パッケージの更新(まずはここから) pkg update && pkg upgrade -y # よく使う基本ツール pkg install -y git curl wget tar 補足:通信が遅いときは termux-change-repo を実行してミラーを変更します。 ...

TermuxでAndroidをLinux化する方法

【初心者向け】TermuxでAndroidをLinux化する方法|インストールからPython/Git環境まで

🚀 はじめに:Termuxとは? Termux は、Androidスマホ上で Linux環境をそのまま再現できるターミナルアプリです。 PCを開くほどでもない作業をスマホで済ませたい 外出先でPythonスクリプトやGit操作をしたい Androidを「学習用Linux端末」として使ってみたい このような方にとって、Termuxは 最小構成&無料で使える強力なツールです。 本記事では インストールから開発環境構築まで を 完全初心者でも迷わず進められるように 解説します。 補足 TermuxはGoogle Playではなく、F-Droidからのインストールが推奨されています。最新版を利用するためです。 📲 Step 1:Termuxのインストール方法 Termuxは公式にはF-Droidから入手します。 # F-DroidからTermuxをインストール # 1. F-Droidアプリをインストール # 2. Termuxを検索してインストール 注意 Google Play版は更新が止まっているため、F-Droid版を使いましょう。 ⚙️ Step 2:初期設定と基本コマンド Termuxを起動したら、まずパッケージを最新化します。 # パッケージリスト更新 pkg update # パッケージをアップグレード pkg upgrade ✅ この時点でできること Linuxライクなコマンド操作 パッケージ管理(apt互換) 軽いファイル操作やスクリプト実行 よく使う基本コマンド: ls:ディレクトリ一覧 cd:ディレクトリ移動 pwd:現在のパス確認 補足 初期シェルは bash です。後半で zsh に変更することもできますが、初心者のうちは bash のままで問題ありません。 Termuxではpkgコマンドがaptのラッパーとして使えます。 🛠️ Step 3:開発環境を構築する PythonやNode.jsをインストールして、スマホでスクリプトを実行できます。 ...