CentOS находится в изолированной сети и непосредственный доступ к сети Интернет административно запрещён или отсутствует. Подключение можно организовать через промежуточных хост, выступающий в роли PROXY-сервера или посредника. Т.е весть трафик от CentOS пойдёт через PROXY-серверу во внешний мир.
Шаг 1. На CentOS настраиваем сетевой интерфейс, к примеру:
centos$ cat /etc/sysconfig/network-scripts/ifcfg-ens160
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME=ens160
UUID=81ce3e58-9762-46fc-a9f7-6c34e4bb4bd7
DEVICE=ens160
ONBOOT=yes
PROXY_METHOD=none
BROWSER_ONLY=no
IPADDR=10.0.1.225
PREFIX=24
DNS1=192.168.140.39
DNS2=192.168.140.34
Шаг 2. Проверим, что нет маршрута по умолчанию.
centos$ netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
10.0.1.0 0.0.0.0 255.255.255.0 U 0 0 0 ens160
Шаг 3. Убедимся в отсутствии сетевой связанности с внешним миром.
centos$ ping lenta.ru
ping: lenta.ru: Name or service not known
Шаг 4. В файл /etc/yum.conf добавляем строку: proxy=http://10.0.1.10:3128, где 10.0.1.10 IPv4-адрес PROXY-сервера
centos$ cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
proxy=http://10.0.1.10:3128
#proxy_username=rhproxy
#proxy_password=D5znQs4P8Rmtw
# This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
# It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
Шаг 5. На PROXY-сервере создать папку c:/3proxy и скопировать в неё два файла 3proxy.exe и 3proxy.cfg
Шаг 6. В командной строке перейти в папку c:/3proxy
windows> cd c:/3proxy
Шаг 7. Запустить PROXY-сервер из директории c:/3proxy
windows> 3proxy.exe 3proxy.cfg
При запуске, ОС Windows может спросить разрешения на сетевые подключения для данного приложения — соглашаемся. PROXY-сервер открывает 0.0.0.0:3128 сокет и ждёт на него соединений от CentOS.
Шаг 8. На CentOS выполняем команду по обновлению пакетов. При необходимости, можно добавить новые репозитории согласно документации на пакетный менеджер yum.
centos# yum update
Loaded plugins: fastestmirror
base | 3.6 kB 00:00:00
epel/x86_64/metalink | 31 kB 00:00:00
^Chttps://mirror.yandex.ru/epel/7/x86_64/repodata/repomd.xml: [Errno 14] curl#56 - "Network error recv()"
Trying other mirror.
[root@localhost ~]# yum clean
Loaded plugins: fastestmirror
Error: clean requires an option: headers, packages, metadata, dbcache, plugins, expire-cache, rpmdb, all
[root@localhost ~]# yum update
Loaded plugins: fastestmirror
epel/x86_64/metalink | 31 kB 00:00:00
epel | 5.4 kB 00:00:00
extras | 3.4 kB 00:00:00
updates | 3.4 kB 00:00:00
(1/5): epel/x86_64/group_gz | 88 kB 00:00:00
(2/5): epel/x86_64/updateinfo | 1.0 MB 00:00:00
(3/5): extras/7/x86_64/primary_db | 215 kB 00:00:00
(4/5): epel/x86_64/primary_db | 6.8 MB 00:00:00
(5/5): updates/7/x86_64/primary_db
Total download size: 350 M
Is this ok [y/d/N]: y
Шаг 9. Для завершения работы необходимо выключить PROXX-сервер 3proxy, нажав сочетание клавиш CTRL+C в командной строке
Полезные ссылки: