LabHub
学习 学习路径 课程

网络排障

连通性与路径确认

在 LabHub 中继续学习

目标

阅读接口和路由,解释ping统计,运行UDP模式traceroute和mtr。最后直接证明ICMP到达性和TCP到达性是不同的问题。

为什么重要

ping只证明IP层。它甚至不证明上面端口、应用程序,甚至大型数据包是否可以通过。相反,ping失败并不意味着服务器停机——许多组织会阻止ICMP echo。这个练习环境没有capability,因此traceroute的ICMP模式和mtr的默认模式无法运行。这种限制本身就是很好的教材:某些诊断工具需要特权,在没有特权的环境中需要了解替代模式。

阶段

  1. /root/reach创建目录,总结界面的一行/root/reach/iface.txt请保存为。lo必须包含。
  2. 路由表/root/reach/route.txt请保存为。default必须要有以开始的字母开头的行。
  3. 127.0.0.13次ping后的全部输出/root/reach/ping-loop.txt请保存为。数据包丢失率应为0%。
  4. 用自己基本接口IP进行3次ping的输出/root/reach/ping-self.txt请保存。损失率必须为0%。
  5. 在第3次结果中,只有RTT的min / avg / max三个值用空格分隔成一行。/root/reach/rtt.txt请写在上面。
  6. 127.0.0.1运行traceroute并输出/root/reach/trace.txt保存为,使用过的模式用小写字母/root/reach/trace-mode.txt在一行(udp或者icmp或者tcp) 请写下。
  7. 127.0.0.1运行3个周期的mtr报告/root/reach/mtr.txt请保存为。Loss%必须包含标题。
  8. /root/reach/summary.txt请用以下3行完成。每个值都必须是实际尝试过的结果。 icmp=<ok|fail>/tcp2222=<ok|fail>/tcp9999=<ok|fail> (ICMP是127.0.0.1所以,TCP是127.0.0.1判断为对应的端口。)

参考

确认接口列表

/root/reach创建目录,总结界面的一行/root/reach/iface.txt请保存为。lo必须包含。

ip命令有一行总结格式(-br)。必须显示循环备份和实际接口。

确认路由表

路由表/root/reach/route.txt请保存为。default必须要有以开始的字母开头的行。

基本路径是以default开头的字符串。网关地址在via后面。

环形背包ping

127.0.0.13次ping后的全部输出/root/reach/ping-loop.txt请保存为。数据包丢失率应为0%。

-如果用c来确定次数,统计摘要会在最后输出。损失率在该摘要行中。

用自己的IP ping

用自己基本接口IP进行3次ping的输出/root/reach/ping-self.txt请保存。损失率必须为0%。

请使用第01步中确认的接口地址。去自己位置的数据包也应该没有丢失。

阅读RTT统计

在第3次结果中,只有RTT的min / avg / max三个值用空格分隔成一行。/root/reach/rtt.txt请写在上面。

统计的最后一行以/分隔出min/avg/max/mdev。只取前面的三个值就可以了。

UDP模式traceroute

127.0.0.1运行traceroute并输出/root/reach/trace.txt保存为,使用过的模式用小写字母/root/reach/trace-mode.txt在一行(udp或者icmp或者tcp) 请写下。

在这个环境中没有raw socket权限,ICMP模式无法运行。请确认traceroute的默认模式是什么。

mtr报告

127.0.0.1运行3个周期的mtr报告/root/reach/mtr.txt请保存为。Loss%必须包含标题。

mtr也需要UDP模式,因为同样的原因。请一起使用一次循环结束的报告模式和指定次数的选项。

ICMP和TCP比较

/root/reach/summary.txt请用以下3行完成。每个值都必须是实际尝试过的结果。 icmp=<ok|fail>/tcp2222=<ok|fail>/tcp9999=<ok|fail> (ICMP是127.0.0.1所以,TCP是127.0.0.1判断为对应的端口。)

sshd在2222上运行,9999没有人听。请想想三个结果分别证明了什么。