Как изменить IP-адрес в рабочем столе Ubuntu через командную строку

10

В Ubuntu desktop 13.04 изменяющийся /etc/network/interfacesфайл не меняет IP-адрес и не конвертирует DHCP в статическую конфигурацию сетевого интерфейса. после изменения файла я попробовал

sudo service networking restart

----------РЕДАКТИРОВАТЬ----------

Я подключился к системе с помощью SSH.

Necktwi
источник
Как вы меняете IP при редактировании файла / etc / network / interfaces`?
Митч
@Mitch ссылка
Necktwi
1
Вы хотите сказать, что отредактировали этот файл, но он не имеет никакого эффекта? Это не меняет IP-адрес?
Алаа Али
@ Алаа я сделалsudo service networking restart
Necktwi

Ответы:

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
я могу попробовать перезапустить систему, но если статический ip не установлен, я не могу знать его новый динамический ip
Necktwi
@neckTwi попробуй мой обновленный ответ. Кроме того, вы уверены, что у него будет другой IP? Обычно существует период аренды, при котором, даже если вы перезагрузите компьютер, он все равно получит тот же IP-адрес, пока не истечет заранее определенный срок аренды. Но это зависит, конечно, я просто говорю, что у меня на уме.
Алаа Али
что [ifupdown] managed=falseзначит?
Necktwi
Если установлено значение true, NetworkManager «управляет» интерфейсами, упомянутыми в /etc/network/interfaces. Если установлено значение false, NetworkManager не управляет интерфейсами, упомянутыми там.
Алаа Али
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
Митч
источник
Это не постоянные изменения. Они будут переопределены при перезагрузке компьютера.
Алаа Али
которые не переживают перезагрузку системы
Necktwi
У вас есть статический или динамический 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
user200162
источник
Это просто средство для ваших собственных сайтов; пожалуйста, раскрывайте свою принадлежность ip-details.comи / Whoisxy.comили не размещайте ссылки на эти сайты из всех ваших сообщений . Смотрите справочный центр .
Мартин Питерс
2

Я публикую этот ответ, чтобы дать другое измерение вопросу и существующим ответам, а не как прямой ответ на исходный вопрос. Ваш IP будет потерян при перезагрузке. Тем не менее, я думаю, что вам стоит понять эти команды, iproute2в настоящее время пакет представляет собой метод управления интерфейсом «на лету» через интерфейс командной строки. Многие люди все еще пишут сценарии, используя, 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-адреса еще раз, обратите внимание на дополнительный IP-адрес на wlan0 ( 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
    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

Показывать IP-адреса только для проверки wlan0 ( 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, а затем добавить другой, но я бы потерял связь, чего сейчас не могу. Ниже приведены эти команды, после чего мне также необходимо добавить новый маршрут маршрута по умолчанию;

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
jwbensley
источник
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
lewis4u
источник