1.07.1基礎
社内LANだけで使用するRFC 1918のプライベートIPv4アドレスを選ぶ。
該当するアドレスはどれか。
× 不正解
RFC 1918の範囲は10.0.0.0/8、172.16.0.0/12、192.168.0.0/16である。172.20.30.40は2番目に含まれる。
詳細解説
誤り
11.20.30.4010.0.0.0/8の外側で、RFC 1918の範囲ではない。
RFC 1918の10系範囲は先頭オクテットが10の10.0.0.0/8である。11から始まるこのアドレスは含まれない。
誤り
169.254.20.30リンクローカル用の169.254.0.0/16に属し、RFC 1918のプライベート範囲ではない。
169.254.0.0/16は同一リンク内の自動設定などに使うリンクローカル範囲である。RFC 1918の3範囲とは別である。
誤り
192.0.2.40文書・例示用のTEST-NET-1に属する。
192.0.2.0/24は文書や例示に予約されたTEST-NET-1である。192.168.0.0/16のプライベート範囲と混同しない。
正しい
172.20.30.40172.16.0.0/12の内側で、RFC 1918のプライベート範囲である。
172.16.0.0/12は第2オクテット16〜31を含む。172.20.30.40はこの条件を満たすプライベートアドレスである。
実際に確かめる
一時的な検証環境で実行できる例です。
python3 -c "import ipaddress; a=ipaddress.ip_address('172.20.30.40'); print(a in ipaddress.ip_network('172.16.0.0/12'))"期待される結果
True理解のポイント
- 10/8
- 172.16/12
- 192.168/16
確認時の注意
- 確認環境: Python 3 ipaddress / ローカル計算のみ
- Pythonのis_privateはRFC 1918以外の非グローバル範囲もTrueにする版があるため、検証では明示ネットワークと比較する。
基礎のおさらい
3つの範囲
10.0.0.0/8、172.16.0.0/12、192.168.0.0/16がRFC 1918で定義される。
NATとの関係
プライベートホストが外部へ通信する際は、境界装置でグローバル側アドレスへ変換する構成が多い。
問題IDKL-102-944
確認環境Python 3 ipaddress / ローカル計算のみ
最終技術確認2026-08-13
誤り・権利侵害を報告