route命令

route - show / manipulate the IP routing table

route 命令常用命令示例

#显示路由
route
route -n # 不解析名字,快速显示
ip route show #添加路由
route add -net 192.168.16.0 netmask 255.255.255.0 dev enp0s3
route add -net 192.168.16.0 netmask 255.255.255.0 gw 192.168.16.1
route add -host 10.0.2.15 gw 10.0.2.2 #屏蔽路由
route add -net 192.168.16.0 netmask 255.255.255.0 reject #删除路由
route del -net 192.168.16.0 netmask 255.255.255.0
route del -net 192.168.16.0 netmask 255.255.255.0 reject
route del -host 10.0.2.15 gw 10.0.2.2 #设置默认路由(网关)
route add default gw 192.168.16.1
route del default gw 192.168.16.1

注意:

  • 命令行执行route命令添加路由,不会永久保存,网络重启之后该路由失效,可以在/etc/rc.local中添加route命令来设置永久路由。
  • 建议使用ip route命令代替route命令。ip - show / manipulate routing, devices, policy routing and tunnels
root@Ubuntu-1604:~# route
内核 IP 路由表
目标 网关 子网掩码 标志 跃点 引用 使用 接口
default 10.140.1.1 0.0.0.0 UG 100 0 0 enp0s3
10.140.1.0 * 255.255.255.0 U 100 0 0 enp0s3
cnhan1a-ipam-ns 10.140.1.1 255.255.255.255 UGH 100 0 0 enp0s3
link-local * 255.255.0.0 U 1000 0 0 enp0s3
root@Ubuntu-1604:~#
root@Ubuntu-1604:~# route -n
内核 IP 路由表
目标 网关 子网掩码 标志 跃点 引用 使用 接口
0.0.0.0 10.140.1.1 0.0.0.0 UG 100 0 0 enp0s3
10.140.1.0 0.0.0.0 255.255.255.0 U 100 0 0 enp0s3
10.171.8.60 10.140.1.1 255.255.255.255 UGH 100 0 0 enp0s3
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 enp0s3
root@Ubuntu-1604:~# ####
# Destination 目标网段或者主机
# Gateway 网关地址
# Genmask 网络掩码
# Flags 路由标志,标记当前网络节点的状态
# U Up表示此路由当前为启动状态
# H Host,表示此网关为一主机
# G Gateway,表示此网关为一路由器
# R Reinstate Route,使用动态路由重新初始化的路由
# D Dynamically,此路由是动态性地写入
# M Modified,此路由是由路由守护程序或导向器动态修改
# ! 表示此路由当前为关闭状态
# Metric 路由距离,到达指定网络所需的中转数
# Ref 路由项引用次数
# Use 此路由项被路由软件查找的次数
# Iface 该路由表项对应的输出接口

traceroute命令

traceroute - print the route packets trace to network host

在Linux下,执行:traceroute hostname。Windows下执行tracert hostname

使用示例:

# 基本用法
traceroute www.baidu.com # 跳数设置
traceroute -m 10 www.baidu.com   
# 不显示主机名DNS
traceroute -n www.baidu.com # 绕过正常的路由表,直接发送到网络相连的主机
traceroute -r www.baidu.com
# 设置探测包为4个
traceroute -q 4 www.baidu.com
# 设置等待探测包响应时间为3秒
traceroute -w 3 www.baidu.com
# Set the destination port to use.
traceroute -p 6888 www.baidu.com
root@Ubuntu-1604:~# traceroute www.baidu.com
traceroute to www.baidu.com (103.235.46.39), 30 hops max, 60 byte packets
1 10.140.1.1 (10.140.1.1) 0.721 ms 1.122 ms 1.781 ms
2 172.30.33.153 (172.30.33.153) 0.201 ms 0.145 ms 0.152 ms
3 172.30.33.146 (172.30.33.146) 0.821 ms 1.319 ms 0.702 ms
4 172.30.33.129 (172.30.33.129) 1.159 ms 1.239 ms 1.365 ms
5 172.31.224.101 (172.31.224.101) 1.811 ms 1.819 ms 2.242 ms
6 172.31.229.17 (172.31.229.17) 40.688 ms 40.053 ms 40.019 ms
7 172.31.224.224 (172.31.224.224) 40.820 ms 40.747 ms 41.099 ms
8 172.31.224.50 (172.31.224.50) 41.072 ms 40.993 ms 43.180 ms
9 172.30.24.2 (172.30.24.2) 43.125 ms 43.060 ms 42.973 ms
10 172.30.104.230 (172.30.104.230) 42.903 ms 42.836 ms 42.777 ms
root@Ubuntu-1604:~# ####
# 记录按序列号从1开始,每个纪录就是一跳 ,每跳表示一个网关。
# 探测数据包向每个网关发送三个数据包,因此每行有三个网关响应后返回的时间,单位是 ms。
# 某些以星号表示的行,可能是防火墙屏蔽了ICMP的返回信息,所以无法得到相关数据包的返回信息。
# 某网关比较阻塞或DNS出现问题时,可以加-n参数来避免DNS解析,以IP格式输出数据。

ip命令

ip - show / manipulate routing, devices, policy routing and tunnels

使用示例:

# ip addr show -- 显示网络地址
# ip link show -- 显示网络链路 # ip route show -- 显示现有路由
# ip route all -- 列出所有表的路由
# ip route cache -- 列出路由缓存的内容 # ip route add -- 添加路由
ip route add 10.0.2.0/24 via 10.0.2.2 # 添加网络10.0.0.0/24的路由经过网关10.0.2.2 # ip route change -- 修改路由
ip route change 10.0.2.0/24 dev enp0s3 # 修改网络10.0.0/24的路由经过设备enp0s3 # ip route delete-- 删除路由
ip route del 10.0.2.0/24 via 10.0.2.2 # ip route flush -- 擦除路由表
ip route flush cache # 清除所有ipv4路由cache # ip route get -- 获得到达目的地址的路由信息。
ip route get 10.141.1.1 # 显示到达10.141.1.1的路由信息

Linux - route & traceroute & ip的更多相关文章

  1. linux route命令的使用详解 添加永久静态路由 tracert traceroute

    linux route命令的使用详解 添加永久静态路由  tracert  traceroute route -n    Linuxroute  print  Windows traceroute  ...

  2. linux route命令的使用详解

    route命令用于显示和操作IP路由表.要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现.在Linux系统中,设置路由通常是 为了解决以下问题:该Linu ...

  3. (转)linux route命令详解

    linux route命令详解 原文:https://www.cnblogs.com/lpfuture/p/5857738.html   &&   http://blog.csdn.n ...

  4. linux route命令的使用详解(转)

    route命令用于显示和操作IP路由表.要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现.在Linux系统中,设置路由通常是 为了解决以下问题:该Linu ...

  5. linux route详细解读

    route命令用于显示和操作IP路由表.要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现.在Linux系统中,设置路由通常是 为了解决以下问题:该Linu ...

  6. linux route命令的使用详解-(转自小C爱学习)

    route命令用于显示和操作IP路由表.要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现.在Linux系统中,设置路由通常是 为了解决以下问题:该Linu ...

  7. Linux下ip route、ip rule、iptables的关系(转)

    1.基础知识 1.1 路由 (Routing) 1.1.1 路由策略 (使用 ip rule 命令操作路由策略数据库) 基于策略的路由比传统路由在功能上更强大,使用更灵活,它使网络管理员不仅能够根据目 ...

  8. Linux route命令详解和使用示例(查看和操作IP路由表)

    Linux系统的route命令用于显示和操作IP路由表(show / manipulate the IP routing table).要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或 ...

  9. 【Linux服务器双IP配置】如何实现不同IP的双网卡同时上网?

    一.环境和知识预备 我遇到问题的生产机器是CentOS release 6.8系统,不过这并不影响问题的解决,本质上都是一样的. 网关:一个网络连接到另一个网络的关口,也就是实现网络互连,俗称网络连接 ...

随机推荐

  1. Django的学习(三)————models

    models采用的的是类的方式,一个类对应一张表,在django中只需要对类的操作就可以完成数据表的操作,这种方式可以省去写sql语句,完成了sql语句的封装,被叫做 ORM(object relat ...

  2. IE与非IE window.onload调用

    IEwin.attachEvent('onload', function(){ });非IEwin.onload=function(){}; if(navigator.appName == " ...

  3. Calendar 得到前一天当前时间

    @Test public void test(){ //因为Calendar的构造方法是私有的,所以实例化一个Calendar对象用getInstance方法 Calendar calendar = ...

  4. Kotlin零碎总结

    1.对于Kotlin的包方法其实对应Java而言是静态方法,如Entrance.kt文件的外部有fun main(...方法,那么编译成字节码后就是Java的Entrance类里有public sta ...

  5. php常量 const 和 define

    常量是一个简单的标识符.在脚本执行期间该值不能改变(除了所谓的魔术常量,他们其实不是常量).常量默认大小写敏感.通常常量标识符总是大写的. 可以用define()函数来定义常量.在php5.3.0以后 ...

  6. 1.8.1suspend与resume方法使用

    暂停线程意味着线程还能恢复运行 suspend()方法暂停线程.resume()恢复线程 测试如下 package com.cky.thread; /** * Created by edison on ...

  7. Ng第十五课:异常检测(Anomaly Detection)

    15.1  问题的动机 15.2  高斯分布 15.3  算法 15.4  开发和评价一个异常检测系统 15.5  异常检测与监督学习对比 15.6  选择特征 15.7  多元高斯分布(可选) 15 ...

  8. (转)如何最佳地使用memcached?

    转自:http://os.51cto.com/art/201205/335034_all.htm Memcached是由DangaInteractive开发的,高性能的,分布式的内存对象缓存系统,如何 ...

  9. bzoj3262(cdq分治模板)

    裸的cdq,注意去重: #include<iostream> #include<cstdio> #include<cmath> #include<cstrin ...

  10. ubuntu下mysql远程连接

    第一步: vim /etc/mysql/my.cnf找到bind-address = 127.0.0.1 注释掉这行,如:#bind-address = 127.0.0.1               ...