route - show / manipulate the IP routing table

route命令用于显示和操作IP路由表。

route命令用来显示并设置Linux内核中的网络路由表,route命令设置的路由主要是静态路由。

要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。
在Linux系统中设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的ip地址设置为Linux机器的默认路由。

要注意的是,直接在命令行下执行route命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了;可以在/etc/rc.local中添加route命令来保证该路由设置永久有效。

linux 默认只支持一条默认路由,当重新启动网口时,会把其他默认路由去掉,只剩下一条该网口生成的默认路由。当然可以通过 route 命令手动添加多条默认路由,如果多条路由一样,则选择最开始找到的路由(排在前面的路由)。

语法:

   route [-CFvnee]

  route [-v] [-A family] 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] del [-net|-host] target [gw Gw] [netmask Nm] [metric N] [[dev] If]

  route [-V] [--version] [-h] [--help]

选项-描述:

  • -A 设置地址类型;
  • -C 打印将Linux核心的路由缓存;
  • -v 详细信息模式;
  • -n 不执行DNS反向查找,直接显示数字形式的IP地址;
  • -ee 使用更详细的咨询来显示,netstat的格式显示路由表;
  • -net 到一个网络的路由表;
  • -host 到一个主机的路由表。
  • -F 显示发送信息

参数-描述

  • Add 增加指定的路由记录;
  • Del 删除指定的路由记录;
  • Target 目的网络或目的主机;
  • gw 设置默认网关;
  • mss 设置TCP的最大区块长度(MSS),单位MB;
  • window 指定通过路由表的TCP连接的TCP窗口大小;
  • dev 路由记录所表示的网络接口。
  • reject 设置到指定网络为不可达,避免在连接到这个网络的地址时程序过长时间的等待,直接就知道该网络不可达。

查看路由信息:

[root@oldboy ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.2.0 * 255.255.255.0 U 0 0 0 eth0
192.168.0.0 * 255.255.255.0 U 0 0 0 eth3
link-local * 255.255.0.0 U 1002 0 0 eth0
link-local * 255.255.0.0 U 1003 0 0 eth3
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth3

显示信息说明

标题 说明
Destination 目标网段或者主机
Gateway 网关地址,* 表示目标是本主机所属的网络,不需要路由
Genmask 网络掩码
Flags 路由标志,标记当前网络节点的状态;
U: Up表示此路由当前为启动状态,路由是活动的;
H: Host,表示此网关为一主机,目标是一个主机;
G: Gateway,表示此网关为一路由器;路由指向网关;
R: Reinstate Route,使用动态路由重新初始化的路由;恢复动态路由产生的表项;
D: Dynamically,此路由是动态性地写入,由路由的后台程序动态地安装;
M: Modified,此路由是由路由守护程序或导向器动态修改,由路由的后台程序修改;
!: 表示此路由当前为关闭状态;拒绝路由;
Metric 路由距离,到达指定网络所需的中转数
Ref 路由项引用次数\
Use 此路由项被路由软件查找的次数
Iface 该路由表项对应的输出接口

查看参数说明

参数 说明
-c 显示更多信息
-n 不解析名字
-v 显示详细的处理信息
-F 显示发送信息
-C 显示路由缓存

配置静态路由:

命令

route  [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]

参数说明

参数 说明
add 添加一条路由规则
del 删除一条路由规则
-net 目的地址是一个网络
-host 目的地址是一个主机
target 目的网络或主机
netmask 目的地址的网络掩码
gw 路由数据包通过的网关
dev 为路由指定的网络接口

示例:

添加默认网关 为10.0.0.1
root@text:~# route add default gw 10.0.0.1
删除默认网关
root@text:~# route del default gw 10.0.0.1 添加到主机的路由
root@text:~# route add -host 192.168.10.2 dev eth3
root@text:~# route -n
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.10.2 * 255.255.255.255 UH 0 0 0 eth3
删除到主机的路由
root@text:~# route del -host 192.168.10.2 dev eth3 添加到网络192.168.55.0的路由
root@text:~# route add -net 192.168.55.0 netmask 255.255.255.0 eth3
屏蔽到网路192.168.55.0的路由
route add -net 192.168.55.0 netmask 255.255.255.0 reject
删除到网络的路由
root@text:~# route del -net 192.168.55.0 netmask 255.255.255.0 eth3

参考:https://blog.csdn.net/u011857683/article/details/83795435

【Linux常见命令】route命令的更多相关文章

  1. 关于Linux路由表的route命令(转)

    查看 Linux 内核路由表 使用下面的 route 命令可以查看 Linux 内核路由表. # route Destination  Gateway      Genmask          Fl ...

  2. Linux路由表信息-route命令

    使用命令 :route route 命令    显示和设置Linux路由表 -A:设置地址类型: -C:打印将Linux核心的路由缓存: -v:详细信息模式: -n:不执行DNS反向查找,直接显示数字 ...

  3. 关于Linux路由表的route命令

    转自:http://www.cnblogs.com/gunl/archive/2010/09/14/1826234.html 查看 Linux 内核路由表 使用下面的 route 命令可以查看 Lin ...

  4. Linux常见目录及命令介绍

    一.Linux中常用的目录介绍:     /        -根目录     /bin    -命令保存目录(普通用户亦可读取的命令)     /boot    -启动目录,启动相关文件     /d ...

  5. linux下的route命令

    语法: route [-CFvnee] route [add|del]  [-net|-host] [网络或主机] netmask [gw|dev] route  [-V] [--version] [ ...

  6. linux 常见名词及命令(三)

    tar 用于对文件打包压缩或解压. 示例: 打包并压缩文件:tar -czvf 压缩包名.tar.gz 文件名 解压并展开压缩包:tar -zxvf 压缩包名.tar.gz -c 创建压缩文件 -x ...

  7. 性能工具之linux常见日志统计分析命令

    引言 我前几天写过的性能工具之linux三剑客awk.grep.sed详解,我们已经详细介绍 linux 三剑客的基本使用,接下来我们看看具体在性能测试领域的运用,本文主要介绍的是在 Tomcat 和 ...

  8. linux 常见名词及命令(一)

    linux  PK  wondows 稳定且有效率.免费或少许费用.漏洞少且修补快.多任务多用户. 安全的用户及文件权限策略.适合小内核程序的嵌入系统.相对不耗资源. 热门的开源系统 红帽企业系统(R ...

  9. linux 常见名词及命令(五)

    计划任务服务之一次性任务: at <时间> 安排一次性任务 atq 或at -l 查看任务列表 at -c 序号 预览任务与设置环境 atrm 序号 删除任务 安排任务示例: 在23:30 ...

  10. Linux常见的Shell命令

    1.具体的shell命令用法可以通过help或man命令进入手册来查询其具体的用法.2.终端本质上对应着linux上的/dev/tty设备,linux的多用户登录就是通过不同的/dev/tty设备完成 ...

随机推荐

  1. C语言:signed和unsigned的区别

    参考博客:https://blog.csdn.net/wen381951203/article/details/79922220 signed和unsigned用于修饰整数类型(包括char,从ANS ...

  2. Github使用SSH的步骤

    1) 打开git bash命令行工具 2) 输入下面命令生成一对私钥和公钥 ssh-keygen -t rsa -b 4096 -C "你的github的邮箱" 3) 输入公钥和私 ...

  3. 【mysql】mysql优化

    一,表设计 1.1. E-R(entity relation)实体关系图 长方形 实体 表 椭圆形 属性 字段 菱形 关系 一对一 多对一 属于 多对多 1.2. 三范式标准 原子性 个人信息 省市县 ...

  4. PyJWT 详解

    1.首先,我们需要先了解 JWT 的概念,所以我们先看pyjwt的官网 https://jwt.io/ 2.对于官方 JWT 有两篇博文写的不错分别如下: https://blog.csdn.net/ ...

  5. Node教程——API接口开发(MangoDB+Express)

    一.大纲 大纲: 关于架构, 首先我们的有一个app.js这个就是根路由起点,用来最初的打入口 它的功能有: 1.1 引入模块创建基础的网站服务器, 1.2 导入bodyPasser,过滤还有处理我们 ...

  6. TP5快速入门

    一.查询 //order支持使用数组对多个字段的排序,例如order(['order','id'=>'desc']) //group方法只有一个参数,并且只能使用字符串. //having方法只 ...

  7. Python设计模式(4)-装饰模式

    # coding=utf-8 # * 一般情况下,当一个基类写好之后,我们也许不愿意去改动,也不能改动,原因是# * 这样的在项目中用得比较久的基类,一旦改动,也许会影响其他功能模块,但是,# * 又 ...

  8. 萌新带你开车上p站(三)

    本文作者:萌新 前情回顾: 萌新带你开车上p站(一) 萌新带你开车上p站(二) 0x08 题目给的提示是和运算符优先级有关 登录后直接看源码 mistake@pwnable:~$ ls flag mi ...

  9. 【Tool】Windows系统安装Maven依赖管理工具

    安装Maven依赖管理工具 官网下载地址:http://maven.apache.org/download.cgi 系统环境要求: [JDK]Maven3.3版本+需要JDK1.7版本以上支持 [内存 ...

  10. DataGridView编辑状态自动提交

    在使用bindingSource.bindingNavigator+DataGridView修改时会发现,当你需要保存修改过后的内容,必须将光标指向另外一行,DataGridView才会将编辑过后的数 ...