今回は、CentOSでルーティングを変更したいって時に役に立つコマンドと設定方法をご紹介致します。
route add -net 172.16.0.0 gw 172.16.0.1 netmask 255.255.0.0 eth0
ホスト172.16.0.10 宛をgw 172.16.0.1 へ向けるルーティング
route add -host 172.16.0.10 gw 172.16.0.1 eth0
gw 172.16.0.1 へ向いてるネットワーク172.16.0.0 のルーティングを削除
route delete -net 172.16.0.0 gw 172.16.0.1 netmask 255.255.0.0 eth0
gw 172.16.0.1 へ向いてるホスト172.16.0.10 のルーティングを削除
route delete -host 172.16.0.10 gw 172.16.0.1 eth0
上記のコマンドはルーティングを変更できるが一時的でありLinuxを再起動すると設定ファイルのルーティング情報が読み込まれるので、permanent設定をするには以下のファイルに設定を行う。
vi /etc/sysconfig/network-scripts/route-インターフェイス名
[設定例]/etc/sysconfig/network-scripts/route-インターフェイス名
ADDRESS0=172.16.0.0
NETMASK0=255.255.0.0
GATEWAY0=172.16.0.1
ADDRESS1=172.17.0.0
NETMASK1=255.255.0.0
GATEWAY1=172.17.0.1
設定が完了したらnetwork.serviceを再起動
systemctl restart network
その他、ip route コマンドでもルーティングを変更することができる。
ネットワーク172.16.0.0 宛を gw 172.16.0.1 へ向けるルーティング
ip route add 172.16.0.0/16 via 172.16.0.1 dev eth0
ホスト172.16.0.10 宛をgw 172.16.0.1 へ向けるルーティング
ip route add 172.16.0.10 via 172.16.0.1 dev eth0
ネットワーク172.16.0.0 のルーティングを削除
ip route del 172.16.0.0/16
ホスト172.16.0.10 のルーティングを削除
ip route del 172.16.0.10
/etc/sysconfig/network-scripts/route-インターフェイス名の設定ファイルをviで開いて編集しなくても nmcliコマンドを使えばpermanentの設定ができる。
nmcli con eth0 +ipv4.routes “172.18.0.0/16 172.18.0.1”
cat /etc/sysconfig/network-scripts/route-eth0
ADDRESS0=172.16.0.0
NETMASK0=255.255.0.0
GATEWAY0=172.16.0.1
ADDRESS1=172.17.0.0
NETMASK1=255.255.0.0
GATEWAY1=172.17.0.1
ADDRESS3=172.18.0.0
NETMASK3=255.255.0.0
GATEWAY3=172.18.0.1
ADDRESS3、NETMASK3、GATEWAY3が新たに追加される。