Linux

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的路由信息
原文地址:https://www.cnblogs.com/anliven/p/6757358.html