Не вдається отримати доступ до вибраних веб-сайтів в Linux (але можна в Windows)


10

Моє підключення до Інтернету раніше було прямим підключенням LAN до мого провайдера. Тоді все б добре завантажувалося як на 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:

alt текст

Якщо це допоможе, повідомлення про помилки Opera здаються трохи більш інформативними, і вони мають такі помилки по черзі:

  • Безпечне з'єднання: фатальна помилка (552)
  • Безпечне з'єднання: фатальна помилка (40)

Далі: Opera не змогла підключитися до сервера. Сервер, можливо, використовує непідтримуваний протокол 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 і побачити, чи це допомагає.
дельтарай

Незрозуміло, яка частина з'єднання змушує вас вводити логін / пароль. Чи є у вас нове з'єднання в "мережевих з'єднаннях"? Чи можете ви дати висновок ipconfigкоманди під Windows?
Віктор Сергієнко

@Victor Sergienko: Я оновив пост і додав вихід ipconfig.
Mussnight

Нічого собі, я думав, що це VPN-з'єднання з проханням ввести пароль, але його немає.
Віктор Сергієнко

Ні, не VPN, а PPPoE.
Mussnight

Відповіді:


16

(Скопійовано з Unix Stack Exchange )

У вас є симптоми проблеми MTU : деякі TCP-з'єднання замерзають, більш-менш відтворювані для даної команди чи URL-адреси, але без загальновизнаного загального шаблону. Показовим симптомом є те, що інтерактивні сеанси ssh працюють добре, але передача файлів майже завжди не вдається. Крім того, pppoe - це номер один, який приносить проблему MTU для домашніх користувачів. Тому я призначаю чек MTU.

Що це? М aximum т ransmission у нита максимального розміру пакета по каналу мережі. MTU варіюється від транспортного середовища до транспортного середовища, наприклад, дротовий Ethernet та wifi (802.11) мають різні MTU, а посилання на банкомати (які складають більшу частину інфраструктури міжміських відстаней) мають власну MTU. PPPOE - це інкапсульований протокол, що означає, що кожен пакет складається з декількох байтів заголовка, за яким слідує базовий пакет - тому він зменшує максимальний розмір пакета на розмір заголовка. IP дозволяє маршрутизаторам фрагментувати пакети, якщо вони виявляють, що вони занадто великі для наступного стрибка, але це не завжди працює. Теоретично слід відкрити належний MTUавтоматично , але це також не завжди працює. Зокрема, googling припускає, що Менеджер мережі не завжди належним чином діє на інформацію MTU, отриману при виявленні MTU, але я не знаю, на які версії впливають чи які проблемні випадки використання.

Як це виміряти. Спробуйте надіслати пінг-пакети заданого розміру зовнішнім хостам, які відповідають на них, наприклад 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, якщо не використовується Менеджер мереж): Редагувати /etc/network/interfaces. Одразу після запису для вашого мережевого інтерфейсу (після iface eth0 …директиви) додайте рядок з pre-up ifconfig $IFACE mtu 1454. Крім того, якщо ваша IP-адреса статична, ви можете додати mtu 1454параметр до iface eth0 inet staticдирективи.
  • Постійно (Debian та похідні інструменти, такі як Ubuntu, з мережевим менеджером або без нього): Створіть сценарій, що викликається, /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 після чистої установки не з’явилася, нічого не вирішило б це, але ваше рішення просто грандіозне. Ура!
ЖанК

Мою проблему було вирішено за цим посиланням
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. Записи повинні бути розділені новими рядками. Нижче наведено дійсний файл:
    сервер імен 8.8.8.8
    сервер імен 8.8.4.4
    
    Примітка : Список імен і адрес DNS можна знайти тут .
  6. Збережіть файл та вийдіть.
  7. Запустіть sudo resolvconf -u(оновить конфігурацію DNS).

Це воно! Тепер спробуйте завантажити деякі веб-сайти, які не завантажувались, це повинно працювати!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.