Vấn đề giải quyết nhiều trang web


38

Tôi hiện đang chạy Ubuntu 12.04 và sử dụng Chrome / Firefox cùng với OpenDNS (đã dùng thử Google Public DNS cũng như DNS của ISP của tôi).

Đột nhiên, rất nhiều trang web mà tôi truy cập thường xuyên không tải nữa. Một số trong số đó là imgur, yahoo, fed-sudoku , microsoft và trang addons của firefox. Tôi chắc chắn có nhiều hơn nữa sẽ không tải.

Tôi có Windows 7 trong Dual-Boot và không có vấn đề gì khi mở các trang này trên Windows.

Lịch sử tóm tắt

Hai tuần trước tôi đã cài đặt Ubuntu 12.10. Tôi phải đối mặt với vấn đề này ngay lập tức. Tôi nghĩ rằng có điều gì đó không ổn với quá trình cài đặt, vì vậy tôi đã gỡ bỏ Ubuntu 12.10 và thay vào đó cài đặt LubFi 12.10, nhưng vấn đề vẫn tồn tại. Vì vậy, tôi đã thử mở các trang web này trong Môi trường trực tiếp (của Ubuntu 12.10, Lubfox 12.10 và Ubuntu 12.04.1) từ USB. Vấn đề đã có ở Ubuntu 12.10 và Lubfox 12.10. Tuy nhiên, tôi đã có thể truy cập các trang web này từ Ubuntu 12.04.1. Vì vậy, tôi đã cài đặt 12.04.1 trên HardDisk của mình. Mọi thứ vào ngày 12.04 vẫn ổn cho đến ngày hôm qua; nhưng đột nhiên, các trang web này không tải nữa. Windows 7 trong Dual-Boot hoạt động hoàn hảo.

Cập nhật

(1) Đáp lại câu trả lời của Zhang để kiểm tra basic terminal commands- Tôi đã sử dụng cả OpenDNS và GooglePublic DNS để kiểm tra các lệnh này (Khởi động lại PC của tôi ở giữa). Đây là các đầu ra đầu cuối trong khi sử dụng OpenDNS và trong khi sử dụng GooglePublicDNS .

(2) Đây là kết quả của ifconfig- Liên kết Pastebin .

(3) Sau đó, tôi đã cố gắng sử dụng wgetđể kiểm tra xem sự cố có xảy ra với Trình duyệt không. Tuy nhiên, nó không hoạt động đối với các trang web không tải trong trình duyệt của tôi. Đây là Liên kết Pastebin hiển thị nó cho Google (hoạt động) và Yahoo (không hoạt động).

(4) Sau đó làm theo các hướng dẫn được liệt kê tại noobslab đến disable IPV6. Ngoài ra, khởi động lại PC của tôi. Tuy nhiên, nó cũng không giúp được gì.

(5) Sau đó, tôi chỉnh sửa Kết nối có dây của mình thông qua Trình quản lý mạng thành ignore IPV6. Sau đó, tôi đã thử mở Yahoo trong Trình duyệt - nó đã tải lần đầu tiên. Tuy nhiên, khi tôi thử lại, nó không tải. Các trang web vấn đề khác đã không tải ở tất cả.

(6) Một lần nữa cố gắng wget. Tuy nhiên, lần này đã thông qua lập luận -4cho nó; I E; wget -4 www.yahoo.com. Nhưng một lần nữa, không nhận được bất kỳ phản hồi.

(7) Sau đó, cố gắng mân mê MTU. Theo liên kết này để kiểm tra mức tối đa mà tôi có thể đặt. Đối với tôi, mức tối đa có thể là 10324. Cũng đã thử các giá trị khác như 1500, 1492, 1452 và 100. Nhưng điều này cũng không giúp được gì.

(8) Re-installed Ubuntu 12.04.1 , xóa sạch cài đặt trước đó và tất cả các thay đổi khác. Cũng cài đặt tất cả các bản cập nhật có sẵn. Trong nửa giờ đầu tiên, tôi có thể tải tất cả các trang web - bao gồm cả những trang có vấn đề. Nhưng sau đó, tôi gặp vấn đề tương tự như trước đây - không thể tải các trang như yahoo, imgur, microsoft, fed-sudoku, v.v.

(9) Câu hỏi của người thắng cuộc

Từ wget thông tin pastebin trong câu hỏi, vấn đề không phải là DNS vì các lệnh wgetdigđạt đến IP của Yahoo. Điều này nói rằng, tôi không biết tại sao không có gì tải xuống với wget! Bạn đã thiết lập một tường lửa? (bạn có thể kiểm tra với sudo iptables -L). Trong ifconfigkết quả, có 2 giao diện, ppp0 và eth0. Cái nào nên được sử dụng để kết nối với internet? Bạn có thể gửi kết quả của routelệnh? Quan sát: eth0 không có địa chỉ IPV4 nên tôi nghĩ nó không được cấu hình đúng (như thế nào /etc/network/interfaces?)

Đây là Liên kết Pastebin cho đầu ra đầu cuối của sudo iptables -L; routecat /etc/network/interfaces. Tôi không chạy bất kỳ tường lửa. Đây là bản cài đặt sạch Ubuntu 12.04.1. ppp0 được sử dụng để kết nối với internet (cái này lấy tên người dùng và mật khẩu do ISP của tôi cung cấp) và eth0 là OnBoard LAN của Intel kết nối modem thông qua cổng ethernet.

(10) Đã thử nối thêm nameserver 208.67.222.222dòng /etc/resolv.conf(vì, tôi đang sử dụng OpenDNS). Nhưng điều này không giúp được gì (ngay cả sau khi khởi động lại). Vì vậy, hoàn nguyên các thay đổi trở lại. Đây cũng là một phần của câu trả lời được cung cấp bởi laurent - nó là bắt buộc nếu tôi muốn sử dụng OpenDNS.

Thông tin khác

  • Tôi có modem ADSL (không phải bộ định tuyến) được kết nối với PC bằng Cổng Ethernet. Để kết nối với internet, tôi có kết nối DSL. Vì vậy, tôi sử dụng PPPOE để kết nối.
  • Đầu ra đầu cuối cho thông tin hệ thống sudo lshw -C network; cat /etc/resolv.conf; ifconfig -a- Liên kết Pastebin

Câu trả lời:


21

Phần 1 - Kết nối PPPoE không hoạt động

Tôi sẽ thử vô hiệu hóa Trình quản lý mạng và định cấu hình mạng theo cách thủ công như được giải thích trong Ubuntu giúp ADSLPPPoE . Sử dụng Config with pppoeconfphần đầu tiên về cơ bản là chạy sudo pppoeconfvà trả lời các câu hỏi. Vì bạn cần sử dụng máy chủ DNS khác với máy chủ ISP, hãy trả lời nocâu hỏi về việc sử dụng máy chủ DNS ngang hàng.

Tùy chọn nếu kết nối internet của bạn không được khởi động lại khi khởi động: Bạn có thể chỉnh sửa nano /etc/rc.local, thêm các dòng sau vào trước exitdòng và khởi động lại để kiểm tra nó.

killall pppd
ifconfig eth0 up
pon dsl-provider

Trình quản lý mạng sẽ không được sử dụng khi bạn sử dụng cấu hình thủ công nhưng bạn có thể vô hiệu hóa nhấp vào nó và bỏ chọn tùy chọn enable network(và enable wirelessnếu có). Nếu việc vô hiệu hóa chỉ không hoạt động, bạn cũng có thể gỡ cài đặt nó cùng sudo apt-get remove network-managervà sau sudo apt-get autoremoveđể làm sạch các gói được cài đặt tự động.

Phần 2 Thay đổi máy chủ DNS ISP mặc định thành openDNS

Tôi thấy ở đây cách tốt nhất để sử dụng DNS tĩnh resolvconflà thêm máy chủ tên vào /etc/network/interfaceshoặc thêm nó vào /etc/resolvconf/resolv.conf.d/head. Vì giao diện của bạn được cấu hình tự động (dhcp), bạn phải sử dụng headtệp:

sudo nano /etc/resolvconf/resolv.conf.d/head

và thêm vào cuối:

nameserver 208.67.222.222
nameserver 208.67.220.220

Hạn chế

  • Bạn không thể sử dụng Trình quản lý mạng để kết nối. Tuy nhiên, điều này tự động giúp bạn kết nối với internet. Nếu không, bạn có thể kết nối bằng cách chạy pon dsl-provider. Để ngắt kết nối, bạn cần phải sudo, vì vậy chạy sudo poffngắt kết nối.
  • [Vấn đề này chỉ xảy ra với Ubuntu 12.04.] Trong khi Khởi động Ubuntu (đã tắt Modem hoặc trong khi nó vẫn đang cố thiết lập liên kết với ISP) - Ubuntu chờ tải Network-Configurationtrong khoảng 2 phút và sau đó khởi động mà không cần Cấu hình mạng. Để lên mạng bạn phải chạy pon dsl-provider.

Sửa lỗi để loại bỏ các thử nghiệm trước đó được thực hiện (không cần thiết trong các trường hợp khác):

Khi chúng tôi xóa resolv.confsymlink trước đó, chúng tôi cần tạo lại nó (không cần thiết khi cài đặt mới):

cd /etc
sudo rm resolv.conf
sudo ln -s ../run/resolvconf/resolv.conf /etc/resolv.conf

Nếu điều này hoạt động, bạn có thể hoàn nguyên các thay đổi trong /etc/dhcp/dhclient.confchúng tôi đã thực hiện trước đó.


Chào!! Bạn đã làm gì? Các trang web vấn đề đang tải bằng phương pháp này sudo pppoeconf. Tôi chỉ hy vọng nó không phải là tạm thời. Hy vọng, bạn biết vấn đề bây giờ. Có cách nào tôi có thể sử dụng Trình quản lý mạng thay vì chạy các lệnh pon dsl-providerpoff dsl-providermọi lúc. Cảm ơn bạn. Cảm ơn bạn rất nhiều :) :) :)
Aditya

4
Câu trả lời này bao gồm lời khuyên để loại bỏ các resolvconfgói. Gói này là một phần của hệ thống cơ sở trong Ubuntu 12.04 trở lên. Có rất ít lý do chính đáng để loại bỏ độ phân giải và tôi không thấy bất kỳ lý do nào áp dụng ở đây. Nếu bạn thực sự muốn có một tệp /etc/resolv.conf tĩnh thì tốt hơn hếtđể cài đặt độ phân giải và chỉ cần thay thế liên kết tượng trưng /etc/resolv.conf-> ../run/resolvconf/resolv.confbằng một tệp tĩnh. Nó là tốt hơn bởi vì sự hiện diện của độ phân giải ngăn chặn các gói khác ghi đè /etc.resolv.conf.
jdthood

2
Vâng. Các gói trong kho lưu trữ chính của Ubuntu mà trước đây đã được ghi vào /etc/resolv.conf đã được sửa đổi để chúng sẽ không ghi vào /etc/resolv.conf nếu gói giải quyết được cài đặt. Vì vậy, ngay cả khi bạn chỉ muốn một /etc/resolv.conf tĩnh, thật tốt khi cài đặt độ phân giải vì nó sẽ hoạt động như một loại dự phòng. Chương trình độ phân giải (/ sbin / decvconf) không bao giờ chạm trực tiếp vào /etc/resolv.conf; nó ghi vào /run/resolvconf/resolv.conf; và gói giải quyết làm cho một và chỉ một nỗ lực để thiết lập liên kết tượng trưng tại /etc/resolv.conf.
jdthood

1
@Aditya - OK chỉnh sửa theo kết quả của bạn. Để trả lời câu hỏi của bạn về việc rc.localsửa đổi, nó chỉ được sử dụng nếu kết nối internet của bạn không được khởi động lại khi khởi động (vì nó không có trong 12.04 nhưng có vẻ như đã bắt đầu ngay bây giờ trong 12.10 để có thể gỡ bỏ). Thời gian dài để khởi động khi modem của bạn không hoạt động là do bạn sử dụng DNS khác nhau không thể truy cập trong khi kết nối không được thiết lập đầy đủ. Có thể nếu bạn xóa dhclient.confsửa đổi và chỉ sử dụng resolv.confmột trong những điều này sẽ không xảy ra. Dù sao, tôi đang đề xuất một cách khác để làm điều này trong một chỉnh sửa mới.
laurent

1
Vui mừng vì nó đang làm việc! Bạn có thể thử sudo poff -axem nó có phải là vấn đề về sự cho phép không. Nếu nó giải quyết vấn đề xem liệu người dùng của bạn có đủ quyền hạn với idvà xem nếu bạn đang ở trong dipdialoutnhóm. Nếu không bạn có thể thêm với sudo adduser your-user dialout. Để kiểm tra những gì đang xảy ra, sử dụng tail /var/log/ppp.logsau poff(hoặc tốt hơn tail -f /var/log/ppptrong một thiết bị đầu cuối trong khi sử dụng pofftrong một thiết bị khác) để xem tại sao nó không hoạt động.
laurent

11
  1. Xác minh rằng máy khách của bạn có thể giao tiếp với các máy chủ openDNS

    sudo traceroute -n -w 2 -q 2 -m 30  208.67.222.222
    

    Nếu dòng cuối cùng của đầu ra không liệt kê 208.67.222.222 là bước nhảy cuối cùng hoặc nếu có thời gian chờ đáng kể, có thể có sự cố mạng ngăn bạn liên hệ với máy chủ openDNS.

  2. Xác minh rằng openDNS có thể giải quyết tên máy chủ đã chọn

    dig @208.67.222.222 www.difficult.com.      
    

    Tại dấu nhắc lệnh, chạy lệnh sau, thay thế www.difficult.com. với tên mà bạn gặp khó khăn khi giải quyết (đặt một khoảng thời gian ở cuối tên để tránh các vấn đề với hậu tố tên miền và danh sách tìm kiếm)

    Nếu đầu ra không hiển thị câu trả lời cho tên máy chủ, hãy tiếp tục:

  3. Xác minh rằng một trình phân giải mở khác có thể phân giải tên máy chủ đã chọn

    dig @8.8.8.8 www.difficult.com.
    dig @8.8.8.4 www.difficult.com.
    dig @4.2.2.1 www.difficult.com.
    dig @4.2.2.2 www.difficult.com.
    

    Nếu bạn nhận được một kết quả thành công, có thể có một vấn đề với openDNS

  4. Kiểm tra xem máy chủ tên có thẩm quyền có đúng không

    vàoDNS rất hữu ích.


CẬP NHẬT :
Câu trả lời này không thể giải quyết vấn đề, chỉ để khắc phục sự cố.
Nếu giải quyết DNS hoạt động tốt, hãy xem thêm câu trả lời của người nhận .


Tham khảo: xử lý sự cố DNS công cộng


Từ wget thông tin pastebin trong câu hỏi, vấn đề không phải là DNS vì các lệnh wgetdigđạt đến IP của Yahoo. Điều này nói rằng, tôi không biết tại sao không có gì tải xuống với wget! Bạn đã thiết lập một tường lửa? (bạn có thể kiểm tra với sudo iptables -L)
laurent

Đúng, trong ifconfigkết quả, có 2 giao diện, ppp0 và eth0. Cái nào nên được sử dụng để kết nối với internet? Bạn có thể gửi kết quả của routelệnh? Obs: eth0 không có địa chỉ IPV4 vì vậy tôi nghĩ rằng nó không được cấu hình đúng cách (như thế nào là /etc/network/interfaces?)
laurent

2
Xin chào Zhang, xin lỗi vì sự nhầm lẫn trên Super User. Tôi đã đặt tiền thưởng cho câu hỏi này để nó nhận được nhiều sự chú ý hơn. Chúc mừng!
slhck

1
@slhck: Cảm ơn bạn đã cung cấp Bounty cho câu hỏi này .. Cộng đồng AskUb Ubuntu và Ubuntu thật tuyệt ... Tôi yêu nó ... Chúc mừng !!!
Aditya

@Aditya, bạn có tập tin /etc/ppp/resolvnào không? Nếu vậy bạn có thể xem nếu DNS ISP của bạn được viết ở đó không? và thay đổi nó thành IP openDNS. Vì vậy, bạn có thể thay đổi lại thuộc tính -i trên/etc/resolv.conf
laurent

3

Nối dòng này với bạn /etc/resolv.conf:

nameserver 8.8.8.8

Tôi đang sử dụng OpenDNS. Bạn có chắc chắn nên nối thêm Máy chủ DNS của Google không?
Aditya

Tôi đã từng có một vấn đề như của bạn. Chỉ cần thêm một dns (thậm chí OpenDNS có thể hoạt động) vào tệp giải quyết của bạn như trong câu trả lời của tôi và dùng thử.
jasmines

2
máy tính của bạn sẽ thực sự sử dụng tất cả chúng theo thứ tự, vì vậy việc thêm một cái vào cuối có thể khiến mọi thứ hoạt động, nhưng nếu máy chủ tên đầu tiên vẫn hết thời gian thì hệ thống của bạn sẽ chậm.
ImaginaryRobots

Lưu ý rằng trong Ubuntu 12.04 trở lên, thông thường bạn không nên chỉnh sửa /etc/resolv.conf vì nó được cập nhật động bởi độ phân giải. Nếu bạn thực sự muốn có một /etc/resolv.conftệp tĩnh , hãy để gói giải quyết cài đặt và thay thế liên kết tượng trưng tại /etc/resolv.conf bằng một tệp tĩnh chứa (theo ví dụ hiện tại) nameserver 8.8.8.8.
jdthood

3

Vấn đề ban đầu có thể có thể được giải quyết bằng cách làm như sau.

sudo apt-get install resolvconf
sudo dpkg-reconfigure resolvconf

Cũng nên làm điều này để giải quyết vấn đề trên Live CD .. Nếu có, tôi sẽ thử nó trên Ubuntu 12.10 Live CD ..
Aditya

Có lẽ nó sẽ không giải quyết được bất cứ điều gì trên đĩa CD gốc Ubuntu 12.04 hoặc 12.10 chính hãng vì được biết rằng độ phân giải được cài đặt chính xác trên các đĩa CD đó. Nhưng nhiều công cụ phái sinh Ubuntu đã tạo ra các đĩa CD có cài đặt độ phân giải thiếu sót. Cài đặt thiếu sót như vậy đôi khi có thể được sửa chữa bằng cách chạy sudo dpkg-reconfigure resolvconf.
jdthood

Vấn đề ban đầu xảy ra với độ phân giải vẫn được cài đặt (và trên đĩa CD trực tiếp), đó là do cấu hình pppoe không phải DNS. Vấn đề với resolv.confviệc được viết lại với OP ISP DNS thay vì openDNS đã xuất hiện khi định cấu hình kết nối ppp ( sudo pppoeconf) vì vậy tôi nghĩ rằng giải pháp đã được viết lại (nhưng như chúng ta có thể thấy sau đó, đây không phải là trường hợp!). Dù sao, vấn đề rất lạ vì một số trang web vẫn ổn và một số thì không và trong mọi trường hợp, độ phân giải DNS đã (và vẫn) hoạt động. Vấn đề duy nhất bây giờ là OP muốn sử dụng một máy chủ DNS khác.
laurent

Làm sudo dpkg-reconfigure resolvconfvà làm theo lời nhắc / hướng dẫn đã giải quyết vấn đề của tôi! Đó là tất cả những gì nó đã làm!
Apelsin

3

Có lẽ bạn có thể thử vô hiệu hóa dnsmasq:

sudo vim /etc/NetworkManager/NetworkManager.conf

Đặt #trước mặtdns=dnsmasq

Sau đó:

sudo restart network-manager

Tôi gặp sự cố khi giải quyết một số trang web sau khi tôi cài đặt 12.04 và 12.10. Sau khi tôi vô hiệu hóa dnsmasqmọi thứ hoạt động tốt.

Nếu điều này có ích, thì bạn có thể cài đặt dịch vụ dnsmasq đầy đủ và đưa nhà cung cấp DNS yêu thích của bạn vào /etc/resolvconf/resolv.conf.d/tail.


Tôi muốn thử điều này. Tuy nhiên, Trình quản lý mạng của tôi hiển thị mạng LAN của tôi là Device not managed. Do đó, nó cũng không hiển thị Kết nối DSL mà tôi vừa tạo. Hãy nhìn vào hình ảnh này .
Aditya

NetworkManager không quản lý giao diện vì nó được cấu hình thủ công /etc/network/interfacesdo chạy pppoeconf. Vấn đề là kết nối tự động được tạo bởi NetworkManager không hoạt động nhưng bạn có thể thử ngay bây giờ (vì bạn biết cách sửa chữa nếu nó ngừng hoạt động). Chỉ cần nhận xét ra các dòng thêm bởi pppoeconftrong /etc/network/interfacesvà thay đổi managed=false to =truetrong /etc/NetworkManager/NetworkManager.confNow mà bạn biết đâu là vấn đề, xin vui lòng báo cáo nếu nó không hoạt động tự động và chúng tôi có thể cố gắng giải quyết nó bằng cách sử quản lý mạng.
nguyệt quế

@laurent và @snowhawkyrf: Tôi đã thử nó. Tuy nhiên, điều này không làm việc cho tôi. Sử dụng pppoeconfdường như là lựa chọn duy nhất để giải quyết vấn đề. Dù sao, cảm ơn cho đầu vào của bạn.
Aditya

0

Rõ ràng, vấn đề là cách Ubuntu xử lý các kết nối DSL. Tôi không thể định cấu hình kết nối DSL của mình theo đề xuất của các chuyên gia.

Như một công việc xung quanh, tôi đang sử dụng TOR, vì chỉ có một số ít các trang web bị ảnh hưởng bởi nó.


0

Vấn đề tương tự cũng xảy ra ở đây (ASUS EeePC 1015BX - Ubuntu 12.10 - Hệ thống AMD C-60). GEditing /etc/resolv.conftệp ( sudo -H gedit /etc/resolv.conf) và thay thế nameserver 127.0.1.1dòng bằng cách sau

nameserver 208.67.222.222
nameserver 208.67.220.220

giải quyết các vấn đề.

Bạn có thể thực hiện điều này vĩnh viễn bằng cách sử dụng các thủ tục này .


0

Vâng, tôi chỉ viết lệnh này bất cứ khi nào nó ngừng hoạt động, tôi vẫn tin rằng đó là một lỗi, hoặc có thể tôi đang làm gì đó với máy tính của mình

service NetworkManager restart

Nó sẽ bắt đầu hoạt động (nếu có kết nối internet). Nhưng nếu nó không hoạt động, hãy thử cập nhật các bản ghi dns và sau đó thực hiện lại lệnh trên. Nó shold làm việc.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.