wiki:TipAndDoc/network/defaultgw

Version 1 (modified by mitty, 15 years ago) (diff)

--

default gateway

  • default gateway (default route)の変更方法・扱い

複数設定されているとき

CentOS

ifcfg-eth?

  • ifcfg-eth? に書いた場合
  • /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    BOOTPROTO=static
    IPADDR=192.168.40.200
    NETMASK=255.255.255.0
    GATEWAY=192.168.40.1
    ONBOOT=yes
    
  • /etc/sysconfig/network-scripts/ifcfg-eth1
    DEVICE=eth1
    BOOTPROTO=static
    IPADDR=192.168.50.200
    NETMASK=255.255.255.0
    GATEWAY=192.168.50.1
    ONBOOT=yes
    
  • service network restart
    Bringing up interface eth0:                                [  OK  ]
    Bringing up interface eth1:                                [  OK  ]
    
  • 結果 => route
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    192.168.50.0    *               255.255.255.0   U     0      0        0 eth1
    192.168.40.0    *               255.255.255.0   U     0      0        0 eth0
    169.254.0.0     *               255.255.0.0     U     0      0        0 eth1
    default         192.168.50.1    0.0.0.0         UG    0      0        0 eth1
    
    • この状態で、実際にWANへpingを送るとeth1を通る
    • tcpdump icmp -n -i eth1
      listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes
      01:32:42.314543 IP 192.168.50.200 > 219.94.129.108: ICMP echo request, id 16947, seq 1, length 64
      01:32:42.330849 IP 219.94.129.108 > 192.168.50.200: ICMP echo reply, id 16947, seq 1, length 64
      
  • eth0とeth1を逆にしてみる
    • eth0
      IPADDR=192.168.50.200
      NETMASK=255.255.255.0
      GATEWAY=192.168.50.1
      
    • eth1
      IPADDR=192.168.40.200
      NETMASK=255.255.255.0
      GATEWAY=192.168.40.1
      
    • service network restart
      Bringing up interface eth0:                                [  OK  ]
      Bringing up interface eth1:                                [  OK  ]
      
    • 結果 => route
      Kernel IP routing table
      Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
      192.168.50.0    *               255.255.255.0   U     0      0        0 eth0
      192.168.40.0    *               255.255.255.0   U     0      0        0 eth1
      169.254.0.0     *               255.255.0.0     U     0      0        0 eth1
      default         192.168.40.1    0.0.0.0         UG    0      0        0 eth1
      
      • 今度もeth1を通る
      • tcpdump icmp -n -i eth1
        listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes
        01:39:05.380029 IP 192.168.40.200 > 219.94.129.108: ICMP echo request, id 26423, seq 1, length 64
        01:39:05.392541 IP 219.94.129.108 > 192.168.40.200: ICMP echo reply, id 26423, seq 1, length 64
        
  • LinkUPの順番を変える
    • ifup eth1; ifup eth0
      Kernel IP routing table
      Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
      192.168.50.0    *               255.255.255.0   U     0      0        0 eth0
      192.168.40.0    *               255.255.255.0   U     0      0        0 eth1
      169.254.0.0     *               255.255.0.0     U     0      0        0 eth0
      default         192.168.50.1    0.0.0.0         UG    0      0        0 eth0
      
    • tcpdump icmp -n -i eth0
      listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
      01:42:55.952191 IP 192.168.50.200 > 219.94.129.108: ICMP echo request, id 52536, seq 1, length 64
      01:42:55.965580 IP 219.94.129.108 > 192.168.50.200: ICMP echo reply, id 52536, seq 1, length 64
      

結論

  • 最後にLinkUPしたデバイスのgatewayが有効になる