システム登録に失敗し "Name or service not known" エラーが表示される
Environment
- Red Hat Network(RHN)
- Red Hat Enterprise Linux (RHEL)
- Red Hat Subscription Manager (RHSM)
Issue
-
システム登録に失敗し
Name or service not knownエラーが表示されます。Error communicating with server.The message was: Name or service not known -
致命的なエラー
gaierror: [Errno -2] Name or service not knownが発生してシステムを登録できません。2014-06-18 14:33:50,133 [ERROR] @managercli.py:151 - Error during registration:[Errno -2] Name or service not known 2014-06-18 14:33:50,134 [ERROR] @managercli.py:152 - [Errno -2] Name or service not known Traceback (most recent call last): File "/usr/share/rhsm/subscription_manager/managercli.py", line 1045, in _do_command owner_key = self._determine_owner_key(admin_cp) File "/usr/share/rhsm/subscription_manager/managercli.py", line 1148, in _determine_owner_key owners = cp.getOwnerList(self.username) File "/usr/lib64/python2.6/site-packages/rhsm/connection.py", line 852, in getOwnerList return self.conn.request_get(method) File "/usr/lib64/python2.6/site-packages/rhsm/connection.py", line 541, in request_get return self._request("GET", method) File "/usr/lib64/python2.6/site-packages/rhsm/connection.py", line 448, in _request conn.request(request_type, handler, body=body, headers=headers) File "/usr/lib64/python2.6/httplib.py", line 914, in request self._send_request(method, url, body, headers) File "/usr/lib64/python2.6/httplib.py", line 951, in _send_request self.endheaders() File "/usr/lib64/python2.6/httplib.py", line 908, in endheaders self._send_output() File "/usr/lib64/python2.6/httplib.py", line 780, in _send_output self.send(msg) File "/usr/lib64/python2.6/httplib.py", line 739, in send self.connect() File "/usr/lib64/python2.6/site-packages/M2Crypto/httpslib.py", line 51, in connect socket.getaddrinfo(self.host, self.port, 0, socket.SOCK_STREAM): gaierror:[Errno -2] Name or service not known -
yum update に失敗し、
Error communicating with server. The message was Name or service unknownエラーが発生します。
Resolution
-
messagebusおよびhaldaemonサービスが実行していない場合は起動します。 -
/etc/resolv.confファイルに DNS サーバーエントリーが含まれているかどうかを確認してください。存在しない場合は DNS サーバーを確認して、そのエントリーを追加します。# vi /etc/resolv.conf nameserver <dns_server_ip> -
ネットワークサービスを再起動します。
-
sslCACert が /etc/sysconfig/rhn/up2date に適切に定義されているこを確認します。
以下のようになります。sslCACert=/usr/share/rhn/RHNS-CA-CERT# service network restart
RHSM でシステムを登録した場合:
-
/etc/rhsm/rhsm.confファイルのServer hostnameおよびServer prefixエントリーを以下のように修正します。[server] # Server hostname: hostname = subscription.rhn.redhat.com # Server prefix: prefix = /subscription -
ここで、システムを登録します。
Root Cause
- ファイアウォールがブロックしているポートがあります。
- /etc/sysconfig/rhn/up2date の CA 証明書が間違っています。
RHN Classic を使用してシステムを登録した場合、値は "sslCACert=/usr/share/rhn/RHNS-CA-CERT" となります。 /etc/rhsm/rhsm.confファイルのServer hostnameおよびServer prefixエントリーが間違っています。
Diagnostic Steps
-
エラーメッセージによると、名前解決で問題が発生しているようです。
-
入力 (443) および出力 (80) ポートが開いているかどうかを確認します。
-
クライアントとサーバーとの間の通信を確認するには、以下のコマンドを実行します。
# telnet xmlrpc.rhn.redhat.com 80 # telnet xmlrpc.rhn.redhat.com 443 # nc -z rhn.redhat.com 80 -Xconnect # nc -z rhn.redhat.com 443 -Xconnect # echo -e "TRACE / HTTP/1.1\nHost: xmlrpc.rhn.redhat.com\n\n" | nc xmlrpc.rhn.redhat.com 80 -
messagebusおよびhaldaemonサービスが実行していることを確認します。# /etc/init.d/messagebus status # /etc/init.d/haldaemon status
Red Hat Subscription Manager でシステムを登録した場合
-
/etc/rhsm/rhsm.confファイルで以下のエントリーを確認します。[server] # Server hostname: hostname = subscription.rhn.redhat.com # Server prefix: prefix = /subscription
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
