Debian 13 ネットワーク設定
このチュートリアルでは、Debian 13 でのネットワーク接続の設定と管理方法を詳細に説明します。有線ネットワーク、無線ネットワーク、ネットワークサービス、トラブルシューティングを含みます。
🌐 ネットワーク管理の基礎
NetworkManager
NetworkManager はデスクトップインストールで最も一般的なネットワーク管理ツールです(task-gnome-desktop などのタスクを通じて自動インストールされます)が、Debian はこれを唯一のオプションとして強制しません——サーバーや最小限のインストールでは通常 ifupdown(/etc/network/interfaces)または systemd-networkd を使用します:
bash
# NetworkManager の状態を確認
systemctl status NetworkManager
# NetworkManager を再起動
sudo systemctl restart NetworkManager
# ネットワークデバイスを表示
nmcli device status
# ネットワーク接続を表示
nmcli connection show従来のネットワークツール
bash
# ネットワークインターフェースを表示
ip addr show
ifconfig # net-tools のインストールが必要
# ルーティングテーブルを表示
ip route show
route -n # net-tools のインストールが必要
# ネットワーク接続性をテスト
ping google.com
traceroute google.com🔌 有線ネットワーク設定
自動設定 (DHCP)
ほとんどの有線ネットワークは DHCP を使用して IP アドレスを自動取得します:
bash
# 有線接続を表示
nmcli connection show --active
# 有線接続を作成
sudo nmcli connection add type ethernet con-name "Wired" ifname eth0
# 接続を有効化
sudo nmcli connection up "Wired"
# IP アドレスを再取得
sudo nmcli connection down "Wired" && sudo nmcli connection up "Wired"静的 IP 設定
bash
# 静的 IP 接続を作成
sudo nmcli connection add type ethernet con-name "Static" ifname eth0 \
ip4 192.168.1.100/24 gw4 192.168.1.1
# DNS サーバーを設定
sudo nmcli connection modify "Static" ipv4.dns "8.8.8.8,8.8.4.4"
# 手動設定を設定
sudo nmcli connection modify "Static" ipv4.method manual
# 接続を有効化
sudo nmcli connection up "Static"ネットワークインターフェース命名
bash
# ネットワークインターフェース名を表示
ip link show
# 永続的なネットワークインターフェース名を表示
ls /sys/class/net/
# インターフェース名を変更(オプション)
sudo nano /etc/systemd/network/10-eth0.link📶 WiFi ネットワーク設定
グラフィカルインターフェース設定
GNOME では:
- 右上のネットワークアイコンをクリック
- WiFi ネットワークを選択
- パスワードを入力して接続
コマンドライン設定
bash
# WiFi ネットワークをスキャン
nmcli device wifi list
# WiFi ネットワークに接続
sudo nmcli device wifi connect "WiFi名称" password "パスワード"
# 非表示ネットワークに接続
sudo nmcli device wifi connect "WiFi名称" password "パスワード" hidden yes
# 保存済みの WiFi 接続を表示
nmcli connection show
# WiFi 接続を削除
sudo nmcli connection delete "WiFi名称"WiFi ホットスポット作成
bash
# WiFi ホットスポットを作成
sudo nmcli device wifi hotspot ifname wlan0 ssid "MyHotspot" password "mypassword"
# ホットスポットの状態を表示
nmcli device status
# ホットスポットを停止
sudo nmcli device disconnect wlan0WiFi ドライバー問題
bash
# WiFi デバイスを確認
lspci | grep -i wifi
lsusb | grep -i wifi
# 無線モジュールを確認
lsmod | grep wifi
iwconfig
# 追加の WiFi ドライバーをインストール
sudo apt install firmware-iwlwifi # Intel ネットワークカード
sudo apt install firmware-realtek # Realtek ネットワークカード
sudo apt install firmware-atheros # Atheros ネットワークカード
# ネットワークモジュールを再読み込み
sudo modprobe -r iwlwifi && sudo modprobe iwlwifi🔧 高度なネットワーク設定
ネットワークブリッジ
bash
# ブリッジツールをインストール
sudo apt install bridge-utils
# ネットワークブリッジを作成
sudo nmcli connection add type bridge con-name br0 ifname br0
sudo nmcli connection add type bridge-slave con-name br0-eth0 ifname eth0 master br0
# ブリッジ IP を設定
sudo nmcli connection modify br0 ipv4.addresses 192.168.1.100/24
sudo nmcli connection modify br0 ipv4.gateway 192.168.1.1
sudo nmcli connection modify br0 ipv4.dns 8.8.8.8
sudo nmcli connection modify br0 ipv4.method manual
# ブリッジを有効化
sudo nmcli connection up br0VLAN 設定
bash
# VLAN インターフェースを作成
sudo nmcli connection add type vlan con-name vlan100 ifname eth0.100 \
dev eth0 id 100
# VLAN IP を設定
sudo nmcli connection modify vlan100 ipv4.addresses 192.168.100.10/24
sudo nmcli connection modify vlan100 ipv4.method manual
# VLAN を有効化
sudo nmcli connection up vlan100ネットワークボンディング (Bonding)
bash
# ボンディングインターフェースを作成
sudo nmcli connection add type bond con-name bond0 ifname bond0 \
bond.options "mode=active-backup,miimon=1000"
# ボンディングスレーブインターフェースを追加
sudo nmcli connection add type bond-slave con-name bond0-eth0 ifname eth0 master bond0
sudo nmcli connection add type bond-slave con-name bond0-eth1 ifname eth1 master bond0
# ボンディング IP を設定
sudo nmcli connection modify bond0 ipv4.addresses 192.168.1.100/24
sudo nmcli connection modify bond0 ipv4.method manual
# ボンディングを有効化
sudo nmcli connection up bond0🌍 DNS 設定
systemd-resolved
systemd-resolved は systemd が提供する DNS 解決サービスで、NetworkManager と連携できますが、Debian ではデフォルトでインストール・有効化されていません。デスクトップ環境を使用しており NetworkManager が実行されている場合、/etc/resolv.conf は通常 NetworkManager によって直接管理されます。systemd-resolved を有効化することを選択した場合:
bash
# DNS 状態を確認
systemctl status systemd-resolved
# DNS 設定を確認
resolvectl status
# DNS 統計を確認
resolvectl statistics
# DNS キャッシュをクリア
sudo resolvectl flush-caches手動 DNS 設定
bash
# 一時的に DNS を変更(再起動後に失効)
sudo nano /etc/resolv.conf
# DNS サーバーを追加
nameserver 8.8.8.8
nameserver 8.8.4.4
# 永続的に DNS を変更(NetworkManager 経由)
sudo nmcli connection modify "接続名" ipv4.dns "8.8.8.8,8.8.4.4"
sudo nmcli connection up "接続名"カスタム DNS サーバー
bash
# dnsmasq をインストール
sudo apt install dnsmasq
# dnsmasq を設定
sudo nano /etc/dnsmasq.conf
# 基本設定
listen-address=127.0.0.1
bind-interfaces
cache-size=1000
# dnsmasq を有効化
sudo systemctl enable dnsmasq
sudo systemctl start dnsmasq🔒 ネットワークセキュリティ
ファイアウォール設定
bash
# UFW をインストールして有効化
sudo apt install ufw
sudo ufw enable
# 基本ルール
sudo ufw default deny incoming
sudo ufw default allow outgoing
# 特定のポートを許可
sudo ufw allow 22 # SSH
sudo ufw allow 80 # HTTP
sudo ufw allow 443 # HTTPS
# 特定の IP を許可
sudo ufw allow from 192.168.1.100
# ルールを表示
sudo ufw status verboseネットワーク監視
bash
# ネットワーク監視ツールをインストール
sudo apt install nethogs iftop nload
# ネットワークトラフィックを監視
sudo nethogs # プロセスごとに監視
sudo iftop # リアルタイムトラフィック監視
nload # ネットワーク負荷監視
# ネットワーク接続を表示
ss -tuln # リスニングポートを表示
netstat -tuln # net-tools のインストールが必要VPN 設定
OpenVPN クライアント
bash
# OpenVPN をインストール
sudo apt install openvpn
# 設定ファイルをインポート
sudo cp client.ovpn /etc/openvpn/client.conf
# VPN を起動
sudo systemctl start openvpn@client
sudo systemctl enable openvpn@client
# NetworkManager で VPN を管理
sudo apt install network-manager-openvpn-gnomeWireGuard VPN
bash
# WireGuard をインストール
sudo apt install wireguard
# 鍵ペアを生成
wg genkey | tee privatekey | wg pubkey > publickey
# 設定ファイルを作成
sudo nano /etc/wireguard/wg0.conf
# 設定例
[Interface]
PrivateKey = あなたの秘密鍵
Address = 10.0.0.2/24
DNS = 8.8.8.8
[Peer]
PublicKey = サーバーの公開鍵
Endpoint = サーバーIP:ポート
AllowedIPs = 0.0.0.0/0
# WireGuard を起動
sudo wg-quick up wg0
sudo systemctl enable wg-quick@wg0📊 ネットワークパフォーマンス最適化
ネットワークパラメータチューニング
bash
# 現在のネットワークパラメータを表示
sysctl net.core.rmem_max
sysctl net.core.wmem_max
# 一時的にパラメータを調整
sudo sysctl -w net.core.rmem_max=134217728
sudo sysctl -w net.core.wmem_max=134217728
# 永続的にパラメータを調整
sudo nano /etc/sysctl.d/99-network-performance.conf
# 最適化パラメータを追加
net.core.rmem_max = 134217728
net.core.wmem_max = 134217728
net.core.netdev_max_backlog = 5000
net.ipv4.tcp_congestion_control = bbr
# 設定を適用
sudo sysctl -p /etc/sysctl.d/99-network-performance.conf帯域幅テスト
bash
# 速度テストツールをインストール
sudo apt install speedtest-cli
# ネットワーク速度をテスト
speedtest-cli
# iperf3 を使用してテスト
sudo apt install iperf3
# サーバー側
iperf3 -s
# クライアント側テスト
iperf3 -c サーバーIP🆘 ネットワークトラブルシューティング
基本診断
bash
# 1. ネットワークインターフェースを確認
ip link show
# 2. IP アドレスを確認
ip addr show
# 3. ルーティングを確認
ip route show
# 4. DNS を確認
nslookup google.com
dig google.com
# 5. 接続性をテスト
ping -c 4 8.8.8.8 # 外部ネットワークをテスト
ping -c 4 192.168.1.1 # ゲートウェイをテスト一般的な問題解決
IP アドレスを取得できない
bash
# ネットワークサービスを再起動
sudo systemctl restart NetworkManager
# 手動で IP を取得
sudo dhclient eth0
# DHCP ログを確認
journalctl -u NetworkManagerDNS 解決が失敗する
bash
# DNS 設定を確認
cat /etc/resolv.conf
# DNS サーバーをテスト
nslookup google.com 8.8.8.8
# DNS キャッシュをクリア
sudo resolvectl flush-caches
# DNS 設定をリセット
sudo systemctl restart systemd-resolvedWiFi 接続問題
bash
# WiFi デバイスの状態を確認
nmcli radio wifi
# WiFi を有効化
nmcli radio wifi on
# WiFi デバイスを再起動
sudo nmcli device disconnect wlan0
sudo nmcli device connect wlan0
# ドライバーを確認
dmesg | grep -i wifiネットワーク診断スクリプト
ネットワーク診断スクリプトを作成:
bash
#!/bin/bash
# ネットワーク診断スクリプト
echo "=== ネットワークインターフェース状態 ==="
ip link show
echo -e "\n=== IP アドレス情報 ==="
ip addr show
echo -e "\n=== ルーティングテーブル ==="
ip route show
echo -e "\n=== DNS 設定 ==="
cat /etc/resolv.conf
echo -e "\n=== ゲートウェイ接続性テスト ==="
ping -c 3 $(ip route | grep default | awk '{print $3}')
echo -e "\n=== 外部ネットワーク接続性テスト ==="
ping -c 3 8.8.8.8
echo -e "\n=== DNS 解決テスト ==="
nslookup google.com
echo -e "\n=== アクティブな接続 ==="
nmcli connection show --active📝 ネットワーク設定のバックアップ
ネットワーク設定のバックアップ
bash
# NetworkManager 設定をバックアップ
sudo tar -czf network-backup.tar.gz /etc/NetworkManager/
# 接続設定をバックアップ
sudo cp -r /etc/NetworkManager/system-connections/ ~/network-connections-backup/
# ネットワーク設定をエクスポート
nmcli -f all connection show > network-connections.txtネットワーク設定の復元
bash
# 設定ファイルを復元
sudo tar -xzf network-backup.tar.gz -C /
# NetworkManager を再読み込み
sudo systemctl reload NetworkManager
# ネットワークを再接続
nmcli connection reload次のステップ
ネットワーク設定をマスターしたら、次を学習できます:
- ファイアウォール設定 - ネットワークセキュリティを強化
- システムサービス管理 - ネットワークサービスを管理
- ログ管理 - ネットワークログを表示
ネットワーク設定は完了しましたか? ファイアウォール設定の学習を続ける →