dポイントプレゼントキャンペーン実施中!

素朴な疑問なのですが、NICが2枚の場合、それぞれにホスト名を設定できないのでしょうか?

Solarisではhostnameファイルで設定できるようなのですが、
Linuxについてはネット検索してみましたが、みつけられませんでした。

もちろん、別サーバからアクセスするときはhostsファイルで設定できますが、自分自身に設定できないのかなぁと思った次第です。

ちなみに、centos5と6です。

A 回答 (4件)

ホスト名は、コンピューターとしての名前という意味と、IPアドレスに結びついた名前の二面性があります。


後者の意味であれば、別々のIPアドレスに別々のホスト名を付けることは可能です。NICが1つでも複数のIPアドレスを設定すれば可能です。
前者の意味であれば1つしか設定できません。OS起動処理の中で、hostnameコマンドやsethostnameシステムコールで設定されます。
    • good
    • 1
この回答へのお礼

ありがとうございます。

私は当初「IPアドレスに結びついた名前」というイメージで質問させていただきました。
また、これを設定できれば、hostnameコマンドの結果は、アクセスしたIPアドレスに対応した名前になるのかなというイメージでした。

ですが、hostnameの結果は1つだけなんですね。

ちなみに、IPアドレス毎の名前はどのように設定するのでしょうか?

ヒントだけでも頂けると幸いです。

お礼日時:2014/12/15 07:30

回答No.2です。



そもそも、何のために NIC 毎に別々の名前を付けたいので
しょうか?
ネットワーク上で IPアドレスを名前で引けるようにするのは
『DNS の仕事』ですので、NIC 自体に名前を付ける必要が
ありません。

DHCP や NETBIOS などのサービスを使う場合は、先にご紹介
したようなホスト名とは別の設定があります。
    • good
    • 0
この回答へのお礼

返信が遅くなり申し訳ありません。

今回の質問の背景を簡単に。
下記のように、ホストAとホストBがあり、それぞれにNICが2枚ずつあります。

<ホストA>
ホスト名:HostA
IPアドレス:
xxx.xxx.xxx.100 ※IPax
yyy.yyy.yyy.100 ※IPay

<ホストB>
ホスト名:HostB
IPアドレス:
xxx.xxx.xxx.200 ※IPbx
yyy.yyy.yyy.200 ※IPby


DNSには、各ホスト名にIPaxとIPbxを登録しています。
<DNS>
xxx.xxx.xxx.100 HostA
xxx.xxx.xxx.200 HostB


ただ、ホストAとホストBの間は、IPayとIPbyで通信しています(hostsファイルにはお互いのIP用の名前を設定)。
<hosts(ホストA)>
yyy.yyy.yyy.200 HostB-sub
<hosts(ホストB)>
yyy.yyy.yyy.100 HostA-sub



ところが、この状況でホストAとホストBの通信を行うソフトにhostnameコマンドの結果を通知するものがあります。

そして、通知したhostname(HostAやHostB)が指すIPアドレスは IPaxやIPbxと認識してしまうので、実際に通信しているIPアドレスと異なるために、期待した動きをしなくなっていまいました。


もちろんhostsファイルを以下のように設定すると動くのですが、諸事情から【できれば】HostAやHostBが指すIPアドレスは変えたくなかったのです。

<hosts(ホストA)>
yyy.yyy.yyy.200 HostB-sub HostB
<hosts(ホストB)>
yyy.yyy.yyy.100 HostA-sub HostA



そこで「NIC毎にホスト名を設定できれば、アクセスされたIPアドレス毎にhostnameコマンドの結果が変わってくれて、この問題も解決できるんじゃないか」と考えて、この件を調べ始めました。

ただ、今回の質問で「ホスト名(hostnameコマンドの結果)は1つのみ」ということがわかりましたので、別の方法を検討したいと思います。

ありがとうございました。

お礼日時:2014/12/18 08:06

No1です。



>ちなみに、IPアドレス毎の名前はどのように設定するのでしょうか?

/etc/hosts に書けば、正引き(ホスト名→IPアドレス)も、逆引き(IPアドレス→ホスト名)も出来るはずです。

>hostnameコマンドの結果は、アクセスしたIPアドレスに対応した名前になるのかなというイメージでした。

sshでログインした場合だと、環境変数 $SSH_CONNECTION でアクセス先・元のアドレスがわかるので、それで逆引きすればわかるかと思います。
    • good
    • 0
この回答へのお礼

返信が遅くなり申し訳ありません。
ありがとうございました。

お礼日時:2014/12/17 22:41

ホスト名とは読んで字の通りホストの名前ですから、NIC


が何枚刺さっていようが、1つのホストにホスト名はひとつ
です。

NIC毎に名前を付けたいとするのであれば、例えば『DHCP
に対して送るホスト名』のことでしょうか。
これは ifcfg-eth0 ファイルに DHCP_HOSTNAME で記述
します。
    • good
    • 0
この回答へのお礼

ありがとうございます。

hostnameコマンドで取得できるホスト名は一つだけなのですね。
IPアドレス毎に設定できるイメージでした。

また、今回はDHCPではないので、
DHCP_HOSTNAMEではないかもしれません。
ですが、DHCPの場合はそのような設定ができるのですね。

お礼日時:2014/12/15 07:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!