web-dev-qa-db-ja.com

Linuxボックスに静的IPアドレスを設定できないのはなぜですか?

ポート転送のためにLinuxコンピューターの静的ローカルIPアドレスを設定しようとしています。このテーマに存在するすべてのガイドに従って、それに応じて/etc/network/interfacesおよび/etc/resolv.confファイルを編集しました。ただし、再起動すると、resolv.confに加えた変更は消去され、ファイルは空白になります(そのことを警告するコメントを除く)。

その結果、ホスト名を解決できません(ping google.comが失敗するなど)。実際、有効なIPアドレスにもpingを実行できません(「宛先ホストに到達できません」)。

ifconfig/etc/network/interfacesに設定したすべての設定を反映しているようですが、インターネットにまったくアクセスできず、別のマシンからSSHやFTPを使用してマシンにアクセスすることもできません。

これが私の/etc/network/interfacesです:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 192.168.0.64
    netmask 255.255.255.0
    network 192.168.0.0
    broadcast 192.168.0.255
    gateway 192.168.0.1
    dns-nameservers 192.168.0.1 8.8.8.8

ifconfigが提供するものは次のとおりです。

eth0      Link encap:Ethernet  HWaddr 00:25:90:57:7c:65
          inet addr:192.168.0.64  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:20 Memory:fba00000-fba20000

eth1      Link encap:Ethernet  HWaddr 00:25:90:57:7c:64
          inet addr:192.168.0.10  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::225:90ff:fe57:7c64/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:252 errors:0 dropped:0 overruns:0 frame:0
          TX packets:106 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:54010 (54.0 KB)  TX bytes:15731 (15.7 KB)
          Interrupt:16 Memory:fb900000-fb920000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:94 errors:0 dropped:0 overruns:0 frame:0
          TX packets:94 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:8088 (8.0 KB)  TX bytes:8088 (8.0 KB)

なぜこれが起こっているのですか、どうすれば修正できますか?

2
Parker Kemp

グラフィカルネットワークマネージャーツールがインストールされたUbuntuのデスクトップバージョンを使用している場合は、notを/ etc/network/interfacesファイルに定義する必要があります。

代わりに、デスクトップのnm-appletを介して(または端末からnm-connection-editorを呼び出して)接続を開き、 IPv4 settings タブをクリックし、接続モードを Manual ドロップダウン選択ボックスを使用します。次に、提供されたボックスに目的のIPおよびDNS設定を追加します。

次に、/ etc/network/interfacesファイルの編集を元に戻し(lo定義行のみが含まれるように)、networkingサービスとnetwork-managerサービスの両方を再起動するか、機械。

また、選択した静的IPアドレスがルーターによって割り当てられたDHCPプールの外側にあることを確認する必要があります。実際、マシン上でDHCP構成を保持する方が簡単な場合があります。また、reserveDHCPアドレス予約をサポートしている場合、ルーター上の特定のIP。

本当にGUI network-managerを維持したいが、/ etc/network/interfacesを介してインターフェースを定義したい場合は、/ etc/NetworkManager/NetworkManager.confを編集して、変更することができます。

[ifupdown]
managed=false

[ifupdown]
managed=true

そして、/ etc/NetworkManager/system-connections /ディレクトリーに定義されている他の競合接続がないことを確認します(「競合」とは「同じインターフェースを使用する」ことを意味します)。これにより、GUIネットワークマネージャアプレットの下の/ etc/network/interfacesで接続を表示および制御できるようになります。

または、network-managerパッケージをすべて削除することもできます。

2
steeldriver

DNS構成を/ etc/network/interfacesに直接追加する必要があります。

auto eth0
iface eth0 inet static
    address 192.168.0.64
    netmask 255.255.255.0
    network 192.168.0.0
    broadcast 192.168.0.255
    gateway 192.168.0.1
    dns-nameservers 192.168.0.1 8.8.8.8
0
mndo