web-dev-qa-db-ja.com

Ubuntuで静的IPを設定するにはどうすればよいですか?

私はLinuxの初心者で、Windowsサーバー/デスクトップで長年の経験があり、静的IPの設定に問題があります。 Ubuntuの以前のバージョンで使用されている方法を使用していますが、16.04では機能しないようです

コマンドSudo nano /etc/network/interfaceを使用し、次を追加しました

iface enp0s25 inet static
address 10.10.8.2
netmask 255.255.0.0
gateway 10.10.1.1
dns-nameservers 8.8.8.8 8.8.4.4

システムを再起動しましたが、イーサネットはほとんど機能していません。pingはまったく機能しません。 /etc/NetworkManager/NetworkManager.confを変更しようとして、次の変更を加えました

#dns=dnsmasq (comment out the dnsmasq)
[ifupdown]
managed=true (changed from false)

これにより、イーサネットを散発的に動作させることができますが、最終的には失敗します。

他の2台のマシンと仮想マシンでもこの構成を試してみましたが、すべて同じ結果になります。これらのマシンにWindowsをインストールすると、これらの設定が正常に機能することを確認できます。同様に、DHCPを自動構成させると、すべてが問題なく機能します。

ここで何かが欠けていると思いますが、静的IPの設定はまったく難しくないはずです。

56
TeeStar

私は同じ問題を抱えており、これが私の解決策でした:

Sudo nano /etc/network/interfaces

# The primary network interfaceの下に(ネットワークに合わせて)貼り付けます:

auto enp0s25
iface enp0s25 inet static
address 192.168.0.16
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 8.8.4.4 8.8.8.8

Ubuntu 16.04ではifconfig -aまたは18.04+ではip addressを使用して、正しいインターフェイス名を取得できます

仮想マシンをシャットダウンしてから!!!ネットワーク設定に移動し、[MACアドレスの更新]ボタンを数回クリックします:)

enter image description here

VMを起動すると、インターネットにアクセスできるはずです!

2019年2月20日更新

Ubuntu 18.04+の場合、このファイルを編集する必要があります

/etc/netplan/50-cloud-init.yaml

network:
    ethernets:
        enp0s3:
            addresses: [192.168.0.55/24]
            gateway4: 192.168.0.1
            dhcp4: no
            nameservers:
              addresses: [1.1.1.1,8.8.8.8]
            optional: true
    version: 2
82
lewis4u

ここで受け入れられた回答で上記のように静的IPアドレスを設定しても機能しますが、古いIPアドレス設定をフラッシュしてからnetworking.serviceを再起動する必要があります。

Sudo ip addr flush enp0s25
Sudo systemctl restart networking.service

次に、それが正しいことを確認します。

ip add
56
Grant

Sudo vim /etc/network/interfaces

    auto lo
    iface lo inet loopback
    auto eth0
    iface eth0 inet static
    address 192.168.1.10
    gateway 192.168.1.1
    netmask 255.255.255.0
    dns-nameservers 8.8.8.8

Sudo ifdown eth0 && Sudo ifup eth0

5
lanni654321
# interfaces(5) file used by ifup(8) and ifdown(8)
# auto lo
# iface lo inet loopback
auto enp2s0 
iface enp2s0 inet static
    address 172.16.9.124
    netmask 255.255.240.0
    gateway 172.16.0.9
dns-nameservers 8.8.8.8
5
rajan

私は同じ問題を抱えていましたが、解決策は単純に「...」でした...少なくとも私にとっては。

auto ens160
iface ens160 inet static
address 172.31.0.164/22
netmask 255.255.252.0
gateway 172.31.0.2
network 172.31.0.0
broadcast 172.31.3.255
dns-nameservers 172.31.0.21 172.31.0.18

#Add internal route
up route add -net 172.16.168.0/21 gw 172.31.0.20 dev ens160

そして、次の場所にあるネットワークインターフェイスの名前で空のファイルを作成します。

~$ touch /etc/network/interfaces.d/ens160

できます...

3
Manu

私は同じ問題を抱えていましたが、これが私の解決策でした。ファイル/etc/network/interfaceの最後にある空の行をすべて削除します。

2
AkYu

サーバーが古いIPと割り当てられた新しいIPを表示している場合は、サーバーを再起動するだけです。古いIPが自動的にフラッシュされ、新しいIPが保持されます。
サーバーを再起動したくない場合は、次のコマンドを使用します。


Sudo ip addr flush <your-interface-here>

0
Sunrays

この単純なコマンドを実行して、マシンの起動/再起動時にネットワークインターフェイスが起動するように設定されているかどうかを確認します。

grep "auto" /etc/network/interfaces

標準出力に行が印刷されない場合は、テキストエディタ(vi、nano、sed)で/etc/network/interfacesを開くと、下の画像のようなものが表示されます。

A default /etc/network/interfaces file

明らかに、grepが端末ウィンドウに行を返さなかった場合、/ etc/network/interfacesの形式はまったく似たものにはなりません。 :-)ただし、auto行の形式に従ってください。

auto lo
(Loopback configuration follows)
.
.
.

auto enp0s3
(primary interface configuration follows)
.
.
.

=====================

今、あなたのマシンで

auto yourInteraceNameHere
(your interface configuration follows)
.
.
.

どのインターフェース名が利用可能か分からないのですか?このコマンドを実行します。

ifconfig -a

次のコマンドは、ネットワークインターフェイスの名前のみを返します。

ifconfig -a | grep encap | awk {'print $1'}

enter image description here

0

Ubuntuマシンに静的IPを設定していたのですが、ルーターを使用してIPアドレスを割り当てることができることに気付きました。これが最も簡単なソリューションかもしれません。ルーターにログインして、接続されているデバイスを見つけ、そこにIPアドレスを割り当てるだけです。

0
Ole