Что такое unreachable.htm? как исправить связанные с ним ошибки? [решено]

How to Fix a Destination Host Unreachable Error

For this example, we’re going to check our Default Gateway settings, then follow the steps to fix them.

  1. To start, we need to check our internet connection via a browser. For this example, we’ll check google.com to see if it loads on our device. If it does, we know there’s a problem on our local network, rather than a broader connection issue.

  2. Next, we’re going to test our IPv6 connection to see if that’s where the issue lies. To do this, open the Command Prompt and use the following command to ping your original IP address, but type «ping -6» to isolate the IPv6 line.

    C:\Users\Me>ping -6
  3. You should get a reply in the Command Prompt, which looks like this:

    Pinging with 64 bytes of data:Reply from Destination host unreachable.Reply from Destination host unreachable.Reply from Destination host unreachable.Reply from Destination host unreachable.
  4. The above reply comes from IP address, which seems to relate to the remote gateway handling our request. To check this, run a traceroute using the following command:

    C:\Users\Me>tracert -6 -d
  5. You should get a response, and it should resemble the following:

    Tracing route over a maximum of 30 hops:1 1 ms 1 ms 1 ms reports: Destination host unreachable.Trace complete.
  6. From this, we can make a judgment that is configured as the default gateway. To check if this is as it should be, we can look at our IP settings via the netshell. To launch netshell, enter the following command:

  7. With netshell open, enter this command:

    netshell>interface ipv6netshell interface ipv6>showconfig
  8. The response will show our Local Area Connection details, with a reference line for the Default Gateway. In our example we see the following:

    Default Gateway

    This confirms that is currently configured as the default gateway, but when we look at our actual device’s IP address, we see it’s slightly different:

Причины «Недопустимый хост назначения» при пинге из-за пределов моей сети?

Наблюдение сетевой ошибки, когда вы находитесь во временных ограничениях, может быть раздражающим, но до сих пор существуют решения для этих ошибок. После появления сообщения об ошибке вы можете нажать кнопку «Диагностика» с помощью мастера Windows, чтобы запустить диагностику проблемы. Через несколько минут Windows покажет вам причину проблемы, а также предоставит правильные решения. Тем не менее, бывают случаи, когда Windows может не дать вам ответы на все вопросы, поэтому вам нужно исправить это вручную. Во-первых, вам нужно изменить настройки адаптера. Найдите настройки в центре «Сеть и общий доступ». Во-вторых, сбросьте TCP / IP. При изменении настройки адаптера вы можете изменить TCP / IP. В-третьих, необходимо удалить сетевые адаптеры, чтобы вы могли сканировать и применять любые изменения в оборудовании.


Try it out for yourself! Download the repo and open ‘Unreachable.playground’.

Dynamic Loop Exit

In some cases, the only way a function returns a value is from within a loop,
but the compiler may not have enough information to know that.

func getValue() -> Int {
    for i in ... {
        if i == 20 {
            return i

Switch Conditions

A statement may have conditions applied to its branches that make it
exhaustive, but that may not obvious to the compiler.

func sign(of value: Double?) -> FloatingPointSign? {
    switch value {
    case let x? where x >= 
        return .plus
    case let x? where x < 
        return .minus
    case .some
    case .none
        return nil


With , debug builds will exit via a fatal error if the
function is called. In optimized builds, it’s no different than calling

Unreachable vs

The function can be used as somewhat of a drop-in
replacement for . In debug mode, they emit similar instructions.
However, when compiling with optimizations, allows its
parent to emit very few instructions.

Here we’re checking whether a has a value in the lower or upper
range. Because we know that these are the only valid ranges, we can let the
compiler know that the third branch is unreachable. If at some point has a
value that’s not within either range, it will emit an assertion failure in
unoptimized builds.

With Unreachable

func isLowerRange(_ x: UnicodeScalar) -> Bool {
    switch x.value {
    case ...0xD7FF
        return true
    case 0xE000...0x10FFFF
        return false

Assembly output:

        .globl  __T011Unreachable12isLowerRangeSbs7UnicodeO6ScalarVF
        .p2align        4,0x90
        pushq   %rbp
movq    %rsp, %rbp
        cmpl    $55296, %edi
setb    %al
        popq    %rbp


func isLowerRange(_ x: UnicodeScalar) -> Bool {
    switch x.value {
    case ...0xD7FF
        return true
    case 0xE000...0x10FFFF
        return false

Assembly output:

        .globl  __T011Unreachable12isLowerRangeSbs7UnicodeO6ScalarVF
        .p2align        4,0x90
        movb    $1, %al
        cmpl    $55296, %edi
jb      LBB4_3
        addl    $-57344, %edi
        cmpl    $1056768, %edi
jae     LBB4_4
        xorl    %eax, %eax
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset %rbp,-16
movq    %rsp, %rbp
        .cfi_def_cfa_register %rbp
        subq    $48, %rsp
        leaq    L___unnamed_2(%rip), %rax
movq    %rax, (%rsp)
        movl    $,32(%rsp)
movq    $56,24(%rsp)
        movl    $2,16(%rsp)
movq    $69,8(%rsp)
        leaq    L___unnamed_3(%rip), %rdi
        leaq    L___unnamed_4(%rip), %rcx
        movl    $11, %esi
        movl    $2, %edx
        movl    $11, %r8d
        xorl    %r9d, %r9d
        callq   __T0s17_assertionFailures5NeverOs12StaticStringV_SSAE4fileSu4lines6UInt32V5flagstFTfq4nxnnn_n
        subq    $40, %rsp

Пожалуйста, помогите c переводом:

Giving a definition of the term “comedy”, one may face some difficulties as it’s one of the most complex categories of aesthetics. Comedy is historically volatile, it depends on the context and has a social nature. The laughter is not always a sight of comedy, and comedy is not always defined by laughter. It is circumstances, sharpening the contradictions and helping to reveal its social nature


(8) 4 ÷ 2 are divided into 5 steps

(a) Correct quotient

(b) Over-quotient by once

(c) Over-quotient by twice or more

(d) Same first digits (2 scenarios)

(e) Both first digits are 1 over-quotient (129, 348, 567, 786, 95)

(f) Line to help memorize returning : minus 1 time, skip a space and add back Mr. Cat


The rival gangs piled into one another with a vengeance — fists flew, knives flashed, clubs struck muscle and bone with sickening smacks


1. The ENIAC (1943-1946) The first all-electronic computer, the Electronic Numerical Integrator and Calculator (ENIAC) was developed at the Moore School of Electrical Engineering of the University of Pennsylvania. It was developed as a result of a military need. J.Presper Eckert and John Mauchly proposed the machine to solve the problem of calculating firing tables for new weapons. The ENIAC weigh


Значение «Destination host unreachable» при прослушивании из-за пределов моей сети?

Попытка подключиться к сетевому источнику может показаться легким, но это не может помочь решить проблему через некоторое время. Возможно, ваше сетевое подключение настроено неправильно или имеется технический сбой. В других случаях на вашем конце нет возможности подключения. Эти ошибки являются типичными примерами сетевой ошибки. Он появляется, когда что-то не так во время соединения, поэтому он не может достичь своего конечного источника. Тем не менее, эти ошибки указывают на характер проблемы, которая поможет вам ее решить.

Список общих сетевых ошибок:

  • Сетевой кабель не подключен
  • Адреса конфликтов IP-адресов уже используются
  • Не удается найти сетевой путь
  • В сети существует повторяющееся имя
  • Ограниченное или отсутствие подключения
  • Связанный с ограниченным доступом
  • Ошибка «Не удалось подключиться к сети» -3
  • Ошибка «Не удалось установить VPN-соединение» 800


Install Using Swift Package Manager

  1. Add the project to your .

    import PackageDescription
    let package = Package(
        name: "MyAwesomeProject",
        dependencies: [
            .Package(url: "https://github.com/nvzqz/Unreachable.git",
                     majorVersion: 1)
  2. Import the Unreachable module.

    import Unreachable

Install Using CocoaPods

  1. use_frameworks!
    pod 'Unreachable', '~> 1.2.0'

    If you want to be on the bleeding edge, replace the last line with:

    pod 'Unreachable', :git => 'https://github.com/nvzqz/Unreachable.git'
  2. Run and open the file to launch Xcode.

  3. Import the Unreachable framework.

    import Unreachable

Install Using Carthage

Carthage is a decentralized dependency
manager for Objective-C and Swift.

  1. Add the project to your .

  2. Run and follow
    in order to add Unreachable to your project.

  3. Import the Unreachable framework.

    import Unreachable


Расшифровка кодов ICMP сообщений:

  • echo reply (0) — echo reply (echo-ответ, пинг)
  • destination unreachable (3) — destination unreachable/destination port unreachable (адресат недосягаем). Код 3/4 уведомляет о необходимости фрагментации сообщения, отправитель получает его, меняет свой MSS на еще более меньший.
  • source quench (4) — source quench (подавление источника, просьба посылать пакеты медленнее)
  • redirect (5) — redirect (редирект)
  • echo request (8) — echo request (echo-запрос, пинг)
  • router adver-tisement (9) — router advertisement (объявление маршрутизатора)
  • router solicitation(10) — router solicitation (ходатайство маршрутизатора)
  • time-to-live exceeded (11) — time-to-live exceeded (истечение срока жизни пакета)
  • IP header bad (12) — IP header bad (неправильный IP заголовок пакета)
  • timestamp request (13) — timestamp request (запрос значения счетчика времени)
  • timestamp reply (14) — timestamp reply (ответ на запрос значения счетчика времени)
  • information request (15) — information request (запрос информации)
  • information reply (16) — information reply (ответ на запрос информации)
  • address mask request (17) — address mask request (запрос маски сети)
  • address mask reply (18) — address mask reply (ответ на запрос маски сети)

Ответ на некоторые ICMP-сообщения может привести к разглашению некоторой информации о хосте, в то время как другие — привести к модификации таблицы маршрутизации, поэтому их необходимо запретить.

Обычно выход во внешний мир разрешают ICMP-сообщениям 3, 8, 12, в то время как на вход принимают только 0, 3, 4, 11, 12.

8 ответов

ping-шлюз с обоих компьютеров ping затем попытайтесь выполнить команду ping comp1 в compt2 и comp2 в comp1 затем опубликуйте результаты arp -a из BOTH boxes

Интересно, что-то блокирует трафик

запустите sudo tcpdump -ni wlan0 arp в одном окне на обоих компьютерах, а затем попытайтесь выполнить pinging друг друга и шлюз из другого окна на оба снова и опубликовать результаты

До сих пор это показывает, что comp1 делает то, что предполагается отправить ARP-запрос (запрашивая адрес comp2s etherner), но не получая ответ arp (слушая что-нибудь обратно). Вам нужно увидеть tcpdump с PC2, чтобы увидеть полную картину. Либо запустите команду экрана, либо сделайте это на PC1 sudo tcpdump -w pc1.pcap -ni wlan0 arp & , а на PC2 sudo tcpdump -w pc2.pcap -ni wlan0 arp & & amp; следует бросить его в фоновом режиме и дать вам свое приглашение обратно для pings. После того, как pings не удалось вернуть задания на передний план, fg %1 остановите его ctrl+c и прочитайте записанные файлы с помощью sudo tcpdump -r pc1/2.pcap

Edit3 ПК делают то, что они предполагают, выставляя ARP, но они не получают, что указывает на маршрутизатор. Может быть, отключить настройку брандмауэра, сомневаюсь, что он поддерживает VLAN? Kinda желает, чтобы вы позволили ему работать немного дольше 22: 45: 48.379058 , ваш маршрутизатор отправил свой собственный запрос ARP, когда он искал PC1 22:45:48.379058 ARP, Request who-has tell, length 28 , и оба ПК должны были его видеть, мы можем видеть, что PC1 увидел его и ответил своим IP-адресом, но не мог сказать, получил ли PC2 его с тех пор, как вы остановили его, остановившись только на 22: 45: 09.796214 . Предположим, что вы синхронизированы с NTP.

Посмотрите, что он все еще не разрешен. Не видел, что у вас есть эти адаптеры на обоих ПК. Можете ли вы подключиться к маршрутизатору на eth вместо wlan и посмотреть, сможете ли вы пинговать? Или получить еще один маршрутизатор? Или сделать горячую точку на телефоне подключить оба компьютера и попытаться выполнить ping? Также удивлен, увидев, что вы смогли подключить два компьютера вместе и пинговать друг друга, вы использовали кроссоверный кабель?

Welcome to LinuxQuestions.org, a friendly and active Linux Community.

You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!

Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.

Are you new to LinuxQuestions.org? Visit the following links: Site Howto | Site FAQ | Sitemap | Register Now

If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.

Having a problem logging in? Please visit this page to clear all LQ-related cookies.

Introduction to Linux – A Hands on Guide

This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter. For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author’s experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.

Click Here to receive this Complete Guide absolutely free.

How to Check If Destination a Host Unreachable Error Is Resolved

  1. To check if the issue is resolved, go back to the Command Prompt and exit the netshell using the following command:

    netsh interface ipv6>exit
  2. Now, we’re ready to try our ping test once more, using this command:

    C:\Users\Me>ping -6
  3. Just as before, the ping should come back with a reply showing the new Default Gateway.

    Pinging with 64 bytes of data:64 bytes from icmp_seq=0 ttl=57 time=27.205 ms64 bytes from icmp_seq=1 ttl=57 time=14.109 ms64 bytes from icmp_seq=2 ttl=57 time=13.887 ms64 bytes from icmp_seq=3 ttl=57 time=13.954 ms64 bytes from icmp_seq=4 ttl=57 time=18.269 ms
  4. As we can see, our ping test is now working and our connection is running as expected.

iptables и ICMP

Правила для Правила iptables. Список возможных типов выводится по команде

# iptables -p icmp -h

Valid ICMP Types:
echo-reply (pong)
echo-request (ping)
time-exceeded (ttl-exceeded)

Можно указать стандартный числовой код или сообщение. Пропустить все входящие ICMP-эхо-запросы (пинги).

# iptables -I INPUT -p icmp --icmp-type 8 -j ACCEPT
# iptables -I INPUT -p icmp --icmp-type echo-request -j ACCEPT

Блокирует фрагменты ICMP-пакетов

iptables -I INPUT -p icmp -f -j DROP

Рекомендуемые правила для ICMP:



$IPT -A INPUT -p icmp --icmp-type 3 -j ACCEPT # destination-unreachable 3/4
$IPT -A INPUT -p icmp --icmp-type 8 -j ACCEPT # echo request
$IPT -A INPUT -p icmp --icmp-type 12 -j ACCEPT # IP header bad 
$IPT -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT #
$IPT -A OUTPUT -p icmp --icmp-type 3 -j ACCEPT #
$IPT -A OUTPUT -p icmp --icmp-type 4 -j ACCEPT #
$IPT -A OUTPUT -p icmp --icmp-type 11 -j ACCEPT #
$IPT -A OUTPUT -p icmp --icmp-type 12 -j ACCEPT #

опция –reject-with

В отличие от цели DROP, где пакет просто отбрасывается, в данном случае отправителю будет отправлено IСМР-сообщение «Port unreachable / icmp port unreachable» («Порт недоступен»). С помощью опции –reject-with можно изменить тип ICMP-сообщения:

# iptables -A INPUT -s -j REJECT --reject-with icmp-net-unreachable

У опции –reject-with есть следующие аргументы:

icmp-net-unreachable — сеть недоступна;
icmp-host-unreachable — узел недоступен;
icmp-port-unreachable — порт недоступен;
icmp-proto-unreahable — неподдерживаемый протокол;
icmp-net-prohibited — сеть запрещена;
icmp-host-prohibited — узел запрещен.

По умолчанию будет передано сообщение port-unreachable.
Вышеперечисленные аргументы являются ICMP error messages.В дополнение к опции –reject-with TCP-пакеты можно отклонить с помощью аргумента tcp-reset, который отправляет RST-сообщения отправителю. Это наилучший с точки зрения безопасности способ, нужно обязательно использовать именно его. TCP RST пакеты используются для закрытия TCP соединений.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *