如何通过命令行更改ubuntu桌面中的IP地址


10

在Ubuntu桌面13.04中,更改/etc/network/interfaces文件不会更改IP地址或将DHCP转换为静态网络接口配置。更改文件后,我尝试过

sudo service networking restart

- - - - - 编辑 - - - - -

我已使用ssh连接到系统。


在编辑/ etc / network / interfaces文件时,如何更改IP?
米奇


1
您是说您编辑了该文件,但是没有任何效果?它不会更改IP地址吗?
Alaa Ali

@Alaa我做到了sudo service networking restart
Necktwi

Answers:


8

默认情况下,Ubuntu(或特定于网络管理器)将忽略该/etc/network/interfaces文件。要使所做的更改生效,请执行以下命令:

sudo ifdown wlan0
sudo ifup wlan0

假设这wlan0是您正在编辑的界面。完成此操作后,wlan0将在中的节中提出您的设置/etc/network/interfaces


编辑:由于您是通过SSH连接的。您可以尝试以下方法:

编辑/etc/NetworkManager/NetworkManager.conf并更改ifdown managedfalse

[ifupdown]
managed=false

然后,尝试:


如果我使用ifdown,我将失去与系统的连接。如果它不起作用,则无法再次连接。
Necktwi

我可以尝试重新启动系统,但如果未设置静态ip,则无法知道其动态新ip
Necktwi 2013年

@neckTwi试试我更新的答案。另外,您确定它将拥有不同的IP吗?通常,有一个租用期,即使您重新启动计算机,在预定的租用期到期之前,它仍将获得相同的IP。但这当然取决于我在说什么。
Alaa Ali

什么[ifupdown] managed=false意思
Necktwi

如果将其设置为true,则NetworkManager将“管理”中提到的接口/etc/network/interfaces。如果将其设置为false,则NetworkManager不会管理此处提到的接口。
Alaa Ali

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

无法

您有静态或动态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静态
地址192.168.2.1
网络掩码255.255.255.0
网络192.168.2.0
广播192.168.2.255

保存并关闭文件。完成后,重新启动网络:

$ sudo /etc/init.d/networking重新启动

使用以下命令验证新的IP地址:

$ ifconfig eth0
$ ifconfig

这只是您自己网站的一种工具;请透露您的隶属关系ip-details.comWhoisxy.com,或不链接到这些网站的所有讯息。请参阅帮助中心
Martijn Pieters 2014年

2

我发布此答案是为了给问题和现有答案赋予另一个维度,而不是作为原始问题的直接答案。重新启动时,您的IP将丢失。但是,我认为值得您理解这些命令,iproute2package是当前通过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

从我的无线接口中删除此第二个IP地址(ip addr delete

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

显示仅用于wlan0检查(ip addr show wlan0)的IP地址

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,然后添加另一个,但是我将失去连接性,而现在还不能。下面是这些命令,在此之后,我还需要添加一个新的默认路由route;

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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.