ไม่สามารถเข้าถึงเว็บไซต์ที่เลือกบน 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:

ข้อความแสดงแทน

หากเป็นความช่วยเหลือใด ๆ ข้อความแสดงข้อผิดพลาดของ 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 และดูว่าช่วยได้หรือไม่
deltaray

ไม่ชัดเจนว่าส่วนใดของการเชื่อมต่อที่ทำให้คุณพิมพ์ชื่อล็อกอิน / รหัสผ่าน คุณมีการเชื่อมต่อใหม่ใน "การเชื่อมต่อเครือข่าย" หรือไม่? คุณสามารถส่งออกipconfigคำสั่งภายใต้ Windows ได้หรือไม่?
Victor Sergienko

@Victor Sergienko: ฉันได้อัปเดตโพสต์และเพิ่มเอาต์พุต ipconfig แล้ว
Mussnoon

ว้าวฉันคิดว่ามันคือการเชื่อมต่อ VPN ที่ขอรหัสผ่าน แต่ไม่มีเลย
Victor Sergienko

ไม่ไม่ใช่ VPN แต่เป็น PPPoE
Mussnoon

คำตอบ:


16

(คัดลอกมาจากUnix Stack Exchange )

คุณมีอาการของปัญหาMTU : การเชื่อมต่อ TCP บางส่วนหยุดทำงานทำซ้ำมากหรือน้อยสำหรับคำสั่งหรือ URL ที่กำหนด แต่ไม่มีรูปแบบโดยรวมที่มองเห็นได้ง่าย อาการปากโป้งก็คือว่าเซสชัน ssh แบบโต้ตอบทำงานได้ดี แต่การถ่ายโอนไฟล์มักจะล้มเหลว นอกจากนี้ PPPoE ยังเป็นเบอร์หนึ่งของปัญหา MTU สำหรับผู้ใช้ตามบ้าน ดังนั้นฉันจึงสั่งการตรวจสอบ MTU

มันคืออะไร? เมตร aximum T ransmission ยูนิดเป็นขนาดสูงสุดของแพ็คเก็ตผ่านการเชื่อมโยงเครือข่าย MTU จะแตกต่างกันไปจากสื่อการขนส่งไปยังสื่อการขนส่งเช่นสาย Ethernet และ wifi (802.11) มี MTUs ที่แตกต่างกันและลิงก์ATM (ซึ่งประกอบไปด้วยโครงสร้างพื้นฐานทางไกลส่วนใหญ่) แต่ละเครื่องมี MTU ของตนเอง PPPOEเป็นโปรโตคอลที่ห่อหุ้มซึ่งหมายความว่าทุกแพ็กเก็ตประกอบด้วยส่วนหัวสองสามไบต์ตามด้วยแพ็กเก็ตพื้นฐาน - ดังนั้นจึงลดขนาดแพ็กเก็ตสูงสุดตามขนาดของส่วนหัว IPอนุญาตให้เราเตอร์แยกส่วนแพ็กเก็ตหากตรวจพบว่ามีขนาดใหญ่เกินไปสำหรับการฟ้อนรำครั้งต่อไป แต่วิธีนี้ไม่ได้ผลเสมอไป ในทางทฤษฎีควรจะค้นพบ MTU ที่เหมาะสมโดยอัตโนมัติแต่ก็ไม่ได้ผลเช่นกัน โดยเฉพาะอย่างยิ่ง googling ชี้ให้เห็นว่า Network Manager ไม่ได้ทำงานอย่างถูกต้องกับข้อมูล MTU ที่ได้จากการค้นพบ MTU แต่ฉันไม่รู้ว่าเวอร์ชันใดที่ได้รับผลกระทบหรือกรณีการใช้งานที่มีปัญหา

วิธีการวัด ลองส่งแพ็กเก็ต ping ที่มีขนาดที่กำหนดไปยังโฮสต์ภายนอกที่ตอบสนองต่อพวกเขาเช่นping -c 1 -s 42 8.8.8.8(บน Linux; ในระบบอื่น ๆ ให้ค้นหาเอกสารของpingคำสั่งของคุณ) แพ็คเก็ตของคุณควรผ่านไปได้ด้วยค่าที่น้อยพอที่ 42 (ถ้า 42 ไม่ทำงานบางอย่างกำลังปิดกั้นการปิง) สำหรับค่าที่มากขึ้นแพ็คเก็ตจะไม่ผ่าน 1464 เป็นค่าสูงสุดโดยทั่วไปหากชิ้นส่วนโครงสร้างพื้นฐานที่ จำกัด คือเครือข่ายอีเธอร์เน็ตในพื้นที่ของคุณ หากคุณโชคดีเมื่อคุณส่งแพ็คเก็ตที่ใหญ่เกินไปคุณจะเห็นข้อความ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 และ Derivatives เช่น Ubuntu ที่มีหรือไม่มี Network Manager): สร้างสคริปต์ที่/etc/network/if-pre-up.d/mtuมีเนื้อหาดังต่อไปนี้และทำให้สามารถเรียกใช้งานได้ทั่วโลก ( chmod a+rx):

    #!/bin/sh
    ifconfig $IFACE mtu 1454
    

2
ทำไมถึงเกิดขึ้น? เนื่องจากแพ็กเก็ตของคุณได้รับการ tunnelled ผ่าน PPPOE (PPP ผ่านทางอีเทอร์เน็ต) และนั่น จำกัด อยู่ที่ 1540 ดังนั้นหากแพ็กเก็ตของคุณบวกกับโอเวอร์เฮดของอุโมงค์มีขนาดใหญ่กว่านั้น ระบบปฏิบัติการ (MS) บางระบบไม่ได้ประกอบชุดแพ็กเก็ตใหม่ ดังนั้นคุณไม่สามารถเข้าถึงบางไซต์ (ให้บริการโดยเซิร์ฟเวอร์ MS windows) [คุณสามารถตั้งค่า MTU เป็น 1300 และใช้งานได้ดี] มันเกิดขึ้นที่บ้านของฉันและซ่อมมัน
ทิม Williscroft

1
ขอบคุณมาก! ฉันมีปัญหานี้มาเป็นเวลานานและฉันเพิ่งจะครบกำหนดโดยไม่ต้องเยี่ยมชมเว็บไซต์บางแห่ง ในที่สุดฉันก็สามารถดำเนินการต่อไปได้โดยไม่มีปัญหานี้
Kevin Jalbert

ขอบคุณมีปัญหานี้ใน archlinux หลังจากติดตั้งใหม่ไม่มีอะไรปรากฏขึ้นเพื่อแก้ไขปัญหานี้ แต่โซลูชันของคุณยิ่งใหญ่ ไชโย!
JeanK

ปัญหาของฉันได้รับการแก้ไขด้วยลิงก์
2560

0

ฉันออกจากการกำหนดค่าเริ่มต้นในไฟล์อินเตอร์เฟส แต่ตั้งค่าMTU=1300ในส่วน "เราเตอร์ไร้สาย" ของฉัน

ที่แก้ไขปัญหา


มันจะปรับปรุงคำตอบนี้เพื่ออธิบายไฟล์ที่คุณเปลี่ยนแปลงและเวอร์ชันของ Linux ที่ใช้
Kevin Panko

0

ฉันมีปัญหาเดียวกัน เว็บไซต์บางแห่งไม่สามารถเปิดได้ใน KUBUNTU 17.04 ของฉัน ฉันใช้คำสั่งนี้:

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

3
คุณช่วยอธิบายสิ่งนั้นได้ไหม?
Arjan

0

ปัญหาอาจเกี่ยวข้องกับการตั้งค่า DNS สำหรับฉันปัญหาได้รับการแก้ไขโดยทำตามขั้นตอนไม่กี่ขั้นตอน:

  1. ก่อนอื่นให้เปิด Terminal
  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)

แค่นั้นแหละ! ตอนนี้ลองโหลดบางเว็บไซต์ที่ไม่โหลดมันควรใช้งานได้!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.