失われたパーティションとハードディスクデータを安全に復元する方法
TestDiskとPhotoRecを使って、失われたパーティションやファイルを復元する方法を学びましょう。ソースドライブを保護し、安全にスキャンを行い、復元したデータを別のディスクに保存します。
Debian 12 (Bookworm) 上で WireGuard を使用したポイントツーサイト VPN は、ラップトップ、スマートフォン、リモートワークステーションがサーバーにアクセスしたり、サーバー経由でトラフィックをルーティングしたりするための実用的な方法です。まず重要な点を明確にしておきましょう。WireGuard には特別な「サーバーモード」はありません。参加者はすべてピアです。ポイントツーサイト構成では、1 つの Debian ホストが安定した公開アクセス可能なハブとして機能し、各リモートデバイスはそれぞれ独自のキーペアとトンネル アドレスを取得します。
このガイドでは、Debian に同梱されている WireGuard ツール、wg-quickIPv4 フォワーディング、および nftables を使用します。Debian サーバーが root または sudo アクセス権を持ち、UDP ポートが51820サーバーに到達できることを前提としています。サーバーが自宅またはオフィスのルーターの背後にある場合は、その UDP ポートを Debian ホストに転送する必要があります。ISP がキャリアグレード NAT (CGNAT) を使用している場合、通常のルーターのポート転送では不十分な場合があります。WireGuard 自体のトラブルシューティングを行う前に、実際に到達可能なパブリック アドレスがあることを確認してください。
このVPNの例では、 を使用します10.8.0.0/24。サーバーは で10.8.0.1、最初のクライアントは です10.8.0.2。クライアントは、IPv4インターネットトラフィックがDebianサーバーを経由して送信されるフルトンネルVPN、または選択されたプライベートネットワークのみがWireGuardを使用するスプリットトンネルのいずれかとして構成できます。
Debian の WireGuard ドキュメントには、WireGuard がディストリビューション パッケージを通じて利用可能であることが明記されています。また、公式の WireGuard クイックスタートでは、鍵生成、wg-quickおよびオプションの永続的なキープアライブ動作について説明しています。詳しくは、Debian WireGuard ドキュメント、公式の WireGuard クイックスタート、および Debian のwg-quick マニュアル ページをご覧ください。
パッケージのメタデータを更新してから、WireGuardとnftablesをインストールしてください。
sudo apt update
sudo apt install wireguard nftables
よくある誤解として、Debian 12には外部のWireGuardカーネルモジュールが必要だというものがありますが、そうではありません。WireGuardは長年Linuxカーネルに組み込まれており、Debianのパッケージには必要なユーザー空間管理ツールが揃っています。対策:検証されていないインストールスクリプトをダウンロードするのではなく、Debianパッケージを使用してください。

制限付きアクセス権限を持つキーファイルを作成する。
sudo -i
install -d -m 700 /etc/wireguard
umask 077
wg genkey | tee /etc/wireguard/server_private.key | wg pubkey > /etc/wireguard/server_public.key
chmod 600 /etc/wireguard/server_private.key
cat /etc/wireguard/server_public.key
秘密鍵は絶対に秘密にしておく必要があります。公開鍵はクライアントの設定ファイルにコピーするものです。理想的には、各クライアントの秘密鍵はサーバーではなく、そのクライアント上で生成してください。そうすれば、サーバーはクライアントの秘密鍵を保持する必要がなくなります。

VPNトンネルは正常に確立されるものの、ルーティングされたトラフィックは失敗する場合があります。その理由は、LinuxのIPフォワーディングがWireGuard自体とは別のカーネル設定であるためです。永続的なsysctlファイルを作成してください。
echo 'net.ipv4.ip_forward=1' | sudo tee /etc/sysctl.d/99-wireguard.conf
sudo sysctl --system
sysctl net.ipv4.ip_forward
最終コマンドは を報告するはずですnet.ipv4.ip_forward = 1。Debian のカーネルドキュメントでは、 はip_forwardIPv4 パケットの転送を有効にするスイッチとして説明されています。対処法: トンネルインターフェイスが自動的にルーティングを有効にすると想定するのではなく、この値を明示的に確認してください。Debianの ip(7) マニュアルとsysctl.conf ドキュメントを参照してください。

サーバーの秘密鍵を読み取り、次に以下を作成します/etc/wireguard/wg0.conf。
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY
[Peer]
PublicKey = CLIENT_PUBLIC_KEY
AllowedIPs = 10.8.0.2/32
次に、ファイルを保護します。
sudo chmod 600 /etc/wireguard/wg0.conf
AllowedIPsは、ファイアウォールのような許可リストだと誤解されがちですが、ルーティングも制御します。サーバー側では、10.8.0.2/32このピアに を割り当てることで、WireGuard に対して、そのトンネル アドレス宛のパケットはこのクライアントに属すると認識させます。各クライアントに固有のアドレスと個別の[Peer]ブロックを割り当ててください。
SaveConfig = trueもう1つの便利な選択肢は、このファイルを手動で管理する予定がある場合は省略することです。を使用するとSaveConfig、wg-quickシャットダウン時にライブ状態を構成に書き戻すことができ、手動で編集した内容が上書きされる可能性があります。対処法:ライブ状態を明示的に保存したい場合を除き、ファイルは宣言型のままにしてください。

フルトンネルクライアントがDebianサーバー経由でインターネットにアクセスする場合、最も簡単な構成はIPv4マスカレードです。まず、サーバーの送信インターフェースを特定します。
ip route get 1.1.1.1
devの後に、eth0、ens3、 などのインターフェースを探してくださいenp1s0。常に であるとは限りませんeth0。
既にNATテーブルを管理している場合は/etc/nftables.conf、ファイルを置き換えるのではなく、以下のNATテーブルを既存のルールセットにマージしてください。
table ip wireguard-nat {
chain postrouting {
type nat hook postrouting priority 100; policy accept;
oifname "eth0" ip saddr 10.8.0.0/24 masquerade
}
}
eth0実際の送信インターフェースに置き換えてください。ロード前に検証してください。
sudo nft -c -f /etc/nftables.conf
sudo systemctl enable --now nftables
sudo nft list ruleset
WireGuardではNATは必須ではありません。宛先LANに既にへの戻りルートがある場合10.8.0.0/24、マスカレードなしでルーティングされたアクセスが機能します。NATは、リモートクライアントにサーバーの既存のインターネットルートを使用させたい場合や、他の場所の戻りルートを制御しない場合に特に便利です。対処法:単純なインターネット出力の場合はマスカレードを使用し、ネットワークを制御し、送信元アドレスを保持したい場合は明示的なルーティングを推奨します。

それは、既にインストールされているファイアウォールによって異なります。nftables の入力ポリシーが制限的な場合は、受信 UDP を許可してください51820。フォワードチェーンにデフォルトのドロップポリシーがある場合は、そこから目的の宛先へのトラフィックwg0と確立された戻りトラフィックを許可するルールを追加してください。クラウド VPS プロバイダーは、UDP を許可する必要がある別のセキュリティグループまたはプロバイダーファイアウォールを持っている場合もあります51820。
リモートのSSHサーバーに、まったく新しいデフォルト設定のファイアウォールルールセットを安易に貼り付けないでください。接続が遮断される可能性があります。対策:sudo nft list rulesetWireGuardを既存のファイアウォールに統合し、その設定を確認してください。
クライアント側では、WireGuardアプリまたはを使用して独自のキーペアを生成しますwg genkey。フルトンネルIPv4プロファイルは次のようになります。
[Interface]
Address = 10.8.0.2/24
PrivateKey = CLIENT_PRIVATE_KEY
DNS = 1.1.1.1
[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = vpn.example.com:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
vpn.example.comサーバーのパブリック DNS 名またはパブリック IP に置き換えてください。このDNS行はオプションであり、クライアントの実装サポートは異なります。スプリット トンネルの場合は、AllowedIPsVPN を通過するネットワークのみに変更してください。たとえば、10.8.0.0/24プライベート LAN などです192.168.50.0/24。
PersistentKeepalive = 25もオプションです。WireGuardの公式ドキュメントでは、NATまたはステートフルファイアウォールの背後にあるピアがアイドル期間中にマッピングを保持する必要がある場合、25秒が適切な値として推奨されています。これはパフォーマンス設定ではなく、すべてのクライアントで必須ではありません。推奨されるアクション:アイドル時間後に到達不能になるローミングクライアントまたはNATクライアントに主に使用してください。

まずnftablesを起動し、次にWireGuardインターフェースを有効にしてください。
sudo systemctl enable --now nftables
sudo systemctl enable --now wg-quick@wg0
systemctl is-active nftables
systemctl is-active wg-quick@wg0
wg-quick@wg0を読み取ります/etc/wireguard/wg0.conf。wg-quickマニュアルでは、この命名規則が、の下に保存されている構成の通常のショートカットであることを確認しています/etc/wireguard。アクション: より複雑なネットワークマネージャ設計がない限り、カスタムブートスクリプトではなくサービスを使用してください。

クライアントを接続し、サーバーを検査します。
sudo wg show
ip address show wg0
ping -c 3 10.8.0.2
正常なピアであれば、通常、トラフィックがトンネルを通過した後、最近のハンドシェイクとゼロ以外の転送カウンタが表示されます。フルトンネルを設定した場合は、信頼できるIPチェックサービスを使用してクライアントのパブリックIPv4アドレスを確認してください。これはDebianサーバーの送信アドレスと一致するはずです。

| 症状 | 考えられる原因 | 次の便利なアクション |
|---|---|---|
| ハンドシェイクなし | キー、エンドポイント、UDPポート、アップストリームファイアウォール、ルーターのポートフォワーディング、またはCGNATが間違っています。 | UDPポート51820がDebianホストに到達していることを確認し、両方の公開鍵を再確認してください。 |
| ハンドシェイクは機能するが、インターネットに接続できない | IPv4転送、転送ファイアウォールルール、またはNATが欠落しています | sysctl net.ipv4.ip_forward、、nft list rulesetおよび送信インターフェース名を確認してください。 |
| 10.8.0.1にはアクセスできるが、プライベートLANにはアクセスできない。 | クライアントにLANルートがないか、LANにリターンルートがありません | クライアントにLANサブネットを追加しAllowedIPs、ルーティングまたはNATを適切に設定してください。 |
| 一部のサイトは停止します | パスMTUの問題の可能性 | MTUを強制する前に、より小さなパケットでテストしてください。MTUwg-quickは自動的に選択されるため、他のガイドが1420に設定しているからといって、1420に設定しないでください。 |
| IPv4はVPNを使用するが、IPv6は使用しない | プロファイルはルートのみをルーティングします0.0.0.0/0 | IPv6の設定はWireGuard経由で行うか、IPv6の漏洩を防ぐことが必須条件の場合は、クライアントのIPv6を意図的に無効化/ブロックしてください。 |
信頼できない Wi-Fi 上のトラフィックを保護する場合、またはインターネット トラフィックを Debian サーバーから外部に出す場合は、フル トンネルを使用します。サーバー、ホーム ネットワーク、ラボ、または内部アプリケーションへのリモート アクセスのみが必要で、通常のインターネット トラフィックをローカルにとどめたい場合は、スプリット トンネルを使用します。選択は主にクライアントによって制御されますAllowedIPs。
小規模なポイントツーサイト構成の場合、上記の構成で保守可能なベースラインを確立できます。クライアントごとに1つのピアブロック、固有のトンネルアドレス、Debian管理サービス、そして実際に必要なルーティング動作のためのnftablesが必要です。大規模な構成では、WireGuardプロトコル自体はシンプルですが、鍵配布、ピアライフサイクル、DNS、ログ記録、構成管理などが運用上の懸念事項となります。
wg-quick@wg0アクティブであり、wg0持っています10.8.0.1/24。51820、そのポートは上流のファイアウォールまたはルーターを経由してアクセス可能です。/32サーバー上の固有のエントリを持っています。net.ipv4.ip_forward1ルーティングされたアクセスが必要な場合に等しくなります。wg showクライアントがトラフィックを送信した後、最近のハンドシェイクを表示します。AllowedIPs、意図された全トンネルまたは分割トンネルの設計と一致しています。これらの手順は、Debian 12 および Debian で利用可能な標準の WireGuard ツールを対象としています。ネットワーク トポロジ、アップストリーム NAT、クラウド ファイアウォール、プライベート LAN ルーティング、および IPv6 ポリシーは環境固有のものであるため、WireGuard の設定だけではこれらの要素を推測することはできません。接続の問題をすべて WireGuard の障害として扱うのではなく、それぞれを個別に検証してください。
TestDiskとPhotoRecを使って、失われたパーティションやファイルを復元する方法を学びましょう。ソースドライブを保護し、安全にスキャンを行い、復元したデータを別のディスクに保存します。
CoBangを使えば、Webカメラまたは画像ファイルでLinux上でQRコードをスキャンできます。インストールオプション、セットアップ手順、Flatpakカメラへのアクセスに関する修正方法については、こちらをご覧ください。
Cameractrlsを使用してLinux上でウェブカメラの設定を変更しましょう。露出、色、フリッカー低減などのサポートされているコントロールを調整し、互換性のあるビデオモードを確認できます。
LinuxにPhpStormをインストールするには、JetBrains Toolboxを使用するか、スタンドアロンのtar.gzアーカイブを使用するか、SnapおよびArch AURオプションを選択してください。Javaは既にバンドルされています。
Cisco Packet Tracer 9.0.1 を Ubuntu 64 ビット版にダウンロードし、APT を使用して DEB パッケージをインストールし、ターミナルでライセンスに同意してサインインすると、ラボを開始できます。
Linux上でGNOME Disksまたはddコマンドを使用してCD-ROM ISOイメージを作成します。光学ドライブを識別し、コピーを監視し、イメージを検証し、破損したディスクやオーディオディスクに別のツールが必要な場合を把握できます。
各ディスプレイごとに個別のXFCE 4パネルを作成し、2番目のパネルを右側の出力に割り当て、位置とサイズを調整し、必要なランチャーとステータス項目を追加します。
LinuxでGIMPを使って写真の背景を削除する方法:被写体をトレースし、選択した背景を削除し、透明度を保持して、再利用可能なPNG形式でエクスポートします。
FlightGearは公式サイトから無料でダウンロードできます。Windows、macOS、Linuxの各パッケージを比較し、データファイルをインストールして、最初のフライトを開始しましょう。
OKSamplerはMP3クリップをキーボードのキーにマッピングし、音声をループ再生できます。この旧型フリーウェアの機能、旧機能が失われた箇所、ダウンロード前に確認すべき点について解説します。