route
route - show / manipulate the IP routing table
route 命令常用命令示例
#显示路由routeroute -n # 不解析名字,快速显示ip route show#添加路由route add -net 192.168.16.0 netmask 255.255.255.0 dev enp0s3route add -net 192.168.16.0 netmask 255.255.255.0 gw 192.168.16.1route 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.0route del -net 192.168.16.0 netmask 255.255.255.0 rejectroute del -host 10.0.2.15 gw 10.0.2.2 #设置默认路由(网关)route add default gw 192.168.16.1route 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 enp0s310.140.1.0 * 255.255.255.0 U 100 0 0 enp0s3cnhan1a-ipam-ns 10.140.1.1 255.255.255.255 UGH 100 0 0 enp0s3link-local * 255.255.0.0 U 1000 0 0 enp0s3root@Ubuntu-1604:~# root@Ubuntu-1604:~# route -n内核 IP 路由表目标 网关 子网掩码 标志 跃点 引用 使用 接口0.0.0.0 10.140.1.1 0.0.0.0 UG 100 0 0 enp0s310.140.1.0 0.0.0.0 255.255.255.0 U 100 0 0 enp0s310.171.8.60 10.140.1.1 255.255.255.255 UGH 100 0 0 enp0s3169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 enp0s3root@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 # 不显示主机名DNStraceroute -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.comtraceroute 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 ms10 172.30.104.230 (172.30.104.230) 42.903 ms 42.836 ms 42.777 msroot@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的路由信息