본문으로 바로가기

 : route 명령은 IP 라우팅 테이블을 보여주거나 조작할 시 사용하는 명령어 입니다.

 

목차

     

    옵션

     -A family

      :  family 로 지정된 (inet , inet6)  라우팅 테이블 출력

    더보기
    $ route -A inet
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    default         _gateway        0.0.0.0         UG    100    0        0 enp3s0
    link-local      0.0.0.0         255.255.0.0     U     1000   0        0 enp3s0
    192.168.19.0    0.0.0.0         255.255.255.0   U     100    0        0 enp3s0
    
    $ route -A inet6
    Kernel IPv6 routing table
    Destination                    Next Hop                   Flag Met Ref Use If
    ip6-localhost/128              [::]                       U    256 1     0 lo
    fd8f:5430:7582:1::/64          fe80::2eba:baff:fe96:c057  UG   100 2     0 enp3s0
    fdf5:60c8:e646:2d6b::/64       [::]                       U    100 1     0 enp3s0
    fe80::/64                      [::]                       U    1024 2     0 enp3s0
    [::]/0                         [::]                       !n   -1  1     0 lo
    ip6-localhost/128              [::]                       Un   0   6     0 lo
    ubuntu22/128                   [::]                       Un   0   10     0 enp3s0
    ubuntu22/128                   [::]                       Un   0   9     0 enp3s0
    ubuntu22/128                   [::]                       Un   0   2     0 enp3s0
    ip6-mcastprefix/8              [::]                       U    256 10     0 enp3s0
    [::]/0                         [::]                       !n   -1  1     0 lo
    
    $ route -4
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    default         _gateway        0.0.0.0         UG    100    0        0 enp3s0
    link-local      0.0.0.0         255.255.0.0     U     1000   0        0 enp3s0
    192.168.19.0    0.0.0.0         255.255.255.0   U     100    0        0 enp3s0
    
    $ route -6
    Kernel IPv6 routing table
    Destination                    Next Hop                   Flag Met Ref Use If
    ip6-localhost/128              [::]                       U    256 1     0 lo
    fd8f:5430:7582:1::/64          fe80::2eba:baff:fe96:c057  UG   100 2     0 enp3s0
    fdf5:60c8:e646:2d6b::/64       [::]                       U    100 1     0 enp3s0
    fe80::/64                      [::]                       U    1024 2     0 enp3s0
    [::]/0                         [::]                       !n   -1  1     0 lo
    ip6-localhost/128              [::]                       Un   0   6     0 lo
    ubuntu22/128                   [::]                       Un   0   10     0 enp3s0
    ubuntu22/128                   [::]                       Un   0   9     0 enp3s0
    ubuntu22/128                   [::]                       Un   0   2     0 enp3s0
    ip6-mcastprefix/8              [::]                       U    256 10     0 enp3s0
    [::]/0                         [::]                       !n   -1  1     0 lo

     -F 옵션

      :  커널 FIB 라우팅  테이블 기반으로 작동 

    $ route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.19.1    0.0.0.0         UG    100    0        0 enp3s0
    169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enp3s0
    192.168.19.0    0.0.0.0         255.255.255.0   U     100    0        0 enp3s0
    
    $ route -F
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    default         _gateway        0.0.0.0         UG    100    0        0 enp3s0
    link-local      0.0.0.0         255.255.0.0     U     1000   0        0 enp3s0
    192.168.19.0    0.0.0.0         255.255.255.0   U     100    0        0 enp3s0

     -C 옵션

    커널 3.6 이전버전에서는 탐색 과정이 라우팅 캐시 탐색과 
    캐시 미스 시 라우팅 테이블 탐색 단계로 나뉘어졌는데 라우팅 캐시가 느리거나 시큐리티에 취약하다는 문제점이 
    제기되 제거되고, Fib Trie/ LC Trie 알고리즘을 사용하는 새로운 기술로 교체 되었다.

     

     -v 옵션

      : verbose 라고 하느데  옵션 미사용시와  동일하게 출력됨.

    $ route -v
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    default         _gateway        0.0.0.0         UG    100    0        0 enp3s0
    link-local      0.0.0.0         255.255.0.0     U     1000   0        0 enp3s0
    192.168.19.0    0.0.0.0         255.255.255.0   U     100    0        0 enp3s0
    192.168.55.0    0.0.0.0         255.255.255.0   U     1024   0        0 enp3s0

     

    -n 옵션

     : 심볼릭 호스트 이름 대신 숫자 주소 사용해 출력하기

    $ route
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    default         _gateway        0.0.0.0         UG    100    0        0 enp3s0
    link-local      0.0.0.0         255.255.0.0     U     1000   0        0 enp3s0
    192.168.19.0    0.0.0.0         255.255.255.0   U     100    0        0 enp3s0
    
    $ route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.19.1    0.0.0.0         UG    100    0        0 enp3s0
    169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enp3s0
    192.168.19.0    0.0.0.0         255.255.255.0   U     100    0        0 enp3s0

     

     -e 옵션

    $ route -e
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
    default         _gateway        0.0.0.0         UG        0 0          0 enp3s0
    link-local      0.0.0.0         255.255.0.0     U         0 0          0 enp3s0
    192.168.19.0    0.0.0.0         255.255.255.0   U         0 0          0 enp3s0
    192.168.55.0    0.0.0.0         255.255.255.0   U         0 0          0 enp3s0
    
    >> 모든 파라미터 표시
    $ route -ee
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface    MSS   Window irtt
    default         _gateway        0.0.0.0         UG    100    0        0 enp3s0   0     0      0
    link-local      0.0.0.0         255.255.0.0     U     1000   0        0 enp3s0   0     0      0
    192.168.19.0    0.0.0.0         255.255.255.0   U     100    0        0 enp3s0   0     0      0
    192.168.55.0    0.0.0.0         255.255.255.0   U     1024   0        0 enp3s0   0     0      0
    
    >> netstat 명령 사용예
    $ netstat -r
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
    default         _gateway        0.0.0.0         UG        0 0          0 enp3s0
    link-local      0.0.0.0         255.255.0.0     U         0 0          0 enp3s0
    192.168.19.0    0.0.0.0         255.255.255.0   U         0 0          0 enp3s0
    192.168.55.0    0.0.0.0         255.255.255.0   U         0 0          0 enp3s0

     

    del 

      : 라우트 제거하기

    Syntax :

        route  [-v] [-A family |-4|-6] del [-net|-host] target [gw Gw] [netmask Nm] [metric M] [[dev] If]

    $ route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.19.1    0.0.0.0         UG    100    0        0 enp3s0
    169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enp3s0
    192.168.19.0    0.0.0.0         255.255.255.0   U     100    0        0 enp3s0
    192.168.55.0    0.0.0.0         255.255.255.0   U     1024   0        0 enp3s0  <-- 요기 삭제
    
    $ sudo route del -net 192.168.55.0 netmask 255.255.255.0 metric 1024 dev enp3s0
    $ route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.19.1    0.0.0.0         UG    100    0        0 enp3s0
    169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enp3s0
    192.168.19.0    0.0.0.0         255.255.255.0   U     100    0        0 enp3s0

     

    add

      : 새로운 라우트 추가하기

    Synopsis:

        route  [-v] [-A family |-4|-6] add [-net|-host] target [netmask Nm] [gw Gw] [metric N] [mss M] [window W] [irtt I] 

                  [reject] [mod] [dyn] [reinstate] [[dev] If]

    $ route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.19.1    0.0.0.0         UG    100    0        0 enp3s0
    169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enp3s0
    192.168.19.0    0.0.0.0         255.255.255.0   U     100    0        0 enp3s0
    
    $ sudo route add -net 192.168.55.0 netmask 255.255.255.0 metric 1024 dev enp3s0
    
    $ route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.19.1    0.0.0.0         UG    100    0        0 enp3s0
    169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enp3s0
    192.168.19.0    0.0.0.0         255.255.255.0   U     100    0        0 enp3s0
    192.168.55.0    0.0.0.0         255.255.255.0   U     1024   0        0 enp3s0  <-- 요기 추가됨

     

     

    → target

     

    Syntax : 

       route [-v] [-A family] add [-net | -host] target  [netmask Nm] ....

       route [-v] [-A family]  del [-net | -host] target [gw Gw] [netmask Nm] ....

      : target 은 앞의 옵션에 따라 목적지 network 또는 host  가 됩니다.

     

    -net

     $ sudo route add -net 127.0.0.0 netmask 255.0.0.0 metric 1024 dev lo
     
     ~$ route
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    default         _gateway        0.0.0.0         UG    100    0        0 enp3s0
    127.0.0.0       0.0.0.0         255.0.0.0       U     1024   0        0 lo      <--- 요기
    ~~ 중략 ~~

      : target (127.0.0.0)은 destination 이 됩니다.

     

    -host

      : host 옵션 사용하면 Flags 에 'H' 가 추가됩니다.

    $ sudo route add -host 192.168.19.48 gw 192.168.19.1 dev enp3s0
    $ route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    ~~ 중략 ~~
    192.168.19.48   192.168.19.1    255.255.255.255 UGH   0      0        0 enp3s0
    
    $ route
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    ~~ 중략 ~~
    ubuntu22        _gateway        255.255.255.255 UGH   0      0        0 enp3s0
    
    
    >>> www.google.co.kr 라우팅 테이블 추가
    ~$ sudo route add -host www.google.co.kr gw 192.168.19.1 dev enp3s0
    $ route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    ~~ 중략 ~~
    142.250.206.227 192.168.19.1    255.255.255.255 UGH   0      0        0 enp3s0
    ~~ 중략 ~~
    
    $ route
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    ~~ 중략 ~~
    kix06s10-in-f3. _gateway        255.255.255.255 UGH   0      0        0 enp3s0
    ~~ 중략 ~~
    
    >>> www.google.co.kr 라우팅 테이블 지우기
    $ sudo route del -host www.google.co.kr    
    chlee@ubuntu22:~$ route
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    default         _gateway        0.0.0.0         UG    100    0        0 enp3s0
    127.0.0.0       0.0.0.0         255.0.0.0       U     1024   0        0 lo
    link-local      0.0.0.0         255.255.0.0     U     1000   0        0 enp3s0
    192.168.19.0    0.0.0.0         255.255.255.0   U     100    0        0 enp3s0
    192.168.19.26   _gateway        255.255.255.255 UGH   0      0        0 enp3s0
    ubuntu22        _gateway        255.255.255.255 UGH   0      0        0 enp3s0

     

    netmask NM

       :  라우팅 테이블 추가시 netmask 옵션 사용됨. 위의 다른 예제 참고

     

    gw  GW

      : GW 에 지정된 게이트웨이를 통한 패킷 라우트

     

    metric M

     :   라우팅 테이블 안의 metric 필드 값이 M 설정하기. (목적지 네트워크까지의 거리)

         이필드 미지정시 IPv6 의 경우 1 , IPv4 의 경우 0 이 설정됩니다.

    $ route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.19.1    0.0.0.0         UG    100    0        0 enp3s0
    169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enp3s0
    192.168.19.0    0.0.0.0         255.255.255.0   U     100    0        0 enp3s0
    
    ~$ sudo route add -net 127.0.0.0 netmask 255.0.0.0 metric 1024 dev lo
    $ route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    ~~ 중략 ~~
    127.0.0.0       0.0.0.0         255.0.0.0       U     1024   0        0 lo
    ~~ 중략 ~~

    mss M

     :  라우트시 MTU 크기 설정

    $ route -ee
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface    MSS   Window irtt
    default         _gateway        0.0.0.0         UG    100    0        0 enp3s0   0     0      0
    link-local      0.0.0.0         255.255.0.0     U     1000   0        0 enp3s0   0     0      0
    192.168.19.0    0.0.0.0         255.255.255.0   U     100    0        0 enp3s0   0     0      0
    
    $ sudo route add -net 127.0.0.0 netmask 255.0.0.0 mss 1024 dev lo
    $ route -ee
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface    MSS   Window irtt
    ~~ 중략 ~~
    127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo       1024  0      0
    ~~ 중략 ~~

     

    window W

     : AX.25 네트워크에서만 사용됨.

     

    irtt I

    : AX.25 네트워크에서만 사용됨.

     

    reject 

     :  라우트를 블러킹하고 할때 사용

    $ sudo route add -net 192.168.19.26 netmask 255.255.255.255 reject
    $ route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    ~~ 중략 ~~
    192.168.19.26   -               255.255.255.255 !H    0      -        0 -
    
    $ ping 192.168.19.26
    ping: connect: No route to host
    
    
    $ sudo route del -net 192.168.19.26 netmask 255.255.255.255 reject
    chlee@ubuntu22:~$ route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.19.1    0.0.0.0         UG    100    0        0 enp3s0
    127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
    169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enp3s0
    192.168.19.0    0.0.0.0         255.255.255.0   U     100    0        0 enp3s0
    
    $ ping 192.168.19.26
    PING 192.168.19.26 (192.168.19.26) 56(84) bytes of data.
    64 bytes from 192.168.19.26: icmp_seq=1 ttl=128 time=0.760 ms
    64 bytes from 192.168.19.26: icmp_seq=2 ttl=128 time=0.403 ms
    64 bytes from 192.168.19.26: icmp_seq=3 ttl=128 time=0.371 ms

     

    mod, dyn, reinstate

     :  진단 목적으로 사용.

     

    dev If

     : 지정된 장치로 라우트

     

    -V

      : 버전 출력

    ~$ route -V
    net-tools 2.10-alpha
    +NEW_ADDRT +RTF_IRTT +RTF_REJECT +I18N +SELINUX
    AF: (inet) +UNIX +INET +INET6 +IPX +AX25 +NETROM +X25 +ATALK +ECONET +ROSE -BLUETOOTH
    HW:  +ETHER +ARC +SLIP +PPP +TUNNEL -TR +AX25 +NETROM +X25 +FR +ROSE +ASH +SIT +FDDI +HIPPI +HDLC/LAPB +EUI64

     

     

    --help

    $ route --help
    Usage: route [-nNvee] [-FC] [<AF>]           List kernel routing tables
           route [-v] [-FC] {add|del|flush} ...  Modify routing table for AF.
    
           route {-h|--help} [<AF>]              Detailed usage syntax for specified AF.
           route {-V|--version}                  Display version/author and exit.
    
            -v, --verbose            be verbose
            -n, --numeric            don't resolve names
            -e, --extend             display other/more information
            -F, --fib                display Forwarding Information Base (default)
            -C, --cache              display routing cache instead of FIB
    
      <AF>=Use -4, -6, '-A <af>' or '--<af>'; default: inet
      List of possible address families (which support routing):
        inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25)
        netrom (AMPR NET/ROM) ipx (Novell IPX) ddp (Appletalk DDP)
        x25 (CCITT X.25)

     

     

    < 기타 >

     Flags 

     

     

    반응형