ルーティングテーブル設定ドキュメント
LinuxのインストールされたマシンにNICを2枚以上挿していれば、ルータとして使用する事ができる。ルーティングの操作は/sbin/routeコマンドを使用する。
■準備
ルーティングとは要するに来たパケットを指定のIPにフォワードする事である。
ルーティングテーブルを編集する前に、/etc/sysctl.confを編集し、
net.ipv4.ip_forward = 0 |
となっている部分を
net.ipv4.ip_forward = 1 |
に変更する。こうする事でIPフォワードが有効になる。
■設定
ルーティングテーブルは
# /sbin/route |
と打つと
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.4.0 * 255.255.255.0 U 0 0 0 eth0 127.0.0.0 * 255.255.255.0 U 0 0 0 lo |
と現在のルーティングテーブルが表示される。
ルーティングテーブルを追加する時は
# /sbin/route add -net 192.168.5.0 netmask 255.255.255.0 gw 192.168.4.1 |
もしくはインターフェースを明示的に指定する時は
# /sbin/route add -net 192.168.5.0 netmask 255.255.255.0 gw 192.168.4.1 eth0 |
とコマンドを入力すると、ルーティングテーブルが次のように追加されている。
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.5.0 192.168.4.1 255.255.255.0 UG 0 0 0 eth0 192.168.4.0 * 255.255.255.0 U 0 0 0 eth0 127.0.0.0 * 255.255.255.0 U 0 0 0 lo |
なお、消去する場合はaddをdelに変更し、
# /sbin/route del -net 192.168.5.0 netmask 255.255.255.0 gw 192.168.4.1 |
と全て記述しなければならない。
/sbin/routeは整合性をチェックするため、ゲートウェイがなかったり、同じネットワークアドレスにルーティングしていたりする指定をした場合、エラーが表示されテーブルに追加されない。