Я работаю в лаборатории. В этой лабораторной работе много компьютеров с Windows, и я использую один из них.
Также есть прокси-сервер, который позволяет всем компьютерам подключаться к Интернету.
Теперь у меня есть машина Red Hat 7, которая подключена к моему компьютеру, а это означает, что она не подключается к прокси-серверу.
| | | |
| Internet |<--- proxy server |<--- my PC |<--- RHEL7
| | | |
Говоря, что IP-адрес моего ПК, который RHEL7 может пинговать, a.a.a.a
, IP-адрес прокси-сервера, который мой компьютер может пинговать, b.b.b.b
а используемый порт прокси-сервера 8080
.
Теперь мне нужно заставить RHEL7 выходить в Интернет. Вот что я сделал:
1) Я выполняю настройку на своем ПК, как показано ниже:
port_forwarding(a.a.a.a, 6113, b.b.b.b, 8080)
2) Я выполняю настройку на машине Linux, как показано ниже:
export http_proxy="http://my_name:my_passwd@a.a.a.a:6113/"
export http_proxys="https://my_name:my_passwd@a.a.a.a:6113/"
export ftp_proxys="ftp://my_name:my_passwd@a.a.a.a:6113/"
Теперь я могу wget www.google.fr
на моем RHEL7. Моя конфигурация работает.
Затем я выполняю yum makecache
и вот результат:
me@localhost:/etc/yum.repos.d$ yum makecache
Loaded plugins: langpacks, product-id, search-disabled-repos
base | 3.6 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/10): base/x86_64/group_gz | 165 kB 00:00:00
(2/10): base/x86_64/primary_db | 6.0 MB 00:00:02
(3/10): extras/x86_64/primary_db | 165 kB 00:00:00
(4/10): extras/x86_64/filelists_db | 217 kB 00:00:00
(5/10): base/x86_64/filelists_db | 7.3 MB 00:00:03
(6/10): extras/x86_64/other_db | 106 kB 00:00:00
(7/10): base/x86_64/other_db | 2.6 MB 00:00:00
(8/10): updates/x86_64/filelists_db | 4.5 MB 00:00:01
(9/10): updates/x86_64/other_db | 573 kB 00:00:00
(10/10): updates/x86_64/primary_db | 7.6 MB 00:00:03
Кажется, что yum makecache
работает. Однако когда я выполняю sudo yum update
, Я получаю сообщение об ошибке:
https://mirrors.huaweicloud.com/centos/7/os/x86_64/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: mirrors.huaweicloud.com; Unknown error"
Trying other mirror.
https://mirrors.huaweicloud.com/centos/7/extras/x86_64/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: mirrors.huaweicloud.com; Unknown error"
Я перепробовал все зеркала здесь: http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os, но я всегда получаю одну и ту же ошибку.
Кстати, выход curl -v mirrors.huaweicloud.com
:
* About to connect() to proxy 192.168.120.176 port 6113 (#0)
* Trying 192.168.120.176...
* Connected to 192.168.120.176 (192.168.120.176) port 6113 (#0)
* Proxy auth using Basic with user 'me'
> GET HTTP://mirrors.huaweicloud.com/ HTTP/1.1
> Proxy-Authorization: Basic ejAwNDM2ODgwOnI2Ni0xODE2
> User-Agent: curl/7.29.0
> Host: mirrors.huaweicloud.com
> Accept: */*
> Proxy-Connection: Keep-Alive
>
< HTTP/1.1 301 Moved Permanently
< via: proxy A
< Date: Fri, 10 Apr 2020 03:49:09 GMT
< Server: CloudWAF
< Location: https://mirrors.huaweicloud.com/
< Set-Cookie: HWWAFSESID=b0be07ce156888de4e; path=/
< Set-Cookie: HWWAFSESTIME=1586490548595; path=/
< Content-Type: text/html
< Cache-Control: public
< Content-Length: 182
< Proxy-Connection: Keep-Alive
<
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>openresty</center>
</body>
</html>
* Connection #0 to host 192.168.120.176 left intact
Я предполагаю, что вы устанавливаете прокси только для пользователя «я» при экспорте http_proxy
и http_proxy
, поэтому он работает, когда вы выполняете yum makecache
или завиток с этим пользователем.
Но когда ты бежишь sudo yum update
вы выполняете команду как root, поэтому переменные, которые вы установили для пользователя «я», не учитываются, вам нужно установить их для root, или вы можете добавить следующее в yum.conf
:
proxy=http://a.a.a.a:6113/
proxy_username=my_name
proxy_password=my_passwd
Если это не причина, вы можете попробовать добавить -v
к вашим командам yum, чтобы получить больше информации.