タイトル: グローバルIPアドレス
SEOタイトル: グローバル IP アドレス完全ガイド (NAT/プライベート IP との違い)
| この記事の要点 |
|
グローバル IP とプライベート IP
| 項目 | グローバル IP | プライベート IP |
|---|---|---|
| 到達範囲 | インターネット全体 | LAN 内のみ |
| 世界での一意性 | 一意 (重複不可) | LAN 単位なら重複 OK |
| 割り当て | ISP / クラウド / RIR (IANA) | LAN 管理者が自由に |
| ルーティング | BGP で世界に伝播 | インターネットには出ない |
| 用途 | サーバ公開、外向き通信 | 家庭内 / 社内 LAN |
プライベート IP の範囲 (RFC 1918)
| クラス | 範囲 | 使い所 |
|---|---|---|
| A | 10.0.0.0/8 (10.0.0.0 - 10.255.255.255) | 大企業 / クラウド VPC (1677 万件) |
| B | 172.16.0.0/12 (172.16.0.0 - 172.31.255.255) | 中規模社内 / Docker (デフォルトbridge) |
| C | 192.168.0.0/16 (192.168.0.0 - 192.168.255.255) | 家庭用ルーター (大半が 192.168.1.0/24) |
その他の特殊アドレス:
127.0.0.0/8: ループバック (自分自身)169.254.0.0/16: APIPA (自動構成、DHCP 失敗時)100.64.0.0/10: CGN (Carrier-Grade NAT、ISP 内専用)
NAT の仕組み
家庭 LAN
┌──────────────────────┐
│ PC 192.168.1.10│
│ スマホ 192.168.1.11│ ┌─────┐ インターネット
│ TV 192.168.1.12├──→ │Router├──→ サーバ (203.0.113.5)
└──────────────────────┘ └─────┘
プライベート IP WAN: 198.51.100.20 (グローバル)
LAN: 192.168.1.1
通信フロー (PC → サーバ):
1. PC が 192.168.1.10 → 203.0.113.5:443 に送信
2. ルーターが送信元を 198.51.100.20:55432 に書き換え (NAPT)
3. サーバから見ると、198.51.100.20:55432 が送信元
4. レスポンスは 198.51.100.20:55432 に届く
5. ルーターが宛先を 192.168.1.10 に書き換えて PC へ
グローバル IP の確認方法
Web ブラウザ
- whatismyip.com
- ipinfo.io (位置情報、ISP 名も表示)
- Google で "what is my ip" 検索
コマンドライン
# Linux / macOS / WSL
curl ifconfig.me
curl ipinfo.io/ip
curl ifconfig.co
curl -4 https://api.ipify.org # IPv4 強制
curl -6 https://api64.ipify.org # IPv6 強制
# DNS 経由 (高速、ブロックされにくい)
dig +short myip.opendns.com @resolver1.opendns.com
# Windows PowerShell
Invoke-RestMethod https://api.ipify.org
(Invoke-WebRequest ifconfig.me).Content
ルーター管理画面
ブラウザで http://192.168.1.1/ 等にアクセスして、"WAN 側 IP" や "インターネット側アドレス" を確認。
固定 IP vs 動的 IP (ISP 提供)
| 種別 | 特徴 | 料金 |
|---|---|---|
| 動的 IP | ISP が DHCP で割当、定期的に変わる | 標準 |
| 固定 IP | 常に同じ IP。サーバ公開やリモートアクセス向け | 月額 1000-5000 円 追加 |
| CGN (Carrier-Grade NAT) | ISP 内で更に NAT (グローバル IP 共有) | 標準 (主に MVNO / 大規模 ISP) |
サーバ公開とポート開放
自宅サーバを外部公開する基本手順:
- 動的 IP の場合は DDNS (No-IP, DuckDNS) でドメイン → IP を自動更新
- ルーターのポートフォワーディング設定: 外部 80/443 → 内部 192.168.1.10:80
- サーバ側でファイアウォール開放 (
ufw allow 443等) - TLS 証明書 (Let's Encrypt) を取得
# DDNS の例 (DuckDNS)
curl "https://www.duckdns.org/update?domains=mydomain&token=XXX&ip="
# IP 省略 → 接続元 IP が自動採用
# 外部公開チェック
curl -v http://your-ip-or-domain:80/
nmap your-ip-or-domain -p 80,443
CGN の落とし穴
近年のモバイル回線や格安 ISP は CGN (Carrier-Grade NAT) を使うため、外部からの直接アクセスができません。ポート開放しても届きません。回避策:
- ISP に IPv6 / 固定 IP オプション申込
- VPN / リバーストンネル (Cloudflare Tunnel, ngrok, Tailscale Funnel)
- IPv6 を使う
IPv6 では NAT 不要
IPv6 のアドレス空間は 2^128 ≈ 340 澗。全機器にグローバル IP を割り当てても枯渇しないため、原則 NAT は使いません。
# IPv6 の確認
ip -6 addr show
# inet6 2001:db8::1/64 scope global ← グローバル
# inet6 fe80::.../64 scope link ← リンクローカル (LAN 内のみ)
curl -6 ifconfig.me
# 接続テスト
ping6 google.com
curl -6 https://ipv6.google.com/
FAQ
Q: グローバル IP は変わる?
A: 動的 IP なら ISP が定期的に変えます。ルーター再起動で変わることが多いです。固定 IP は契約しないと変わりません。
Q: グローバル IP から個人特定できる?
A: ISP には契約者情報があるため、警察等の正当な手続きで特定可能。一般人にはおおよその地域・ISP 名までしか分かりません。
Q: VPN を使うと?
A: 接続元 IP が VPN サーバの IP に置き換わります。元の IP は ISP と VPN 業者のみが知ります。