コマンドラインを介してubuntuデスクトップでIPアドレスを変更する方法


10

Ubuntuデスクトップ13.04では、/etc/network/interfacesファイルを変更してもIPアドレスは変更されず、DHCPが静的ネットワークインターフェイス構成に変換されません。私が試したファイルを変更した後

sudo service networking restart

----------編集----------

sshでシステムに接続しました。


`/ etc / network / interfaces`ファイルを編集するときにIPをどのように変更しますか?
— ミッチ


1
あなたはそのファイルを編集したと言いますが、何の効果もありませんか?IPアドレスは変わりませんか?
— Alaa Ali 2013

@Alaaやりましたsudo service networking restart
— Necktwi 2013

回答:


8

デフォルトでは、Ubuntu(または具体的にはNetwork Manager)は/etc/network/interfacesファイルを無視します。行った変更を有効にするには、次のコマンドを実行します。

sudo ifdown wlan0
sudo ifup wlan0

それwlan0があなたが編集しているインターフェースであると仮定します。これを行うと、のwlan0スタンザの下にある設定が表示され/etc/network/interfacesます。


編集: SSH経由で接続しているため。以下を試すことができます。

編集/etc/NetworkManager/NetworkManager.confして次のように変更ifdown managedしfalseます。

[ifupdown]
managed=false

次に、試してください:


ifdownを使用すると、システムへの接続が失われます。うまくいかない場合、再度接続する方法はありません。
— Necktwi 2013

私はシステムを再起動してみることができますが、静的IPが設定されていない場合、動的な新しいIPを知ることができません
— Necktwi

@neckTwi私の更新された答えを試してください。また、別のIPを使用することになりますか?通常、リース期間があり、マシンを再起動しても、事前定義されたリース期間が終了するまで同じIPを取得します。もちろん、それは当然のことですが、私の心にあることを言っているだけです。
— Alaa Ali 2013

どういう[ifupdown] managed=false意味?
— Necktwi 2013

trueに設定されている場合、NetworkManagerはに記載されているインターフェースを「管理」します/etc/network/interfaces。falseに設定されている場合、NetworkManagerはそこで言及されているインターフェースを管理しません。
— Alaa Ali 2013

5

これを試して。キーボードのCtrl+ Alt+ Tを押すだけでターミナルが開きます。開いたら、以下のコマンドを実行します。

sudo -i
gedit /etc/network/interfaces

これはガントベルトの助けを借りて行われます

保存したら、終了します

この行を追加するDHCPモード

auto eth0
iface eth0 inet dhcp

静的モード

auto eth0
iface eth0 inet static
address xxx.xxx.xxx.xxx
netmask xxx.xxx.xxx.xxx
gateway xxx.xxx.xxx.xxx

完了したら、ファイルを保存します。

sudo service resolvconf restart

これらは永続的な変更ではありません。コンピュータが再起動すると、これらは上書きされます。
— Alaa Ali 2013

システムの再起動に耐えられない
— Necktwi 2013

静的または動的IPはありますか?
— ミッチ

@guntbertこれは良いですか?ありがとう:)
— ミッチ

これは機能しません(または機能しなくなります)。Ubuntuは気にしないようです/etc/network/interfaces。
— giusti

4

次のスクリプトを使用して、IPアドレスを変更できます。

Ctrl+ Alt+でターミナルを開きt、次のコマンドを入力します。

sudo vi /etc/network/interfaces

または

gksudo gedit /etc/network/interfaces

eth0セクションを見つけ、次のようにIPアドレスを設定します。

自動eth0
iface eth0 inet static
アドレス192.168.2.1
ネットマスク255.255.255.0
ネットワーク192.168.2.0
ブロードキャスト192.168.2.255

ファイルを保存して閉じます。完了したら、ネットワークを再起動します。

$ sudo /etc/init.d/networking restart

次のコマンドを使用して、新しいIPアドレスを確認します。

$ ifconfig eth0
$ ifconfig

これはあなた自身のウェブサイトのための手段です。ip-details.comおよびへの所属を開示するWhoisxy.comか、すべての投稿からこれらのサイトにリンクしないでください。ヘルプセンターをご覧ください。
— Martijn Pieters 14年

2

私はこの回答を投稿して、元の質問への直接的な回答ではなく、質問と既存の回答に別の側面を与えています。再起動するとIPが失われます。ただし、これらのコマンドを理解することは価値があると思います。iproute2パッケージは現在、CLIを介したオンザフライのインターフェイス管理の方法です。多くの人がまだifconfig例を使ってスクリプトを書いています。

iproute2パッケージの使用に注目する価値があると思います。

すべてのインターフェースの現在のIPを表示(ip addr)

n2:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:e0:4c:6d:0a:49 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 74:ea:3a:ad:2e:00 brd ff:ff:ff:ff:ff:ff
    inet 172.22.0.221/24 brd 172.22.0.255 scope global wlan0
    inet6 fe80::76ea:3aff:fead:2e00/64 scope link 
       valid_lft forever preferred_lft forever

ワイヤレスインターフェイスにIPアドレスを追加する(ip addr add)

n2:~$ sudo ip a a 10.0.0.56/24 dev wlan0
[sudo] password for bensley: 

自分のIPアドレスを再度表示し、wlan0(ip addr)の追加のIPに注意

n2:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:e0:4c:6d:0a:49 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 74:ea:3a:ad:2e:00 brd ff:ff:ff:ff:ff:ff
    inet 172.22.0.221/24 brd 172.22.0.255 scope global wlan0
    inet 10.0.0.56/24 scope global wlan0
    inet6 fe80::76ea:3aff:fead:2e00/64 scope link 
       valid_lft forever preferred_lft forever

インターフェースのリンク状態を表示(ip link)

n2:~$ ip l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:e0:4c:6d:0a:49 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 74:ea:3a:ad:2e:00 brd ff:ff:ff:ff:ff:ff

ワイヤレスインターフェイスからこの2番目のIPアドレスを削除します(ip addr delete)

n2:~$ sudo ip a del 10.0.0.56/24 dev wlan0

wlan0がチェックするIPアドレスのみを表示(ip addr show wlan0)

n2:~$ ip a s wlan0
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 74:ea:3a:ad:2e:00 brd ff:ff:ff:ff:ff:ff
    inet 172.22.0.221/24 brd 172.22.0.255 scope global wlan0
    inet6 fe80::76ea:3aff:fead:2e00/64 scope link 
       valid_lft forever preferred_lft forever

同じコマンドを使用して現在のIPを削除し、172.22.0.221を追加してから別のIPを追加することもできましたが、接続を失っていたため、今はできません。ただし、これらのコマンドは次のとおりです。その後、新しいデフォルトルートルートも追加する必要があります。

n2:~$ ip r s
default via 172.22.0.1 dev wlan0  proto static 
169.254.0.0/16 dev wlan0  scope link  metric 1000 
172.22.0.0/24 dev wlan0  proto kernel  scope link  src 172.22.0.221  metric 2 
192.168.122.0/24 dev virbr0  proto kernel  scope link  src 192.168.122.1

ip a del 172.22.0.221/24 dev wlan0

ip a a 172.22.0.10/24 dev wlan

ip r a default via 172.22.0.1

# Re-add the same default route ^ via the same default gateway

0

このサイトの詳細な説明から:

  1. /etc/NetworkManager/NetworkManager.confでネットワーク接続のグラフィカル管理を無効にします
  2. 静的IPの情報(インターフェース、使用するIP、デフォルトゲートウェイ、サブネット、DNS)を収集します。
  3. / etc / network / interfacesを変更して、上記の情報を含めます。
  4. ネットワーキングおよびネットワークマネージャーサービスを再起動します。

0

これが正しい方法です。

sudo ifconfig eth0 down
sudo ifconfig eth0 <type_IP_you want>
sudo ifconfig eth0 up
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.