Open1
ルーティングについて

ルーティングとは
ルーティングとは、「データをどの道筋で送るかを決める仕組み」です。
例えば、あなたが東京から大阪に行くとき:
- 新幹線で行く
- 飛行機で行く
- 車で高速道路を使う
このように「目的地への最適な経路を選ぶ」のがルーティングの考え方です。
ネットワークでも同様に、データ(パケット)が目的地に届くまでの経路を決める必要があります。
ルーティングテーブルとは
ルーティングテーブルは、「どの宛先に対して、どの経路を使うか」を記録した「道路地図」のようなものです。
ルーティングテーブルの確認方法
# ルーティングテーブルを確認する方法
route -n
# または
ip route show
# または
netstat -rn
ルーティングテーブルの見方
例
宛先 ゲートウェイ インターフェース
0.0.0.0 192.168.1.1 eth0
192.168.1.0 0.0.0.0 eth0
127.0.0.0 0.0.0.0 lo
これを解説すると…
1行目: 0.0.0.0/0 → 192.168.1.1
- 意味:「どこにも該当しないパケットは192.168.1.1に送る」
- これが「デフォルトゲートウェイ」(通常はルーターのIPアドレス)
2行目: 192.168.1.0/24 → 直接配送
- 意味:「192.168.1.0~192.168.1.255は同じネットワーク内なので直接送る」
3行目: 127.0.0.0/8 → ループバック
- 意味:「自分自身への通信」
IPマスカレードとは
IPマスカレードは、「複数の内部IPアドレスを1つの外部IPアドレスに変換する技術」です。
具体例で説明
家庭内ネットワークを例にすると以下になります。
※IPアドレスは適当です。
インターネット ← [ルーター] ← 家庭内ネットワーク
├ パソコン (192.168.1.10)
├ スマホ (192.168.1.11)
└ タブレット(192.168.1.12)
問題:家庭内の機器はプライベートIPアドレス(192.168.1.x)を使っていますが、インターネットではこのIPアドレスは使えません。
解決:ルーターが「IPマスカレード」を行います:
- パソコンがGoogle(8.8.8.8)にアクセスしたい
- ルーターが「192.168.1.10」を「グローバルIP」に変換
- インターネットに送信
- 返信が来たらルーターが元の「192.168.1.10」に戻して配送
これにより、複数の機器が1つのインターネット接続を共有できます。
関連コマンドの詳細
1. ルーティング設定コマンド
# デフォルトゲートウェイを設定
route add default gw 192.168.1.1
# 特定ネットワークへのルートを追加
route add -net 10.0.0.0/8 gw 192.168.1.1
# 新しいコマンド
ip route add default via 192.168.1.1
ip route add 10.0.0.0/8 via 192.168.1.1
# ルートを削除
ip route del 10.0.0.0/8
2. IPマスカレード設定コマンド
# IPフォワーディングを有効化
echo 1 > /proc/sys/net/ipv4/ip_forward
# iptablesでマスカレードを設定
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# 内部ネットワークから外部への通信を許可
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
3. 確認コマンド
# IPフォワーディングの状態確認
cat /proc/sys/net/ipv4/ip_forward
# NATテーブルの確認
iptables -t nat -L
# 接続状況の確認
netstat -an