## 0. コマンドの役割
| コマンド | 主な用途 | 備考 |
|---|---|---|
| `ip` | インターフェース、IPアドレス、ルート、MACアドレスの確認・一時操作 | `iproute2`に含まれる |
| `nmcli` | NetworkManagerの接続・プロファイル管理 | 設定を永続化できる |
| `iw` | Wi-Fiデバイス、接続先、周波数、電波情報の確認 | 無線LANの低レベル情報 |
| `rfkill` | Wi-Fiなどの無線機能のブロック状態確認 | ハード/ソフトブロックを確認 |
| `lsusb` | USBデバイスの認識確認 | USB Wi-Fiドングルの確認 |
| `ethtool` | NICのドライバーやリンク情報の確認 | 無線では主にドライバー確認に使用 |
> 対象: Debian/Ubuntu系およびRHEL/Rocky/AlmaLinux系。`nmcli`はNetworkManager使用環境が前提です。
## 1. インターフェース一覧
```bash
ip link
ip -br link
nmcli device status
iw dev
```
## 2. USB Wi-Fiドングルの認識確認
```bash
lsusb
sudo dmesg | grep -iE 'usb|wifi|wlan|wireless|firmware'
sudo journalctl -k | grep -iE 'usb|wifi|wlan|wireless|firmware'
sudo ethtool -i wlan1
readlink -f /sys/class/net/wlan1/device/driver
```
## 3. MACアドレスの確認
```bash
ip link show wlan1
cat /sys/class/net/wlan1/address
nmcli -g GENERAL.HWADDR device show wlan1
ip -br link
```
## 4. IPアドレスの確認
```bash
ip address
ip addr show dev wlan1
ip -br addr
nmcli device show wlan1
nmcli -g IP4.ADDRESS,IP4.GATEWAY,IP4.DNS device show wlan1
```
## 5. Wi-Fiアクセスポイントの検索
```bash
nmcli device wifi rescan
nmcli device wifi list
nmcli device wifi list ifname wlan1
nmcli -f IN-USE,SSID,BSSID,CHAN,FREQ,SIGNAL,SECURITY device wifi list ifname wlan1
sudo iw dev wlan1 scan
sudo iw dev wlan1 scan | grep -E 'BSS |SSID:|freq:|signal:'
```
## 6. Wi-Fiへ接続
### SSIDを指定
```bash
nmcli device wifi connect "SSID" password "PASSWORD" ifname wlan1
```
パスワードをコマンド履歴へ残したくない場合:
```bash
nmcli --ask device wifi connect "SSID" ifname wlan1
```
### BSSIDを指定
```bash
nmcli device wifi connect "AA:BB:CC:DD:EE:FF" password "PASSWORD" ifname wlan1
```
SSIDとBSSIDを両方指定:
```bash
nmcli device wifi connect "SSID" bssid "AA:BB:CC:DD:EE:FF" password "PASSWORD" ifname wlan1
```
### 既存プロファイルを有効化
```bash
nmcli connection up "接続名" ifname wlan1
```
## 7. 接続中のWi-Fi情報
```bash
iw dev wlan1 link
nmcli device show wlan1
nmcli -f IN-USE,SSID,BSSID,CHAN,FREQ,SIGNAL device wifi list ifname wlan1
```
`iw dev wlan1 link`の主な項目:
- `Connected to`: 接続中のBSSID
- `SSID`: 接続中のSSID
- `freq`: 中心周波数
- `signal`: 受信信号強度
- `tx bitrate`: 送信リンク速度
## 8. チャネル/周波数の確認
```bash
iw dev wlan1 link
iw dev wlan1 info
nmcli -f IN-USE,SSID,BSSID,CHAN,FREQ device wifi list ifname wlan1
```
### 代表的な周波数とチャネル
| 周波数 | チャネル |
|---:|---:|
| 2412 MHz | 1 |
| 2437 MHz | 6 |
| 2462 MHz | 11 |
| 5180 MHz | 36 |
| 5200 MHz | 40 |
| 5220 MHz | 44 |
| 5240 MHz | 48 |
| 5500 MHz | 100 |
| 5520 MHz | 104 |
| 5540 MHz | 108 |
| 5560 MHz | 112 |
## 9. 内蔵Wi-FiからUSB Wi-Fiへ切り替える
例:
- 内蔵Wi-Fi: `wlan0`
- USB Wi-Fi: `wlan1`
```bash
nmcli device disconnect wlan0
nmcli device wifi connect "SSID" password "PASSWORD" ifname wlan1
nmcli device status
iw dev wlan1 link
ip route
```
内蔵Wi-Fiを一時停止:
```bash
sudo ip link set wlan0 down
```
元に戻す:
```bash
sudo ip link set wlan0 up
```
NetworkManagerの管理対象外にする:
```bash
sudo nmcli device set wlan0 managed no
sudo nmcli device set wlan0 managed yes
```
## 10. 接続プロファイルの管理
```bash
nmcli connection show
nmcli connection show --active
nmcli connection show "接続名"
```
プロファイルを特定インターフェースへ固定:
```bash
nmcli connection modify "接続名" connection.interface-name wlan1
```
BSSIDを固定/解除:
```bash
nmcli connection modify "接続名" 802-11-wireless.bssid "AA:BB:CC:DD:EE:FF"
nmcli connection modify "接続名" 802-11-wireless.bssid ""
```
自動接続と優先度:
```bash
nmcli connection modify "接続名" connection.autoconnect yes
nmcli connection modify "接続名" connection.autoconnect-priority 100
```
設定反映:
```bash
nmcli connection down "接続名"
nmcli connection up "接続名"
```
## 11. Wi-Fi無線機能の有効/無効
```bash
nmcli radio wifi
nmcli radio wifi on
nmcli radio wifi off
rfkill list
sudo rfkill unblock wifi
sudo rfkill unblock all
```
## 12. インターフェースの有効/無効
```bash
sudo ip link set wlan1 down
sudo ip link set wlan1 up
nmcli device disconnect wlan1
nmcli connection up "接続名" ifname wlan1
```
## 13. デフォルトルートの確認
```bash
ip route
ip route get 8.8.8.8
ip -6 route
```
例:
```text
default via 192.168.1.1 dev wlan1 proto dhcp metric 600
```
この場合、デフォルト通信は`wlan1`を使用します。
## 14. インターフェースの優先順位
Linuxは通常、デフォルトルートの`metric`が小さい経路を優先します。
```bash
ip route
nmcli connection modify "USB-WiFi" ipv4.route-metric 100
nmcli connection modify "Internal-WiFi" ipv4.route-metric 600
nmcli connection modify "USB-WiFi" ipv6.route-metric 100
nmcli connection modify "Internal-WiFi" ipv6.route-metric 600
nmcli connection down "USB-WiFi"
nmcli connection up "USB-WiFi"
```
## 15. Wi-Fiの対応周波数・チャネル確認
```bash
iw phy
iw phy phy0 info
iw list
```
確認できる主な項目:
- 対応周波数・使用可能チャネル
- 無効化されたチャネル
- 対応インターフェースモード
- HT/VHT/HE/EHT対応状況
- 対応チャネル幅
## 16. リージョン/規制ドメイン
```bash
iw reg get
sudo iw reg set JP
iw reg get
iw list
```
> 恒久設定方法はディストリビューションと無線ドライバーによって異なります。
## 17. 通信状態の確認
```bash
ip -s link show wlan1
ip route
ping -c 4 192.168.1.1
ping -c 4 8.8.8.8
ping -c 4 example.com
nmcli general status
```
## 18. NetworkManagerログの確認
```bash
systemctl status NetworkManager
sudo journalctl -u NetworkManager -b
sudo journalctl -u NetworkManager -f
sudo journalctl -u NetworkManager -b | grep -iE 'wifi|wlan|802-11|supplicant'
systemctl status wpa_supplicant
```
## 19. 変更前後の確認セット
### 変更前
```bash
ip -br link
ip -br addr
ip route
nmcli device status
nmcli connection show --active
iw dev
iw dev wlan1 link
```
### 変更後
```bash
nmcli device status
nmcli connection show --active
iw dev wlan1 link
ip addr show dev wlan1
ip route
ip route get 8.8.8.8
```
## 20. トラブルシューティング基本フロー
### 1. USBデバイスとして認識されているか
```bash
lsusb
```
### 2. インターフェースが作成されているか
```bash
ip -br link
iw dev
```
### 3. ドライバー/ファームウェアエラーがないか
```bash
sudo journalctl -k -b | grep -iE 'firmware|wifi|wlan|wireless|usb|error|failed'
```
### 4. 無線機能がブロックされていないか
```bash
rfkill list
nmcli radio
```
### 5. NetworkManagerが管理しているか
```bash
nmcli device status
```
### 6. アクセスポイントを検出できるか
```bash
nmcli device wifi rescan ifname wlan1
nmcli device wifi list ifname wlan1
```
### 7. 接続できているか
```bash
iw dev wlan1 link
```
### 8. IPアドレスが割り当てられているか
```bash
ip addr show dev wlan1
```
### 9. デフォルトルートがあるか
```bash
ip route
```
### 10. 経路、外部疎通、DNSを切り分ける
```bash
ip route get 8.8.8.8
ping -c 4 8.8.8.8
ping -c 4 example.com
```
## 21. よく使うワンライナー
Wi-Fiインターフェース名:
```bash
iw dev | awk '$1=="Interface"{print $2}'
```
MACアドレス:
```bash
cat /sys/class/net/wlan1/address
```
接続中のBSSID:
```bash
iw dev wlan1 link | awk '/Connected to/{print $3}'
```
接続中のSSID:
```bash
iw dev wlan1 link | sed -n 's/^[[:space:]]*SSID: //p'
```
現在の周波数:
```bash
iw dev wlan1 link | awk '/freq:/{print $2 " MHz"}'
```
デフォルトルートで使用中のインターフェース:
```bash
ip route show default | awk '/default/{print $5}'
```
Wi-Fi接続情報をまとめて確認:
```bash
printf '%s\n' '=== Device ===' &&
nmcli device status &&
printf '%s\n' '=== Link ===' &&
iw dev wlan1 link &&
printf '%s\n' '=== Address ===' &&
ip -br addr show wlan1 &&
printf '%s\n' '=== Route ===' &&
ip route
```
## 注意事項
- `ip link set ... down`による変更は一時的です。
- `nmcli connection modify`は保存された接続プロファイルを変更します。
- `device`はインターフェースの現在状態、`connection`はNetworkManagerの設定プロファイルです。
- SSH接続中に使用中のインターフェースを停止すると、接続が切断されます。
- インターフェース名は`wlan0`、`wlp2s0`、`wlx...`など環境によって異なります。
- BSSID固定中は別のアクセスポイントへのローミングが制限されます。
- 実行前に対象インターフェース名と接続プロファイル名を確認してください。
2026/09/29
Linux ネットワーク/Wi-Fi コマンド チートシート
登録:
コメントの投稿 (Atom)
人気の投稿
-
[AWS CloudFormation とは何ですか?](https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/Welcome.html) ## CloudFormationの動作概要 ポイン...
-
2.4GHz帯のチャネル配置 IEEE802.11b/g/nなどで使用する2.4GHz帯は、13のチャネルを利用できる。しかし隣接するチャネルと周波数が重なっているので、選択するチャネルによっては干渉が発生してしまう。複数の無線LANアクセスポイントを干渉させずに使うには、「1c...
-
Dockerは、コンテナによりサーバ機能を提供する。コンテナは必要な時に起動し、不要になったら破棄する使い捨ての運用に適している。管理上、通常は1コンテナ1プロセスとして構成する。Dockerは、永続データを保存する用途には適さない。 # 仮想化技術 ## ホスト型仮想化 仮...
-
JavadocをURLデコード Add-Type -AssemblyName System.Web $files = Get-ChildItem -Recurse "C:\Javadoc" -filter *.html foreach($...
-
SCTとDMSを使用してオンプレミスにあるOracleをAWSのRDSへ移行してみる。 - [AWS Schema Conversion Toolとは](https://docs.aws.amazon.com/ja_jp/SchemaConversionTool/latest/...
0 件のコメント:
コメントを投稿