概要
Linuxは標準の機能でルーティング機能を持っています。デフォルトでは無効化されているため有効化することで使用することができます。ルーティングしたいけど、スタティックだしルータ置くまでもないなーという場合使用したりしています。
IPフォワードを一時的に行う(再起動した場合消える)
現在のIPフォワードの状態を確認する
"0"であり無効化されていることを確認する
cat /proc/sys/net/ipv4/ip_forward
ip_forwardファイルを1で上書きする(一時的に有効)
echo 1 >/proc/sys/net/ipv4/ip_forward
現在のIPフォワードの状態を確認する
"1"に変化し有効化されていることを確認する
cat /proc/sys/net/ipv4/ip_forward
インターフェイスの設定
vi /etc/sysconfig/network-scripts/ifcfg-eth0
FORWARD_IPV4=yes GATEWAY= VATEWAYDEV=
インターフェイスの再起動
service network restart
ルーティングの追加
192.168.4.0への静的経路を追加する
route add -net 192.168.4.0 netmask 255.255.255.0 gw 192.168.0.254
デフォルトゲートウェイの追加
192.168.1.254をデフォルトゲートウェイにする
route add default gw 192.168.1.254
ルーティングの確認
192.168.4.0へのNWのスタティックルートとデフォルトゲートウェイが追加されていることを確認する
route
[root@localhost ~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.4.0 192.168.0.254 255.255.255.0 UG 0 0 0 eth0 192.168.0.0 * 255.255.252.0 U 1 0 0 eth0 default 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
ルーティングの削除
上記のルーティングを削除する場合、下記のコマンドを実行する
route del -net 192.168.4.0 netmask 255.255.255.0 gw 192.168.0.254
IPフォワードを常に行う
パケット転送を有効化
net.ipv4.ip_forward を"0"から"1"に変更する
vi /etc/sysctl.conf
net.ipv4.ip_forward = 1 以下略...
再読み込みを行う
sysctl -p
ルーティングを追加する
vi /etc/sysconfig/network-scripts/route-eth0
192.168.4.0/24 via 192.168.0.254 dev eth0