Я использовал графический диспетчер сети, чтобы изменить свой DNS-сервер на адрес OpenDNS.
Все работает нормально, но значок сигнала WiFi изменился на вопросительный знак.
Этот ответ работает, но я хочу найти и исправить проблему вместо отключения функции.
Я также пробовал этот ответ , но безуспешно.
Результат curl -v http://connectivity-check.ubuntu.com/
с адресом OpenDNS:
$ curl -v http://connectivity-check.ubuntu.com/
* Trying 35.224.99.156:80...
* TCP_NODELAY set
* Connected to connectivity-check.ubuntu.com (35.224.99.156) port 80 (#0)
> GET / HTTP/1.1
> Host: connectivity-check.ubuntu.com
> User-Agent: curl/7.68.0
> Accept: */*
>
* Recv failure: Connection reset by peer
* Closing connection 0
curl: (56) Recv failure: Connection reset by peer
результат curl -v http: // connectivity-check. ubuntu.com/
с DNS-адресом моего интернет-провайдера:
$ curl -v http://connectivity-check.ubuntu.com/
* Trying 78.46.14.94:80...
* TCP_NODELAY set
* Connected to connectivity-check.ubuntu.com (78.46.14.94) port 80 (#0)
> GET / HTTP/1.1
> Host: connectivity-check.ubuntu.com
> User-Agent: curl/7.68.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 204 No Content
< Date: Fri, 28 Aug 2020 10:07:04 GMT
< Server: Apache/2.4.18 (Ubuntu)
< X-NetworkManager-Status: online
< Connection: keep-alive
<
* Connection #0 to host connectivity-check.ubuntu.com left intact
Итак, мой локальный DNS говорит, что connectivity-check.ubuntu.com
- это 78.46.14.94
, но OpenDNS говорит, что это 35.224.99.156
, и этот сервер либо заблокирован из Ubuntu для Ирана, либо подвергся цензуре правительством.
Добавление следующей строки в / etc / hosts
решило проблему.
78.46.14.94 connectivity-check.ubuntu.com
Судя по вашей обновленной информации, проблема не в NetworkManager или DNS, а скорее в вашем соединении. Проверка подключения работает путем периодического HTTP GET для http://connectivity-check.ubuntu.com/ и, я думаю, ожидает увидеть HTTP 204. У вашего компьютера проблемы с подключением к этому хосту. (таким образом, Recv failure
), из-за чего NetworkManger переходит в состояние вопросительного знака. Для сравнения, вот мой вывод curl:
$ curl -v http://connectivity-check.ubuntu.com
* Trying 35.224.99.156:80...
* TCP_NODELAY set
* Connected to connectivity-check.ubuntu.com (35.224.99.156) port 80 (#0)
> GET / HTTP/1.1
> Host: connectivity-check.ubuntu.com
> User-Agent: curl/7.68.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 204 No Content
< Date: Fri, 28 Aug 2020 09:46:36 GMT
< Server: Apache/2.4.18 (Ubuntu)
< X-NetworkManager-Status: online
<
* Connection #0 to host connectivity-check.ubuntu.com left intact
Я даже установил свой /etc/hosts для разрешения подключения-check.ubuntu.com на тот же IP-адрес, что и вы, чтобы избежать различий в DNS.
Возможно ли, что в вашей сети есть что-то, что блокирует HTTP-соединения с открытым текстом или что-то в этом роде?