Не могу получить доступ к отдельным веб-сайтам в Linux (но могу в Windows)


10

Раньше мое интернет-соединение было прямым соединением с моим провайдером. Тогда все работало бы нормально как на Windows, так и на Ubuntu (двойная загрузка). Однако некоторое время назад они стали нуждаться во мне, чтобы набрать имя пользователя и пароль (через соединение PPPoE). Но с тех пор я не смог просматривать определенные сайты в Ubuntu, хотя в Windows таких проблем не было. Некоторые примеры веб-сайтов: страница входа в Ovi (хотя share.ovi.com загружается нормально, а nokia.com загружается нормально), Live Mail (работает в Chrome (ium) и Opera, но не в Firefox (как 3.6 и 4)), так и другие случайные сайты.

Некоторые веб-сайты, которые не загружаются, отображают сообщения о тайм-ауте в Chrome, а для некоторых веб-сайтов браузер будет пытаться загрузить без конца (я оставлял это так даже в течение нескольких часов, но не заметил, что происходит что-то другое).

Я попытался изменить DNS-серверы на те, которые предложены в комментарии. Я даже пытался загрузиться с Fedora LiveCD и затем сменить DNS на них (и даже на OpenDNS), но происходит то же самое.

Вот вывод ipconfig для Windows:

альтернативный текст

Если это помогает, сообщения об ошибках Opera кажутся немного более информативными, и в них по очереди появляются следующие ошибки:

  • Безопасное соединение: фатальная ошибка (552)
  • Безопасное соединение: фатальная ошибка (40)

Далее: Опера не смогла подключиться к серверу. Сервер может использовать неподдерживаемый протокол SSL 2, который считается недостаточно безопасным для безопасной связи. Владелец сайта должен перейти на TLS 1.0 или новее.

Кто-нибудь знает, почему это происходит и как это можно исправить?

Обновление: только что увидел здесь http://ubuntuforums.org/showthread.php?t=1571086&highlight=pppoe, что у кого-то еще была похожая проблема, и решил ее, поместив файл NetworkManager.conf в / etc / NetworkManager. Что должно быть в этом файле?


Мне интересно, если DNS-серверы, которые вы используете, не очень хороши. Можете ли вы попробовать настроить свои DNS-серверы вручную на что-то вроде 4.2.2.2 или 8.8.8.8 и посмотреть, поможет ли это.
Deltaray

Неясно, какая часть соединения заставляет вас вводить логин / пароль. У вас есть новое соединение в «сетевых подключениях»? Можете ли вы дать вывод ipconfigкоманды под Windows?
Виктор Сергиенко

@Victor Sergienko: Я обновил пост и добавил вывод ipconfig.
Mussnoon

Вау, я думал, что это VPN-соединение, запрашивающее пароль, но его нет.
Виктор Сергиенко

Нет, не VPN, а PPPoE.
Mussnoon

Ответы:


16

(Скопировано из Unix Stack Exchange )

У вас есть симптомы проблемы MTU : некоторые TCP-соединения замирают, более или менее воспроизводимо для данной команды или URL, но без какого-либо легко различимого общего шаблона. Характерным признаком является то, что интерактивные сеансы SSH работают хорошо, но передача файлов почти всегда заканчивается неудачей. Кроме того, pppoe является источником проблем MTU для домашних пользователей. Поэтому я прописываю проверку MTU.

Что это? М aximum т ransmission у нита максимального размера пакета по каналу сети. MTU варьируется от транспортной среды к транспортной среде, например, проводной Ethernet и Wi-Fi (802.11) имеют разные MTU, а каналы ATM (которые составляют большую часть инфраструктуры дальней связи) имеют свои собственные MTU. PPPOE - это инкапсулированный протокол, который означает, что каждый пакет состоит из нескольких байтов заголовка, за которым следует базовый пакет, поэтому он уменьшает максимальный размер пакета на размер заголовка. IP позволяет маршрутизаторам фрагментировать пакеты, если они обнаруживают, что они слишком велики для следующего перехода, но это не всегда работает. В теории должен быть обнаружен надлежащий MTUавтоматически , но это также не всегда работает. В частности, поиск в Google предполагает, что Network Manager не всегда должным образом действует на информацию MTU, полученную из обнаружения MTU, но я не знаю, какие версии подвержены уязвимости или каковы проблемные варианты использования.

Как измерить это. Попробуйте отправить ping-пакеты заданного размера внешним хостам, которые на них отвечают, например ping -c 1 -s 42 8.8.8.8(в Linux; в других системах посмотрите документацию вашей pingкоманды). Ваши пакеты должны пройти для достаточно малых значений 42 (если 42 не работает, что-то блокирует пинг.). Для больших значений пакет не пройдет. 1464 - это типичное максимальное значение, если ограничивающим элементом инфраструктуры является ваша локальная сеть Ethernet. Если вам повезет, когда вы отправите слишком большой пакет, вы увидите сообщение вроде Frag needed and DF set (mtu = 1492). Если вам не повезло, просто продолжайте экспериментировать со значением, пока не найдете максимальное значение, а затем добавьте 28 ( -sуказывает размер полезной нагрузки, и помимо этого есть 28 байтов заголовков). Смотрите такжеКак оптимизировать подключение к Интернету, используя MTU и RWIN на форумах Ubuntu.

Как его установить (замените 1454 на MTU, которое вы определили, и eth0на имя вашего сетевого интерфейса)

  • Как раз (Linux): запустить ifconfig eth0 mtu 1454
  • Постоянно (Debian и его производные, такие как Ubuntu, если не используется Network Manager): Изменить /etc/network/interfaces. Сразу после ввода для вашего сетевого интерфейса (после iface eth0 …директивы) добавьте строку с pre-up ifconfig $IFACE mtu 1454. Кроме того, если ваш IP-адрес является статическим, вы можете добавить mtu 1454параметр в iface eth0 inet staticдирективу.
  • Постоянно (Debian и его производные, такие как Ubuntu, с или без Network Manager): создайте скрипт, вызываемый /etc/network/if-pre-up.d/mtuсо следующим содержимым, и сделайте его исполняемым во всем мире ( chmod a+rx):

    #!/bin/sh
    ifconfig $IFACE mtu 1454
    

2
Почему это происходит? Поскольку ваши пакеты туннелируются через PPPOE (PPP через Ethernet), и это ограничено 1540, поэтому, если ваш пакет плюс издержки туннеля больше этого, он фрагментируется. Некоторые (MS) операционные системы не выполняют повторную сборку пакетов. Таким образом, вы не можете получить доступ к некоторым сайтам (обслуживаемым серверами MS Windows.) [На самом деле вы можете просто установить MTU на 1300, и это будет работать очень хорошо] Это случилось у меня дома, и это исправило.
Тим Уиллискрофт

1
Спасибо большое! У меня была эта проблема в течение долгого времени, и я просто сделал должное, не посещая некоторые сайты. Теперь я могу, наконец, продолжить без этой проблемы.
Кевин Джалберт

Спасибо, у вас была эта проблема на archlinux после чистой установки, ничего не решило, но ваше решение просто грандиозное. Ура!
JeanK

Моя проблема была решена с этой ссылкой
e_soroush

0

Я оставил конфигурацию по умолчанию в файле интерфейса, но установил MTU=1300в разделе «WAN» моего беспроводного маршрутизатора.

Это решило проблему.


Было бы лучше ответить на этот вопрос, чтобы объяснить, какой файл вы изменили, и какая версия Linux использовалась.
Кевин Панко

0

У меня такая же проблема. Некоторые сайты не могут открыться в моем KUBUNTU 17.04. Я использую эту команду:

echo 0 >/proc/sys/net/ipv4/tcp_timestamps

3
Можете ли вы объяснить, что это делает?
Арджан

0

Проблема может быть связана с настройкой DNS. Для меня проблема решена за несколько шагов:

  1. Сначала откройте Терминал.
  2. Внутри запустите sudo apt-get install resolvconf(установит resolvconfпакет).
  3. Перейти в /etc/resolvconf/resolv.conf.d/каталог.
  4. Откройте файл baseс правами root, запустив sudo nano base.
  5. Просто добавьте / измените записи. Действительный пример записи nameserver 8.8.8.8. Записи должны быть разделены новыми строками. Ниже приведен правильный файл:
    nameserver 8.8.8.8
    nameserver 8.8.4.4
    
    Примечание . Список DNS-имен и адресов можно найти здесь .
  6. Сохраните файл и выйдите.
  7. Запустить sudo resolvconf -u(это обновит конфигурацию DNS).

Это оно! Теперь попробуйте загрузить некоторые сайты, которые не загружались, это должно работать!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.