記事一覧

    Linux CentOS 7 routeを変更するコマンド

    今回は、CentOSでルーティングを変更したいって時に役に立つコマンドと設定方法をご紹介致します。

     ネットワーク172.16.0.0 宛を gw 172.16.0.1 へ向けるルーティング
    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が新たに追加される。