web-dev-qa-db-ja.com

PuTTYを使用して、IPを指定せずにDHCPネットワークのローカルサーバーに接続するにはどうすればよいですか?

DHCP LANで変更される可能性があるため、IPアドレスを指定したくありません。 Linuxサーバーの名前に接続しようとしましたが、PuTTYもWindowsのping.exeも解決できませんでした。

2
Jader Dias

私はいくつかのカテゴリーで解決策を見ることができます:

  1. 固定IP:
    1. LinuxマシンのIPを修正し、そのIPをDHCPサーバーから除外します。
    2. DHCPサーバー(ルーター?)を入手して、LinuxサーバーのMACアドレスに固定アドレスを割り当てます。
    3. これらのいずれの場合も、静的IPアドレスをクライアントのhostsファイルに入れます。
  2. DNSを使用した動的IP。
    1. LinuxマシンにDHCP要求とともにホスト名を送信させ、DNS解決が機能するようにDHCPサーバー/ DNSサーバーにこの名前を公開させる方法を見つけてください。 DHCPおよびDNSサーバーに依存します。
    2. Linuxサーバーの現在のIPをいくつかの固定共有リソース(外部Webページなど)に配置します。そして、クライアントで何かハッキーなスクリプトを作成してそれを取得し、サーバーのIPアドレスとして使用します。
3
Douglas Leeder

Dhcp要求でホスト名を送信するようにdhcpを構成できます。明らかに、これをサポートするにはdhcpdとネームサーバーが必要ですが、多くのルーターがこの機能をサポートしているので、サポートしているかどうかを確認する価値があります。

4
pete

残念ながら、あなたはかなり運が悪いです。これを行うには、mDNSのようなものを使用する必要があります。これは、Bonjourと呼ばれるOSXの箱から出して実装されますが、Apple)以外ではまだクリティカルマスに達していません。DHCPサーバーを制御する場合は、特定のシステムにDHCP予約を設定できます。このシナリオでは、特定のMACアドレスを持つNICは、DHCPサーバーから常に同じ静的に定義されたアドレスを取得します。

2
Scott Pack

DHCPネットワーク上にLinuxサーバーもあります。 DHCPを使用し、サーバーに簡単に接続できる最も簡単な方法は、静的IPを指定することです。他のクライアントには引き続きDHCPを使用できますが、サーバーには静的IPを使用できます。

使用しているLinuxディストリビューションはわかりませんが、ArchLinuxのrc.confの関連部分を次に示します。

lo="lo 127.0.0.1"
eth0="eth0 192.168.1.11 netmask 255.255.255.0 broadcast 192.168.0.255"
INTERFACES=(lo eth0)

gateway="default gw 192.168.1.1"
ROUTES=(gateway)
1
user6629

あるDNSサーバーにない限り、アドレスを解決することはできません。 IPアドレスを知っている必要があります。そうでない場合は、 いいえ-IP FQDNをサーバーの現在のIPアドレスに更新します。もちろん、これはパブリックIPアドレスを持つサーバーでのみ機能します。

内部アドレスの場合、ある時点でのIPを送信するスクリプトをサーバー上に作成することをお勧めします。

1
Alakdae

あなたの質問のいくつかの事柄はまだはっきりしていませんが、私は広い答えを与えるように努めます。

ホスト名を介してマシンに接続するには、ネットワーク上でアクティブな名前解決サービス、つまりDNSまたはWINSサーバー。マシンがそれぞれにpingできないと言っているのを見て)が必要です。他の名前では、ネットワークにDNSサーバーがない(またはどちらのマシンにもプライマリDNSサーバーが設定されていない)ようです。これは疑問を投げかけます-どのネットワーク環境にDHCPがあり、DNSがないのでしょうか。

ネットワーク上にIS DNSサーバーがある場合は、両方のマシンがそれに接続するように設定する必要があります(Windowsのネットワーク接続プロパティ、Linuxのgod-knows-where.conf)。 'すべて完了しました。

その場合、DNSサーバーがないと仮定しましょう。

ネットワーク内のDHCPサーバーを制御できると仮定すると、最も簡単な解決策は、DHCPサーバーに静的IPマッピングを設定することです。 Linuxサーバーに毎回同じIPを与えるようにします(特定のIPをサーバーのNICのMACアドレスにバインドします)。次に、Windowsワークステーション(%systemroot%\ system32\drivers\etcにあります)でhostsファイルを編集し、特定の名前をアドレスにマップして、楽しんでください。

DHCPを制御できない場合は、個人的には、DHCPを制御している人にバグを報告します(そして、神のためにDNSサーバーをそこに入れるように指示します)。

この問題を回避できる他の野生のものを考えることができます(サブネット全体にpingを実行し、arp -aをファイルに実行し、それをスキャンしてサーバーのMACアドレスを見つけ、それによってIPを解決するスクリプトを記述します。 。シーシュ、これは病気です)。真剣に、しかし、私はまともな名前解決サービスを稼働させようとします。

1
V. Romanov

他の人が指摘しているように、問題はSSHではなく名前解決にあります。

ただし、最善の解決策は、DNS、DHCPサーバー、およびDHCPクライアントを構成して、すべてのDHCPクライアントに対してDNSエントリが自動的に作成されるようにすることです。これは、MicrosoftのDHCPサーバーを使用して簡単に実行できます(それが役立つ場合は、指示を提供できるはずです)が、他のサーバーでも可能であるはずです。

基本的に必要なもの:

  1. 動的更新を受け入れるDNSサーバー(これを保護することをお勧めします)。
  2. すべてのクライアントに動的更新を送信するDHCPサーバー(MS DHCPサーバーはこれを行いますが、デフォルトでは行いません)。
  3. DHCPサーバーにその名前を通知するDHCPクライアント(ほとんどの場合、これは自動的に行われますが、オンにする必要があるオプションの場合があります)。
1
Yaytay