dhcpcdを使用してDebianに静的IPアドレスを割り当てる

dhcpcdを使用してDebianに静的IPアドレスを割り当てる

私のローカルWebサーバーのDebian Stretchインストールに静的IPアドレスを割り当てたいと思います。

私はこれを行いましたが/etc/network/interfaces、サーバーには1つのネットワークカードしかなく、私のネットワークには2つのルーターがありました。サーバーは、主に私のISPによって提供されたものではなく、サブネット192.168.1.0を持つ2番目のルーターに接続されていました。サーバーをサブネット192.160.0.1のISPルーターに接続する必要がある場合は、次のように各サブネット上で静的IPでサーバーを構成したいと思います。

ISPルーター:192.168.0.250

2番目のルーター:192.168.1.250

dhcpcd.conf各サブネットに固定IPを割り当てるために、次のように設定しました。

interface enp30s0
arping 192.168.0.1
arping 192.168.1.1

# Static IP configuration 1 (Default):
profile 192.168.0.1
static ip_address=192.168.0.250/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.11 192.168.0.12 192.168.0.1

# Static IP Configuration 2:
profile 192.168.1.1
static ip_address=192.168.1.250/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.11 192.168.1.12 192.168.1.1

奇妙なことに、これは少なくともサーバーの電源を入れたときに機能するようですが、再起動時にルーターを再起動する必要がある場合、サーバーは上記で設定した静的IPではなくIPアドレスを取得します。この問題をどのように解決するのかよくわかりません。正しい方向についてのアドバイスや指摘をいただきありがとうございます。

答え1

現在はインストールされていませんがdhcpcd(使用中dhclient)読んでいます。dhcpcd.conf のマニュアルページDebian 10の場合、静的IPプロファイルを選択するとき、arpingプロファイル名はIPアドレスではなく、それぞれの場合、ARP pingに応答するハードウェアアドレス(MACアドレスなど)である必要があるようです。

内部にDebian Stretchに対応するマニュアルページarping、withの使用の例profileは不明です。バグをパッチすると、例から一部の行が削除されたようです。 Debian 10では、このバグが修正されたようです。

ルータを再起動すると、インターフェイスでリンクが有効になってから実際にARP要求に応答するのに時間がかかります。 Debian Stretchシステムはおそらく通常のルータよりも高速なプロセッサを持っているので、リンクが表示されるとすぐにarpingを実行し、ルータがまだ起動プロセス中であるため、arpingは失敗します。

その後、タイムアウトはdhcpcdより長い通常のDHCPに置き換えられ、最終的にルータからDHCP応答を取得して使用します。これを望まない場合は、最良の方法はキーワードを使用してfallback最も一般的なケースを選択し、それが正しい選択になることを望むことです。

ルーターを構成できる場合は、各ルーターがサーバーのMACアドレスを認識し、常に通常のDHCPを使用して必要なIPアドレスを提供するように構成することもできます。これはDHCPを使用して固定IPを取得する一般的な方法ですが、何らかの理由でこれを行うことはできないようです。

だからあなたは次のようなものが欲しいでしょう:

interface enp30s0
# the most often used router first, to make things happen more quickly
arping 192.168.1.1 192.168.0.1

# Second router 192.168.1.1 has MAC address 11:22:33:44:55:66 in this example
# ISP router 192.168.0.1 has MAC address 22:33:44:55:66:77 in this example

# if arping fails, the next step would normally be to use the regular DHCP. 
# Assume we're on the second router in that case instead, since it's the most common case
fallback 11:22:33:44:55:66

# Static IP Configuration for the second router:
profile 11:22:33:44:55:66
static ip_address=192.168.1.250/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.11 192.168.1.12 192.168.1.1

# Static IP configuration for the ISP router:
profile 22:33:44:55:66:77
static ip_address=192.168.0.250/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.11 192.168.0.12 192.168.0.1

関連情報