目标主机不能到达

本文探讨了DestinationHostUnreachable错误的原因及解决方法,包括物理连接问题、子网掩码设置错误、路由表配置不当等,并提供了排查步骤。

destination hostunreachable

目标主机不能到达

Destination HostUnreachable”信息说明对方主机不存在或者没有跟对方建立连接。网线没接好,或者网卡有问题!

检查物理连接,重启机子一般在确定你的TCP/IP网络属性的设置正确下,检查你的网线或者网卡是不是没插好

我想应该是物理连接方面没接好吧。。。

机子已经用了好几年了,N多灰尘。。。



路由表中连到达目标的路由都没有,会出现“DestinationHost Unreachable”

主要在以下三种情形出现:

1、局域网使用DHCP动态分配IP地址时,DHCP出现故障或者失败

DHCP失效或者出现故障时,客户机无法分配到IP地址,系统只有自设IP地址,而IP地址的自动设置往往会分配到不同的子网,因此会出现“DestinationHost Unreachable”


2、子网掩码设置错误

这种情况一般比较少见,如果子网掩码不是系统自动生成的,则在计算时一定细心。


3、路由表返回错误信息

这种情况一般是在“DestinationHost Unreachable”前面加上IP地址,说明本地计算机与外部网络连接没有问题,但与某台主机连接存在问题。


"Destination NetUnreachable"这个信息表示对方主机不存在或者没有跟对方建立连接。这里要说明一下"destinationhost unreachable""timeout"的区别,如果所经过的路由器的路由表中具有到达目标的路由,而目标因为其它原因不可到达,这时候会出现"timeout",如果路由表中连到达目标的路由都没有,那就会出现"destinationhost unreachable"


icmp安全策略关闭

tcp/IP属性——高级——选项——IP安全机制属性——选择"不使用IPSEC"确定,OK了,一切正常


ping 时出requesttime out destinationis unreachable


request time out是指icmp包发出后,长时间没有回应,所以会产生requesttime out。一般是ping了一台网络中不存在的主机。

destination isunreachable destinationport unreachable 一般是收到了目标主机或中间路由器回应的端口或目标主机不可达icmp包。

如你ping一台用iptables封了icmp包的主机且用了-jREJECT 就会出现destinationport unreachable 的信息,这是目标主机给的回应。

两者主要的区别是看目标主机或中间路由器是不是给了icmp不可达的回应。向目标主机发ip数据报,如果协议项是错的,或协议项不可用。目标将返回destinationisunreachableicmp报文。如果有防火墙,可能过滤掉ip数据报,收不到回应报文。如果设置ip头部协议内容为一特别大的数字(至少在今天还没有被使用),应该主机一定会返回unreachableicmp报文。否则一定有防火墙。也可以变化ip中的协议项来探测主机使用了哪些协议,如果没使用则返回unreachableicmp报文。

在Rocky系统中遇到ping目标主机时显示目标主机不可达的问题,可以从以下几个方面进行排查和解决: ### 网络连接方面 - **检查物理连接**:确认本地设备的网络线缆(如以太网电缆)是否插好,有无松动、损坏的情况。对于无线网络,检查是否正确连接到相应的Wi-Fi网络,信号强度是否良好。 - **查看网络接口状态**:使用`ip addr`或`ifconfig`命令查看网络接口的配置和状态,确保网络接口已正确启用且配置了正确的IP地址、子网掩码等信息。例如,使用`ip addr`命令查看网络接口状态: ```bash ip addr ``` 要保证网络接口处于`UP`状态,并且有正确的IP地址分配。 ### 目标主机方面 - **确认目标主机状态**:检查目标主机是否正常运行,是否开启了防火墙或安全组规则,限制了ICMP协议的访问。可以尝试使用其他设备ping目标主机,看是否能正常通信。 - **检查目标主机IP地址**:确保输入的目标主机IP地址正确,没有输入错误或使用了错误的IP地址。可以通过`nslookup`或`dig`命令来验证域名解析是否正确,如果使用域名进行ping操作。例如: ```bash nslookup example.com ``` ### 路由方面 - **查看路由表**:使用`ip route`命令查看系统的路由表,确认是否存在到达目标主机的有效路由。例如: ```bash ip route ``` 如果路由表中没有到达目标网络的路由,可以添加静态路由。例如,添加一条到目标网络`192.168.1.0/24`的静态路由,下一跳网关为`192.168.0.1`: ```bash ip route add 192.168.1.0/24 via 192.168.0.1 ``` ### 防火墙方面 - **检查本地防火墙**:Rocky系统默认使用`firewalld`作为防火墙管理工具,可以使用以下命令检查防火墙状态并开放ICMP协议: ```bash # 查看防火墙状态 systemctl status firewalld # 开放ICMP协议 firewall-cmd --permanent --add-icmp-block-inversion firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="目标主机IP" accept' # 重新加载防火墙规则 firewall-cmd --reload ``` ### 其他方面 - **使用`traceroute`命令**:使用`traceroute`命令可以跟踪数据包从本地到目标主机所经过的路由节点,查看在哪一跳出现问题。例如: ```bash traceroute 目标主机IP ``` 如果某些行显示为`*`号,可能是防火墙封掉了ICMP的返回信息,导致获取不到相关包的数据,可以使用`-n`参数避免DNS解析,直接使用IP格式输出: ```bash traceroute -n 目标主机IP ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值