プライベートサブネットとパブリックサブネットを持つ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.
RHEL7 AMIを使用するAWS VPCを持っています。
メインのメインルートテーブルはNATをポイントしています
Destination Target Status Propagated
10.0.0.0/16 local Active No
0.0.0.0/0 eni-xxxxxxxx / i-xxxxxxxx Active No
プライベートサブネットはメインルートテーブルに関連付けられています
2番目の(メインではない)ルートテーブルはゲートウェイを指しています
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
in /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とインターネットのリモートrpmが機能しているように見えるので、リクエストがリポジトリによって拒否されているように見えますが、理由はわかりません。マスカレードのオンとオフで同じ結果が得られます。
NATサーバーはVPCの作成プロセス中に自動的に構築されました。セキュリティグループは[シナリオ2]ページを使用して作成されましたが、現在広く開かれています。
質問で説明した状況と非常に似た状況で、proxy
構成を/etc/yum.conf
に追加することで解決できました。
このような:
echo "proxy=http://my.proxy.internal:3128/" >> /etc/yum.conf
プライベートサブネットがインターネットに接続されていない場合は、インターネットにアクセスしてパッケージをインストールすることはできません。
パブリックサブネットでインスタンスを起動することもできます。必要なパッケージをインストールした後、そのカスタムイメージを作成するだけで、インターネットがあるかどうかに関係なく、任意のサブネットでインスタンスを起動するときに簡単に使用できます。アクセスかどうか。