システム登録に失敗し "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.