静的IPアドレスの設定方法とその理由
通知!NetworkManagerなどの他のネットワーク設定方法については触れません。に記載されて/etc/network/interfacesいるデバイスはNMの影響を受けません
IPネットワーク(IPv4およびIPv6)を介して通信できるようにするには、コンピューターはIPアドレスを知っている必要があります。したがって、そのことをaddressコンピュータに伝えるためのディレクティブが必要です。
その後、コンピューターが別のコンピューターと通信したい場合、そのコンピューターは他のコンピューターのIPアドレスを使用して、そのコンピューターが同じネットワークLANにあるかどうかを確認します。その場合、コンピュータは他のコンピュータと直接通信できます。
では、同じLAN上のコンピュータと通信していることをコンピュータはどのようにして知るのでしょうか。ネットワークを使用することによりnetmask、アドレスのネット部分は1に設定され、ホスト部分はゼロに設定されます。したがって、IPアドレスの各ビットとネットマスクの間でビットごとのAND演算を実行することにより、ホスト部分がゼロであるIPアドレスのネットワークアドレスを取得します。したがって、コンピュータのIPアドレスと他のコンピュータのIPアドレスでこれを行うと、各ネットワークアドレスが取得されます。これらが等しい場合は、コンピュータが同じネットワークにあり、互いに直接通信できることを意味します。
ネットワークアドレスが等しくない場合、それらは異なるLAN上にあり、互いに直接通信できません。次に、コンピュータは他のLANに接続されている特別なコンピュータを使用する必要があります。そのコンピューターはルーターです(ファイアウォールとNATも備えている可能性があります)。そのため、コンピューターがLANの外部にある他のコンピューターと通信したい場合、gatewayディレクティブで設定されたそのコンピューターのアドレスを知る必要があります。別のインターフェースがすでにgateway値を設定している場合は、このインターフェースに別のゲートウェイディレクティブを設定しないでください。gatewayあなたは、各マシン上でIPv4だけのための唯一のIPv6のための1つを必要とするよう指示セットコンピュータのデフォルトルート、。このネットワークアドレスは、networkディレクティブを使用して手動で設定できます。
コンピュータがLAN内のすべてのコンピュータと通信する必要があり、ブロードキャストアドレスを使用する場合があります。このアドレスは、同じLAN内のすべてのコンピューターによってリッスンされます。これは基本的にネットワークアドレスと同じですが、ホスト部分がすべてゼロではなく、すべて1である点が異なります。このブロードキャストアドレスはbroadcast、インターフェースのディレクティブによって設定されます。
インターフェイスnetworkアドレスは一度だけ計算する必要があり、通常はそれaddressとnetmaskディレクティブから正しく計算されます。broadcast住所も同じです。したがって、それらを設定する必要はありません。実際、一方または両方を間違った値に設定すると、インターネットおよびLAN内の他のコンピューターへの接続が失われる可能性があります。したがって、それらにいくつかの奇妙な値がない限り、コンピュータに計算させてください。
したがって、プライベートネットワーク内/etc/network/interfacesのデバイスの最小静的設定またはスタンザは次のようになりeth1ます。
iface eth1 static inet
address 192.168.44.10
netmask 255.255.255.0
gateway 192.168.44.1
名前解決の仕組みとDNSとの関連付け。
ドメイン名は、人間が読みやすく覚えやすいドメイン名と、前述のIPアドレスを覚えにくいコンピュータとの間の変換に使用されます。これは名前解決と呼ばれます。
これは通常/etc/nsswitc.conf、で始まるファイルと行によって制御されますhosts:。コンピュータに接続するように要求すると、コンピュータmy.example.comはこのファイルを調べて、名前からIPアドレスを解決しようとしますmy.example.com。このファイルは、「my.example.comが持っているIP」という質問に実際に回答するのではなく、コンピュータがどこで回答を見つけることができるかを伝えます。
通常、/etc/hosts最初に静的ローカル名のファイルを試し、次にmDNS動的ローカル名のavahi を試してから、インターネットから名前を取得するためにDNSドメイン名resovlerを使用します。
これらのいくつかの質問への回答が遅い場合、コンピューターがしばらく動かなくなっているように見えることがあります。それを取得した場合は、最初に名前解決を確認してください。
静的アドレスを追加するには、/etc/hostsファイルに追加するだけです。ちなみに、静的アドレスがある場合は、マシンのIPアドレスをデフォルト127.0.1.1ではなくIPアドレスに変更する必要があります(localhostが存在するlocalnetネットワークにあります127.0.0.1)。これはクライアントでは問題なく機能し、サーバーでは機能しません。
avahiパッケージを備えたLinuxマシンとAppleマシン(およびiTunesを備えたMS Windows?)から取得した動的アドレス。これは「マジック」によって処理され、修正する必要はありません。
DNSはインターネットに到達するために使用され、使用するDNSサーバーの場所、使用するIPアドレス、およびデフォルトのDNSドメインをコンピューターに通知する必要があります。
これはファイルで行われ、/etc/resolv.conf静的に設定できます。これはそれほど静的ではない世界ではうまく機能しないので、通常、resolvconfインストールされているパッケージがあります。これにより、これらの設定を/e/n/interfacesファイルに設定できます。
したがって、GoogleのDNSサーバーの1つ8.8.8.8、およびISPのDNSサーバー192.0.2.1、およびドメインmy.example.orgドメインをデフォルトとして/etc/network/interfaces追加する場合は、ファイルを編集して、静的デバイスのスタンザにこれらの2行を追加するだけです。
dns-nameservers 8.8.8.8 192.0.2.10
dns-search my.example.org
また、DNSリゾルバーは最大3つのDNSサーバーのみを使用することに気付くかもしれません。でこれを見てくださいmanの-page resolv.conf。通常通り、次のコマンドを使用することができman nsswitch.conf、man resolv.confそしてman resolvconfより多くの情報のため。
また、ISPのサンプルDNSサーバーには、ドメインexample.comとexample.org、およびIPネットワーク192.0.2.0/24を使用していることに注意してください。これらは、例で使用するために明示的に定義されています。http://example.com/またはhttp://tools.ietf.org/html/rfc2606およびrfc5735を参照してください
次に、それが機能することをどのように確認しますか?
あなたは多くの方法でそれを行うことができますが、私は通常
getent hosts my.test.com
名前解決のセットアップ全体をテストします。DNSが機能するかどうかを確認するだけの場合は、次のいずれかのコマンドを使用します。
host my.test.com
dig my.test.com
ただし、これらは/etc/resolv.confファイルの設定を通じてDNSをテストするだけであり、その/etc/nsswitch.conf一部ではないことに注意してください。それはあなたが望むものかそうでないかもしれません。