Koneksi internet saya dulu adalah koneksi LAN langsung ke penyedia saya. Saat itu, semuanya akan dimuat dengan baik di Windows dan Ubuntu (dual boot). Namun, beberapa waktu lalu mereka mulai membutuhkan saya untuk menelepon (PPPoE) menggunakan nama pengguna dan kata sandi. Gateway, subnet mask, IP, server DNS semuanya tetap sama. Tetapi sejak itu, saya tidak dapat menelusuri situs web tertentu di Ubuntu, meskipun tidak ada masalah seperti itu di Windows. Beberapa contoh situs web adalah – Halaman masuk Ovi (walaupun share.ovi.com dapat dimuat dengan baik, dan nokia.com dapat dimuat dengan baik), Live Mail (berfungsi di Chrome(ium) dan Opera tetapi tidak di Firefox (baik 3.6 dan 4)) Mozilla Situs web Addons dan situs web acak lainnya.
Beberapa situs web yang tidak memuat menunjukkan pesan batas waktu dan untuk beberapa situs web (seperti addon moz), browser akan terus mencoba memuat tanpa akhir (saya telah membiarkannya seperti itu bahkan selama berjam-jam tetapi tidak melihat sesuatu yang berbeda terjadi).
Saya telah mencoba mengubah server DNS menjadi yang publik. Saya bahkan telah mencoba mem-boot dari LiveCD Fedora dan lalu mengubah DNS ke itu (dan bahkan ke OpenDNS), tetapi hal yang sama persis terjadi. Apa yang mungkin salah dengan beberapa konfigurasi di dalam Linux itu sendiri yang menyebabkan masalah ini?
Adakah yang tahu mengapa ini terjadi dan bagaimana cara memperbaikinya?
Catatan:Pertanyaan ini telah diposting silang di SU, tetapi tidak mendapat tanggapan.
Pembaruan: Baru saja melihat di sini bahwa orang lain mengalami masalah yang sama dan menyelesaikannya dengan meletakkan NetworkManager.conf file di /etc/NetworkManager
. Apa yang perlu ada dalam file itu?
Jawaban yang Diterima:
Anda memiliki gejala MTU masalah:beberapa koneksi TCP membeku, kurang lebih dapat direproduksi untuk perintah atau URL yang diberikan tetapi tanpa pola keseluruhan yang mudah dilihat. Gejalanya adalah sesi ssh interaktif bekerja dengan baik tetapi transfer file hampir selalu gagal. Selanjutnya pppoe adalah pembawa masalah MTU nomor satu untuk pengguna rumahan. Jadi saya meresepkan cek MTU.
Apa itu? m t maksimum t pengiriman u nit adalah ukuran maksimum paket melalui tautan jaringan. MTU bervariasi dari media transportasi ke media transportasi, mis. Ethernet kabel dan wifi (802.11) memiliki MTU yang berbeda, dan tautan ATM (yang membentuk sebagian besar infrastruktur jarak jauh) masing-masing memiliki MTU sendiri. PPPOE adalah protokol yang dienkapsulasi, yang berarti bahwa setiap paket terdiri dari beberapa byte header diikuti oleh paket yang mendasarinya - sehingga menurunkan ukuran paket maksimum dengan ukuran header. IP memungkinkan router untuk memecah paket jika mereka mendeteksi bahwa mereka terlalu besar untuk hop berikutnya, tetapi ini tidak selalu berhasil. Secara teori MTU yang tepat harus ditemukan secara otomatis, tetapi ini juga tidak selalu berhasil. Secara khusus googling menunjukkan bahwa Network Manager tidak selalu bertindak dengan benar pada informasi MTU yang diperoleh dari penemuan MTU, tetapi saya tidak tahu versi apa yang terpengaruh atau kasus penggunaan yang bermasalah.
Terkait:Linux – Metode pilihan/Idiomatik untuk mengaktifkan systemd.service dari instalasi paket Debian?
Cara mengukurnya. Jika Anda memiliki tracepath
dari iputil Linux, jalankan tracepath 8.8.8.8
untuk melihat MTU melalui jalur ke server DNS Google.
Jika versi traceroute
Anda memiliki --mtu
opsi, jalankan traceroute -n --mtu 8.8.8.8
.
Lihat Temukan MTU antara saya dan IP tujuan untuk opsi lainnya.
Karena kekurangan alat otomatis, Anda dapat mengukur secara manual. Coba kirim paket ping dengan ukuran tertentu ke host luar yang meresponsnya, mis. ping -c 1 -s 42 8.8.8.8
(di Linux; di sistem lain, lihat dokumentasi ping
. Anda memerintah). Paket Anda harus melewati nilai 42 yang cukup kecil (jika 42 tidak berfungsi, ada sesuatu yang memblokir ping.). Untuk nilai yang lebih besar, paket tidak akan berhasil. 1464 adalah nilai maksimum tipikal jika bagian infrastruktur yang membatasi adalah jaringan Ethernet lokal Anda. Jika Anda beruntung, ketika Anda mengirim paket yang terlalu besar, Anda akan melihat pesan seperti Frag needed and DF set (mtu = 1492)
. Jika Anda tidak beruntung, teruslah bereksperimen dengan nilainya sampai Anda menemukan berapa maksimumnya, lalu tambahkan 28 (-s
menentukan ukuran payload, dan ada 28 byte header selain itu).
Lihat juga Cara Mengoptimalkan Koneksi Internet Anda menggunakan MTU dan RWIN di forum Ubuntu.
Cara menyetelnya (ganti 1454 dengan MTU yang telah Anda tentukan, dan eth0
dengan nama antarmuka jaringan Anda)
- Sebagai sekali pakai (Linux):
jalankanifconfig eth0 mtu 1454
- Secara permanen (Debian dan turunannya seperti Ubuntu, jika tidak menggunakan Network Manager):
Edit/etc/network/interfaces
. Tepat setelah entri untuk antarmuka jaringan Anda (setelahiface eth0 …
direktif), tambahkan baris denganpre-up ifconfig $IFACE mtu 1454
. Atau, jika alamat IP Anda statis, Anda dapat menambahkanmtu 1454
parameter keiface eth0 inet static
arahan. -
Permanen (Debian dan turunannya seperti Ubuntu, dengan atau tanpa Network Manager):
Buat skrip bernama/etc/network/if-pre-up.d/mtu
dengan konten berikut dan membuatnya dapat dieksekusi dunia (chmod a+rx
):#!/bin/sh ifconfig $IFACE mtu 1454
Sumber daya lebih lanjut
- Bagaimana cara mendiagnosis koneksi yang tidak andal? (khususnya jawaban Mike Pennington) mungkin dapat membantu jika pendekatan ukuran-dan-batas sederhana yang dijelaskan di sini tidak berhasil.