当前位置: 代码网 > 服务器>网络>网络协议 > route路由命令、ip route命令、default默认路由(0.0.0.0 )

route路由命令、ip route命令、default默认路由(0.0.0.0 )

2024年08月02日 网络协议 我要评论
也就是说不带H参数时,表示是一个网段地址,即多个地址,此时route add -net 命令需指定掩码参数。注意:这个网关不是随便填的,必须是一个真实存在的能通的,例如你的网卡必须有一个连接到某个3层路由的网线,否则会报 Network is unreachable。host类型时,单个地址,掩码 固定位255.255.255.255,也可以不填,自动补为255.255.255.255(ipv4时)(不包括 loopback)。-4|-6 ,表示是 ip4 | ipv6,可以为空,默认是ipv4。


路由的基础概念:
【计算机网络】linux下路由配置总结

概述

网络管理是一个复杂而庞大的体系,博主最近刚好学了一点关于网络的知识,就跟大家分享一下如何管理网卡、配置及查看ip地址和路由表。主要通过以下几个命令来演示一下。

现在一些旧的命令由于功能上有欠缺,已经逐渐被新命令取代。

旧命令新命令
ifconfigip addr
routeip route
ip link

3. route语法

通过man route查看详细语法

name
       route - show / manipulate the ip routing table

synopsis
       route [-cfvnnee] [-a family |-4|-6]

       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  [-v] [-a family |-4|-6] del [-net|-host] target [gw gw] [netmask nm] [metric n] [[dev] if]

       route  [-v] [--version] [-h] [--help]

  • route add 和 route del 是主体命令

  • -net | -host 表示是 号段 | 单个ip,必选,二选一
    host类型时,单个地址,掩码 固定位255.255.255.255,也可以不填,自动补为255.255.255.255(ipv4时)
    net时,掩码必填

  • netmask 掩码,非必选

  • -4|-6 ,表示是 ip4 | ipv6,可以为空,默认是ipv4

  • -n 把专用字符 替换为数字形式的

    例如 default会自动替换为0.0.0.0

    # route
    destination     gateway         genmask         flags metric ref    use iface
    default         gateway         0.0.0.0         ug    0      0        0 eth0
    
    # route -n
    destination     gateway         genmask         flags metric ref    use iface
    0.0.0.0         10.238.88.254   0.0.0.0         ug    0      0        0 eth0
    
    
  • target 表示想到达的目标网络或单个地址

  • gw 网关地址 ,即下一跳地址
    注意:这个网关不是随便填的,必须是一个真实存在的能通的,例如你的网卡必须有一个连接到某个3层路由的网线,否则会报 network is unreachable
    网关地址概念参见

  • dev ethxxx 目标网卡,非必选。若不指定所用的网卡设备,则会自动选择电脑上的第一个网卡(不包括 loopback)。也就是说当你环境上就一个非lo的网卡时,可以不指定,否则最好指定。

3.1 查看路由表

route 或route -n ,多用后者
在这里插入图片描述
这里的网关是指下一跳地址

默认是查看ipv4路由,如果想查看ipv6的:

route -n -6

3.1 参数解释

在这里插入图片描述
flags标志说明:

  • u up表示此路由当前为启动状态

  • h host,表示此网关为单一主机地址 , 由 route add -host 命令创建的, 无需指掩码,自动为255.255.255.255(ipv4时)

    也就是说不带h参数时,表示是一个网段地址,即多个地址,此时route add -net 命令需指定掩码参数。有的文章说网段为对应的- flags为n,可能是不同的linux版本。

  • g gateway,表示此网关为一路由器

  • r reinstate route,使用动态路由重新初始化的路由

  • d dynamically,此路由是动态性地写入

  • m modified,此路由是由路由守护程序或导向器动态修改

3.2 添加路由记录

是临时添加的记录,重启network服务就失效

3.2.1 添加到达单个目标主机的路由

如果你想添加一个目标地址的话,可以采用这个方法,[]表示可选

 route add -host 目标主机 gw 网关 [ dev 接口 ]

比如 给eth0网卡添加一条到达10.1.111.111的路由记录,网关是10.2.111.111

 route add -host 10.1.111.111 gw 10.2.111.111 dev eth0

在这里插入图片描述

如果是ipv6,则 ip -6 add

3.2.2 添加到达目标网络的路由

如果你想把某个网络的全部地址都加入路由的话,可以采用这个方法

 route add -net 目标网络 netmask 子网掩码 gw 网关 dev 接口

或者 cidr格式:

route add -net 目标网络/子网掩码 gw 网关 dev 接口

比如 给eth0网卡添加一条到达网络10.1.0.0/16的路由,网关是10.2.111.111

    route add -net 10.1.0.0 netmask 255.255.0.0 gw 10.2.111.111 dev eth0

或者 cidr格式:

  route add -net 10.1.0.0/16 gw 10.2.111.111 dev eth0

在这里插入图片描述

3.2.3 添加默认路由

默认路由作用参见

语法:

 route add default gw 网关  [dev ethxxx]

比如给eth0添加一条默认路由,网关是10.2.111.111

 route add default gw 10.2.111.111  dev eth0 

等价于 :

#可以 default是一个网段 ,要以-net开头 
route add -net 0.0.0.0  netmask 0.0.0.0 gw 10.2.111.111  dev eth0 

在这里插入图片描述

3.3 删除路由记录

删除路由记录只需要把添加路由记录命令中的add改成del就可以了,不过删除路由记录可以省略接口

1)删除到达目标主机的路由记录

route del -host 主机名

2)删除到达目标网络的路由记录

route del -net 目标网络/子网掩码

3)删除默认路由

route del default 或 route del -net 0.0.0.0

4. ip route

ip route 的用法与route大同小异

 ip route { list | flush } selector   //查看路由
 ip route save selector
 ip route restore
 ip route showdump
 ip route get address [ from address iif string ]
                      [ oif string ] [ tos tos ]
                      [ mark number ] [ vrf name ]
                      [ uid number ]
 ip route { add | del | change | append | replace } route   //添加路由、删除路由

selector := [ root prefix ] [ match prefix ] [ exact prefix ]
            [ table table_id ] [ vrf name ] [ proto rtproto ]
            [ type type ] [ scope scope ]
route := node_spec [ info_spec ]
node_spec := [ type ] prefix [ tos tos ]
             [ table table_id ] [ proto rtproto ]
             [ scope scope ] [ metric metric ]
info_spec := nh options flags [ nexthop nh ]...
nh := [ encap encaptype encaphdr ] [ via [ family ] address ]
            [ dev string ] [ weight number ] nhflags
family := [ inet | inet6 | ipx | dnet | mpls | bridge | link ]
options := flags [ mtu number ] [ advmss number ] [ as [ to ] address ]
           [ rtt time ] [ rttvar time ] [ reordering number ]
           [ window number ] [ cwnd number ] [ initcwnd number ]
           [ ssthresh number ] [ realms realm ] [ src address ]
           [ rto_min time ] [ hoplimit number ] [ initrwnd number ]
           [ features features ] [ quickack bool ] [ congctl name ]
           [ pref pref ] [ expires time ]
type := { unicast | local | broadcast | multicast | throw |
          unreachable | prohibit | blackhole | nat }
table_id := [ local | main | default | all | number ]
scope := [ host | link | global | number ]          //scop 传播范围
nhflags := [ onlink | pervasive ]
rtproto := [ kernel | boot | static | number ]    //proto  来源类型
pref := [ low | medium | high ]
time := number[s|ms]
bool := [1|0]
features := ecn
encaptype := [ mpls | ip | ip6 ]
encaphdr := [ mplslabel ]

4.1 查看路由

ip route { list | flush } selector ,查看路由

selector 是过滤的条件,可选参数,具体的条件参见selector ;

如果是ipv6:

 ip -6 route -n   // -6 一定要跟在ip后面

4.1.1 不带条件

当selector 为空时,可以简写 ,以下均可以:

ip r
ip route
ip route show
ip route list

ip route显示的路由记录与route显示的格式不一样
在这里插入图片描述

4.1.2 带条件

例如过滤出 unicast类型的路由:

ip route list type unicast     

4.1.3 字段解释

表示默认路由,即当没有其他路由匹配时,数据包将会被发送到的地址。

4.1.3 字段解释

  • default:表示默认路由,即当没有其他路由匹配时,数据包将会被发送到的地址。

  • via xxx:后面跟随的ip地址是数据包应当被转发到的下一跳ip地址

  • dev xxxx:表示数据包应通过的出接口。

  • proto 路由的来源
    proto kernel 表示该路由条目是由内核自动创建的,通常用于处理本地流量或者路由决策是由内核模块(如策略路由或ipvs)做出的,而不是由用户手动添加的
    类似动态主机配置协议 dhcp ,会自动给我们的机器分配地址,同时能联网,即自动也添加了一条路由。 参见 dhcp是什么意思 路由器中dhcp服务器怎么设置?

    proto boot 表示由系统启动时从某些配置文件(如/etc/fstab)加载

  • scope 限定了转发范围。
    scope link 这意味着这些路由条目只适用于本地链路(local link),不会被转发到其他网络。

  • src 表示路由产生的源地址

4.2 添加路由

1)添加到达目标主机的路由记录

ip route add 目标主机 via 网关 dev ethxxx

2)添加到达网络的路由记录

ip route add 目标网络/掩码 via 网关 dev ethxxx

3)添加默认路由

ip route add default via 网关 dev ethxxx

下面只举一个例子说明一下。

比如增加一条到达主机10.2.111.112的路由,网关是10.1.111.112

ip route add 10.2.111.112 via 10.1.111.112   dev eth0

在这里插入图片描述

4.3 删除路由

ip route del 目标网络/掩码

ip route del default [via 网关]

4.4 清空路由表:

ip route flush

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com