Неможливо отримати доступ до вибраних https-сайтів у Linux через PPPoE


18

Моє підключення до Інтернету раніше було прямим підключенням LAN до мого провайдера. Тоді все б добре завантажувалось і на Windows, і на Ubuntu (подвійне завантаження). Однак деякий час тому вони почали потребувати мені набору номера (PPPoE), використовуючи ім’я користувача та пароль. Шлюз, маска підмережі, IP, DNS-сервери всі залишилися однаковими. Але з тих пір мені не вдалося переглядати певні веб-сайти на Ubuntu, хоча таких проблем у Windows не було. Деякі приклади веб-сайтів - сторінка входу в Ovi (хоча share.ovi.com завантажує штрафи, а nokia.com - добре), Live Mail (працює на Chrome (ium) та Opera, але не на Firefox (3.6 та 4)) Mozilla Веб-сайт Addons та інші випадкові веб-сайти.

Деякі веб-сайти, які не завантажують повідомлення тайм-аута, а для деяких веб-сайтів (наприклад, мозковий аддонс), браузер намагатиметься завантажуватись без кінця (я залишав це так протягом годин, але не помітив нічого іншого трапляються).

Я спробував змінити DNS-сервери на публічні. Я навіть спробував завантажуватися з Fedora LiveCD, а потім змінив DNS на ті (і навіть на OpenDNS), але відбувається саме те саме. Що може бути по суті неправильним з деяким конфігурацією в самій Linux, що викликає цю проблему?

Хтось знає, чому це відбувається і як це можна виправити?

Примітка. Це питання було розміщено на SU, але відповіді не було.

Оновлення. Щойно тут побачило, що хтось інший має подібну проблему, і вирішив це, ввівши файл NetworkManager.conf/etc/NetworkManager . Що повинно бути у цьому файлі?

Відповіді:


24

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

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

Як це виміряти. Якщо у вас є iputilstracepath Linux , запустіть, щоб побачити MTU через шлях до DNS-сервера Google. Якщо ваша версія має опцію, запустіть . Див. Розділ Відкрийте MTU між мною та IP-адресою для отримання додаткових варіантів.tracepath 8.8.8.8traceroute--mtutraceroute -n --mtu 8.8.8.8

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

Подальші ресурси


Я припинив підключення за допомогою мережевого менеджера і почав використовувати pppoeconf. pppoeconf запропонував встановити mtu на 1452, і це працює чудово. Дуже дякую.
Mussnight

Крім того, якщо ви перебуваєте на суперусері, чи можете ви, будь ласка, опублікувати відповідь там, щоб я також міг її прийняти. Ось посилання: superuser.com/questions/213264/…
Mussnoon

Привіт, дякую за пост. Але у вашому остаточному рішенні я нічого не можу зробити з ifconfig, оскільки в моєму розповсюдженні це застаріло. У мене є лише "ip". Як я можу це зробити за допомогою "ip"?
Санті

2
@Santi Я думаю, що це, ip link set eth0 mtu 1454але я не ipфахівець, перевірте керівництво.
Жил "ТАК - перестань бути злим"

@Gilles дякую! Це було все. Мені потрібні права на судо, але це не було проблемою. Будемо сподіватися, що це допоможе, у мене виникають проблеми з доступом до https-сховищ (він висить більшу частину часу), і ssh-з'єднання з ними навіть не працює. З тим самим ноутбуком у мережі мого інституту обидва протоколи працюють чудово.
Санті

2

Здається, що основна проблема - це щось спільне з SSL. Усі ваші URL-адреси проблем є https://....такими.

Я не бачу, чому зміна в PPPoE впливає на це, але, можливо, ваш Інтернет-провайдер змінив більше ніж одне, і ви звинувачуєте неправильну зміну.

Я б спробував додати апаратний маршрутизатор, який спеціально рекомендується за номером моделі вашим провайдером. Мало того, що ймовірно узгодити з’єднання PPPoE саме так, як хоче ваш провайдер, можливо, це також вирішить проблему з SSL-підключеннями.

Якщо це не допоможе вашій безпосередній проблемі, ви все одно отримаєте від неї кілька побічних переваг.

По-перше, апаратний брандмауер додає шар безпеки. Якщо вам потрібно дозволити з'єднання з машиною за брандмауером, дивіться на порталі PortForward.com , де можна знайти посібники для переадресації портів кожного маршрутизатора, який ви, ймовірно, будете використовувати.

По-друге, більшість домашніх маршрутизаторів дозволяють вам ділитися своїм Інтернет-з'єднанням з кількома ПК.


Ви можете там щось мати. Але як щодо поштових веб-сайтів Gmail та Yahoo та AOL? А ще Twitter? Я спеціально спробував twitter.com, і це працює.
Месниця

1

У мене була така сама проблема з хромом (і хромом). Я припускав, що це проблема веб-кайтів. Я ніколи не знайшов постійного рішення, але якщо ви перейдете на Google, що код помилки (без фактичних значень), ви побачите, що багато людей мають одну проблему. Я міг тимчасово змусити його працювати, закривши вкладку, яка була підключена до конкретного веб-сайту, а потім очистила кеш і куки та все.

Я так і не знайшов рішення і з тих пір повернувся до Firefox.


У моєму випадку, однак, це не має нічого спільного з браузером, я впевнений. Я також пробував IE і Safari з віртуальної машини XP - такі самі результати.
Мюссон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.