У меня есть VPC с частной и общедоступной подсетями, каждая из которых содержит идентично построенный сервер RHEL7. Я считаю, что VPC настроен правильно (см. Ниже). Однако публичный сервер может использовать yum, а частный - нет. Частный получает ошибку ...
$ yum search apache
Failed to set locale, defaulting to C
Loaded plugins: amazon-id, rhui-lb
Repo rhui-REGION-client-config-server-7 forced skip_if_unavailable=True due to: /etc/pki/rhui/cdn.redhat.com-chain.crt
Repo rhui-REGION-client-config-server-7 forced skip_if_unavailable=True due to: /etc/pki/rhui/product/rhui-client-config-server-7.crt
Repo rhui-REGION-client-config-server-7 forced skip_if_unavailable=True due to: /etc/pki/rhui/rhui-client-config-server-7.key
Repo rhui-REGION-rhel-server-releases forced skip_if_unavailable=True due to: /etc/pki/rhui/cdn.redhat.com-chain.crt
Repo rhui-REGION-rhel-server-releases forced skip_if_unavailable=True due to: /etc/pki/rhui/product/content-rhel7.crt
Repo rhui-REGION-rhel-server-releases forced skip_if_unavailable=True due to: /etc/pki/rhui/content-rhel7.key
Repo rhui-REGION-rhel-server-rh-common forced skip_if_unavailable=True due to: /etc/pki/rhui/cdn.redhat.com-chain.crt
Repo rhui-REGION-rhel-server-rh-common forced skip_if_unavailable=True due to: /etc/pki/rhui/product/content-rhel7.crt
Repo rhui-REGION-rhel-server-rh-common forced skip_if_unavailable=True due to: /etc/pki/rhui/content-rhel7.key
Could not contact CDS load balancer rhui2-cds01.us-east-1.aws.ce.redhat.com, trying others.
Could not contact any CDS load balancers: rhui2-cds01.us-east-1.aws.ce.redhat.com, rhui2-cds02.us-east-1.aws.ce.redhat.com.
У меня есть AWS VPC, использующий RHEL7 AMI.
Основная основная таблица маршрутов указывает на NAT
Destination Target Status Propagated
10.0.0.0/16 local Active No
0.0.0.0/0 eni-xxxxxxxx / i-xxxxxxxx Active No
Частная подсеть связана с основной таблицей маршрутов
Вторая (не основная) таблица маршрутов указывает на шлюз
Destination Target Status Propagated
10.0.0.0/16 local Active No
0.0.0.0/0 igw-xxxxxxxx Active No
Общедоступная подсеть связана с этой таблицей маршрутов
Я включил NAT для пересылки (а иногда и маскировки ... см. Ниже)
sysctl -q -w net.ipv4.ip_forward=1 net.ipv4.conf.eth0.send_redirects=0
PRIVATE_SUBNETS="10.0.1.0/24"
for SUBNET in $PRIVATE_SUBNETS; do
iptables -t nat -C POSTROUTING -o eth0 -s $SUBNET -j MASQUERADE 2> /dev/null || iptables -t nat -A POSTROUTING -o eth0 -s $SUBNET -j MASQUERADE
done
Есть сервер в публичной и частной подсети
sslverify=0
в /etc/yum.repos.d/redhat-rhui.repo
и /etc/yum.repos.d/redhat-rhui-client-config.repo
а затем выполнение yum clean all
. Это не решило проблему.Как частный, так и общедоступный сервер, похоже, могут видеть и касаться следующего RPM:
$ rpm -Uvh ftp://ftp.pbone.net/mirror/ftp.sourceforge.net/pub/sourceforge/o/os/osolinux/update/RPMS.e/elinks-0.12-0.32.pre5mgc30.x86_64.rpm
Retrieving ftp://ftp.pbone.net/mirror/ftp.sourceforge.net/pub/sourceforge/o/os/osolinux/update/RPMS.e/elinks-0.12-0.32.pre5mgc30.x86_64.rpm
error: Failed dependencies:
libgc.so.1()(64bit) is needed by elinks-0.12-0.32.pre5mgc30.x86_64
libgpm.so.2()(64bit) is needed by elinks-0.12-0.32.pre5mgc30.x86_64
libmozjs185.so.1.0()(64bit) is needed by elinks-0.12-0.32.pre5mgc30.x86_64
libnss_compat_ossl.so.0()(64bit) is needed by elinks-0.12-0.32.pre5mgc30.x86_64
Если я попытаюсь загрузить новый репозиторий на частный сервер, у меня будет тайм-аут ...
$ rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
Retrieving http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
curl: (7) Failed connect to pkgs.repoforge.org:80; Connection timed out
error: skipping http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm - transfer failed
=== РАЗМЕЩЕНИЕ ЗДЕСЬ ДЛЯ ИНФОРМАЦИИ ДЛЯ ДРУГИХ ===
Привет Майкл. Благодарю за комментарий.
Я действительно использовал traceroute и видел, что пакеты попадают в NAT с рассматриваемого частного сервера. Я также видел пакеты, покидающие сервер, которые должны были быть перенаправленными пакетами. И это все. Ничего более.
У меня сложилось впечатление, что запросы отклоняются репозиториями, поскольку ping и удаленные rpms-запросы через Интернет работают ... но я не знаю почему. Я получаю тот же результат с включением и выключением маскарада.
Сервер NAT был построен автоматически в процессе создания VPC. Группы безопасности были созданы с использованием страницы «Сценарий 2» ... но в настоящее время они широко открыты.
В очень похожей ситуации, описанной в вопросе, я смог решить ее, добавив proxy
конфигурация для /etc/yum.conf
.
Как это:
echo "proxy=http://my.proxy.internal:3128/" >> /etc/yum.conf
Если частная подсеть не подключена к Интернету, то, конечно, вы не сможете получить доступ к Интернету для установки какого-либо пакета.
Вы также можете запустить экземпляр в общедоступной подсети, и после установки необходимых пакетов просто создайте пользовательское изображение его, который вы можете легко использовать при запуске экземпляра в любой подсети, независимо от того, есть ли у него доступ в Интернет или нет.
У меня такая же проблема, и я решаю ее, когда использую
ням установить wget
но когда я использую
sudo yum установить wget
все в порядке.