目次
概要
Linuxはルータや監視装置としても利用可能です。このページでは以下を学びます:
- 複数のサブネット間のルーティング
- ルータ機能(IPフォワード)の有効化
- ネットワーク監視・分析ツールの使い方
1. ルーティングテーブルの管理
基本コマンド
ip route
表示例:
default via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100
経路の追加(サブネット間の通信)
sudo ip route add 192.168.2.0/24 via 192.168.1.254
経路の削除
sudo ip route del 192.168.2.0/24
古い形式(非推奨だが参考として)
sudo route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.254
2. IPフォワード(ルータ機能)の有効化
Linuxを複数ネットワーク間のルータとして使うには、IPフォワードを有効にする必要があります。
一時的に有効化(再起動で元に戻る)
sudo sysctl -w net.ipv4.ip_forward=1
永続的に有効化(再起動後も有効)
sudo nano /etc/sysctl.conf
次を追加またはアンコメント:
net.ipv4.ip_forward = 1
反映させる:
sudo sysctl -p
IPv6 のフォワードも可能:
net.ipv6.conf.all.forwarding = 1
3. ネットワークデバイスの状態確認
デバイス一覧とIPアドレスの確認
ip a
または:
ifconfig
ネットワーク統計情報
ip -s link
4. 通信状態とトラフィックの監視ツール
① ping/ping6
接続確認用の定番ツール:
ping 8.8.8.8
ping6 2001:4860:4860::8888
② netcat(nc, ncat)
任意のポートでの通信確認:
nc -zv example.com 80
サーバーモード:
nc -l 12345
クライアントモード:
nc 127.0.0.1 12345
③ tcpdump(パケットキャプチャ)
例:ポート80のパケットを見る
sudo tcpdump -i eth0 port 80
④ nmap(ポートスキャン)
nmap -sS 192.168.1.1
オプション例:
| オプション | 説明 |
|---|---|
-sS | TCP SYN スキャン |
-O | OS検出 |
-p | ポート指定 |
⑤ ss(socket統計)
ss -tuln
| オプション | 内容 |
|---|---|
-t | TCP |
-u | UDP |
-l | Listen 状態のみ |
-n | 数値形式(名前解決なし) |
⑥ netstat(旧ツール、ss推奨)
netstat -tulnp
まとめ
| 項目 | 使用コマンド例 |
|---|---|
| ルート確認/設定 | ip route, route |
| ルータ機能の有効化 | sysctl, /etc/sysctl.conf |
| インターフェイス確認 | ip a, ifconfig |
| 接続確認 | ping, netcat, ss |
| パケットキャプチャ | tcpdump |
| ポートスキャン | nmap |
補足:ネットワーク構成例(図示)
[Client PC] ─── [Linuxルータ] ─── [192.168.2.0/24 LAN]
│ │
192.168.1.100 eth0:192.168.1.1
eth1:192.168.2.1
このような構成では、Linuxルータで IPフォワード を有効にし、経路設定をすることで両LAN間の通信が可能になります。
コメント