Network - 最常用的三个网络命令:route & traceroute & ip
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的路由信息
行动是绝望的解药!
欢迎转载和引用,但请在明显处保留原文链接和原作者信息!
本博客内容多为个人工作与学习的记录,少数内容来自于网络并略有修改,已尽力标明原文链接和转载说明。如有冒犯,即刻删除!
以所舍,求所得,有所获,方所成。