Пара идей:
- Linux live CD тест. Просто загрузитесь на live cd и попробуйте получить доступ к сети, используя это. Я делаю это, чтобы убедиться, что сетевой стек, используемый для вашего оборудования, неисправен.
- Попробуйте перейти к следующему прыжку с помощью браузера. Если вы находитесь в домашней сети, это обычно
192.168.1.1
но вы можете узнать с помощью ipconfig
и посмотреть, какой у вас шлюз по умолчанию. Вы должны увидеть веб-интерфейс.
- Измените свой DNS-сервер на вашем компьютере на те, которые должны быть доступны в Интернете; в отличие от использования вашего следующего прыжка (
192.168.1.1
или тому подобное). После внесения этого изменения попробуйте разрешить DNS (просто ping example.com
).
- Запустите захват пакетов на вашем компьютере (или маршрутизаторе), чтобы увидеть, какие пакеты покидают ваш компьютер (если хотите, опубликуйте pcap или снимок экрана с этим).
Я рекомендую последний, потому что было любопытно, что ICMP работает на вашем маршрутизаторе, но не TCP или UDP. Однако разрешение хоста - это UDP. После дальнейшей проверки вашего старого вопроса я вижу, что ваш DNS-сервер - ваш следующий переход. Таким образом, изменение этого параметра должно помешать правильному разрешению DNS (убедитесь, что проблема не устранена).
Если это не работает в Linux, то мы можем окончательно определить проблему как аппаратную. Если вы хотите на этом шаге мы могли strace
различные процессы , чтобы выяснить , в какой момент он терпит неудачу.
Однако, если он работает на Linux, но не на Windows, мы должны попытаться сделать больше работы.
В этот момент вы можете попробовать использовать Windows strace (не существует, но ссылки ниже). Чтобы увидеть, какие процессы вызываются (а какие нет), когда вы запускаете ping vs telnet.
Казалось бы, проблема заключается в том, что при наличии пакета TCP или UDP, который должен покинуть сеть (получить доступ к Интернету), стек tcp/udp не передает их должным образом на третий уровень. Однако ICMP является протоколом третьего уровня, поэтому он будет обходить стек tcp/udp. Однако, если завершение шага 2, описанного выше, работает, это показывает, что доступ к внутренней сети, по-видимому, не вызывает этой проблемы, и завершение шага 3, приведенного выше, должно показать это путем инверсии (так как в нем должно перестать работать). Захват пакета подтвердит это. Чтобы попытаться исправить это из командной строки с повышенными правами:
netsh int ipv4 uninstall
netsh int ipv6 uninstall
netsh int tcp uninstall
netsh int ipv4 install
netsh int ipv6 install
netsh int tcp install
netsh winsock reset catalog
Я бы не рекомендовал запускать их только без исследования проблемы. Но это должно помочь.
Strace(esque) Ссылки: http://msdn.microsoft.com/en-us/library/windows/hardware/ff552060%28v=vs.85%29.aspx
http://www.intellectualheaven.com/default.asp?BH=projects&H=strace.htm
http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx
http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx