Linux change ip address

Q. How do I change ip address in Linux?

ADVERTISEMENTS

A. There are different ways to change IP address in Linux
(a) Command Line tools

(b) Modify configuration files

(c) Use GUI tools

Task: Display current IP address and setting for network interface called eth0

Use ifconfig command:
# ifconfig eth0
Output:

eth0      Link encap:Ethernet  HWaddr 00:30:48:5A:BF:46  
          inet addr:10.5.123.2  Bcast:10.5.123.63  Mask:255.255.255.192
          inet6 addr: fe80::230:48ff:fe5a:bf46/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:728204 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1097451 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:62774749 (59.8 MiB)  TX bytes:1584343634 (1.4 GiB)
          Interrupt:177 

Task: Change IP address

You can change ip address using ifconfig command itself. To set IP address 192.168.1.5, enter command:
# ifconfig eth0 192.168.1.5 netmask 255.255.255.0 up
# ifconfig eth0

To make permanent changes to IP address you need to edit configuration file according to your Linux distribution.

Change IP address under RedHat / CentOS / Fedora core Linux

=> Please read – Howto change and setup IP address in Redhat Linux

Change IP address under Debian / Ubuntu Linux

=> Please read – Howto change and setup IP address in Ubuntu / Debian based Linux distros

🐧 Get the latest tutorials on SysAdmin, Linux/Unix, Open Source/DevOps topics:
CategoryList of Unix and Linux commands
File Managementcat
FirewallCentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNCentOS 8 Debian 10 Firewall Ubuntu 20.04

ADVERTISEMENTS
82 comments… add one
  • Mike May 1, 2008 @ 17:15

    Great. Very helpful.

  • Patrick Sep 25, 2008 @ 21:14

    Thanx for giving Valuable suggestion !!!

  • selva Dec 10, 2008 @ 11:17

    Thanks its working

  • Mutturaj Feb 12, 2009 @ 6:51

    great excellent

  • JediTech Feb 18, 2009 @ 6:28

    Excellent, helped me out of a jam

  • anthony Feb 26, 2009 @ 1:22

    Excellent !!!

  • kamal Feb 26, 2009 @ 7:21

    thanks it was helpful

  • peteopp Apr 30, 2009 @ 5:18

    EXCELLENT!!!!

  • mahendra patil May 5, 2009 @ 12:26

    Dear
    linux support
    Pls Give me More Command Ex. vmware esx server and Fedora server edition

    Regards
    mahendra patil

  • al prince nofl May 27, 2009 @ 23:34

    good idea

    i have know my ip

    but i cant change it, this is what i write:

    alprincenofl@alprincenofl-laptop:~$ ifconfig eth0 192.168.1.5 netmask 255.255.255.0 up
    SIOCSIFADDR: Permission denied
    SIOCSIFFLAGS: Permission denied
    SIOCSIFNETMASK: Permission denied
    SIOCSIFFLAGS: Permission denied

    • 🐧 nixCraft May 28, 2009 @ 0:04

      You must be root user to change IP address.

    • narender Aug 2, 2010 @ 8:02

      u has to type the command before u are in root
      then the ip will change.,

    • tawab Dec 27, 2011 @ 6:45

      write word ‘sudo’ at first as the following:
      sudo ifconfig eth0 192.168.1.5 netmask 255.255.255.0 up

  • ameer Jun 4, 2009 @ 13:14

    how to upgrade firefox in fedora

  • tutu Jun 17, 2009 @ 22:51

    it doesn’t work. I don’t have the ifconfig!!
    what about the config files?

  • 🐧 nixCraft Jun 17, 2009 @ 22:58

    @tutu

    You must login as root and use full path /sbin/ifconfig

  • tutu Jun 18, 2009 @ 3:27

    Thanks. It worked. I thought I tried that already… Anyway, in order to make it permanent now, I saw the other link but when I launched the command sudo… it asks for a password and there I’m lost as the superuser password is not accepted. The user’s password also… Is that a different password?

  • Win Jun 29, 2009 @ 16:59

    thanks
    it’s working !

  • sidhu Jul 22, 2009 @ 19:47

    Hi
    This is sidhu, Thanks for your post.
    I want to learn linux, I completed my MCSE.
    But i dnt hve any idea on linux.
    I want ot learn CentOS – ViciDialNow.
    so i am searching linux commands.
    Please send me any tips or tutorial to my mail.
    sidhu_sir2@yahoo.co.in
    Once again Thanks, Bye
    Have a nice day

  • nithin mk Oct 22, 2009 @ 6:52

    please try to post more tips than this

  • saki Dec 10, 2009 @ 6:29

    ifconfig eth1 10.0.0.1 netmask 255.255.255.0 up
    SIOCSIFFLAGS: Cannot allocate memory
    SIOCSIFFLAGS: Cannot allocate memory

    • Pankaj Pal Aug 28, 2010 @ 7:21

      It seems that your vserver does not allow you to allocate enough memory to compile PHP. You have to talk with your hosting provider if they can set your memory limit to a higher value.
      You can also try to stop all daemons except the ssh (so you can administrate your server) and then try….hope it works…

  • Isuru Dec 26, 2009 @ 17:27

    Thanks — good solid basics

  • cocu Feb 1, 2010 @ 6:06

    thank you so much. my computer always login in root user. and it so simple thing to change the ip address as i like. cuz my computer through a network

  • Rovshan Feb 5, 2010 @ 9:38

    Hi,
    i have to change my ip address in suse linux 192.168.0.77 but any restarts give default ip 10.0.2.15

    P.S i’m use Sun Virtualbox

    • Pankaj Pal Aug 28, 2010 @ 7:13

      I give a simple solution to your query :
      add one line in /etc/rc.local of your system
      ifconfig eth0 192.168.0.77 netmask 255.255.255.0 up

      • Chris Keil Aug 31, 2010 @ 15:46

        Actually, OpenSuse does not have a file called rc.local in the /etc directory.

        Try editing /etc/sysconfig/network/ifcfg-ethX – where the X value is the ethernet port you want to change.

  • Unknown May 12, 2010 @ 4:19

    I tried changing my IP address and it worked, but when i tried accessing the internet it did not work.
    Can anyone help me?

    • Pankaj Pal Aug 28, 2010 @ 7:27

      If you successfully changed your IP address than try to ping your gateway(your LAN’s address)
      If the step went good. try to resolve some DNS name with ‘dig’ or with ‘nslookup’
      if the step went bad try to configure DNS info with some X app of your distro or check manually (if you are sure what you are doing) /etc/named.cof, /etc/resolve.conf and etc/sysconfig/network-scripts/ifcfg- files as a root.

      If that does not help let me know

  • oumaKarate May 24, 2010 @ 13:14

    @Vivek Gite

    (Linux Nooby)

    I installed Ubuntu 9.10 (the Karmic Koala), and have not specified a root password
    and cannot log in as root because of this…is there a standard password?

    • naveen Mar 20, 2012 @ 12:19

      wonderful………………..

  • oumaKarate May 24, 2010 @ 13:21

    App : @Vivek Gite

    (Linux Nooby)

    I installed Ubuntu 9.10 (the Karmic Koala), and have not specified a root password
    and cannot log in as root because of this…is there a standard password?

    I fixed :)
    sudo bash

  • levi Aug 20, 2010 @ 10:11

    i want to log on to the linux machine remotely using windows xp, please help me on this one.
    thank you

    • Pankaj Pal Aug 28, 2010 @ 7:01

      If you want to log on to the linux machine remotely using windows xp, you just installed Putty. In Host Name type the address of the remote machine and load it…
      If not able to take remote than check that openssh service is running on the remote machine.

  • Strike Sep 29, 2010 @ 6:17

    How do you remove it, i put in the wrong ip and want to take it out, cheers.

  • Abhilash Oct 7, 2010 @ 10:29

    Dear Sir,

    I have installed fedora 10 on my machine. it contains two ethernet port.
    i installed cable with eth1 and give a static ip address xxx.xxx.xxx.xxx through Gnome. its working fine. but when i restart the machine it again need to configure. how do i save it permanently.
    please help.

  • gggg Nov 14, 2010 @ 7:59

    I get an error saying no such device.

  • Nandakishore Nov 14, 2010 @ 13:19

    Many thanks. It was very helpful and I would otherwise have had to go through Richard Stevens book on TCP/IP without much of a chance of finding this information.

    Excellent show.

  • siva 9791991185 Nov 27, 2010 @ 7:37

    thanks……………

  • Rahul Dec 3, 2010 @ 8:26

    Hi

    Other way of changing ip address is to edit a file ” /etc/sysconfig/network-scripts/ifcfg-eth0 ” and change the settings.

  • SirshaK Das Feb 18, 2011 @ 4:54

    how to change the dns server in command prompt

  • Aca Feb 28, 2011 @ 9:58

    install and use webmin for change ip addres!!!!

  • soundarapandian Mar 30, 2011 @ 10:12

    echo ‘Thanks’

  • Maat May 12, 2011 @ 21:46

    Not working on opensuse 11.2
    Which is the best linux to use
    Thanks

  • hans Jun 29, 2011 @ 14:07

    Excellent!! Thank you!

  • SPEK HITAM Jul 6, 2011 @ 4:34

    nice! thanks!

  • indra Jul 28, 2011 @ 10:15

    nicely done :)
    Thanks !!!

  • ramulu ponnam Jul 28, 2011 @ 11:33

    how can i add the same for ipv6?
    can u send the command for related to that?i am looking for add ipv6 address to linux.
    any reply is appreciable,thanks in advance.

  • rajesh Aug 15, 2011 @ 9:23

    i m using ubuntu 10.10 it s giving me error as below…..

    raja@ubuntu:~$ ifconfig eth0
    eth0 Link encap:Ethernet HWaddr 00:19:d1:a7:28:49
    inet6 addr: fe80::219:d1ff:fea7:2849/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:1817829 errors:0 dropped:0 overruns:0 frame:0
    TX packets:89850 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:345456581 (345.4 MB) TX bytes:11011030 (11.0 MB)
    Interrupt:44

    raja@ubuntu:~$ ifconfig DSL
    DSL: error fetching interface information: Device not found
    raja@ubuntu:~$ ifconfig eth0 172.100.127.93 netmask 255.255.0.0 up
    SIOCSIFADDR: Permission denied
    SIOCSIFFLAGS: Permission denied
    SIOCSIFNETMASK: Permission denied
    SIOCSIFFLAGS: Permission denied
    raja@ubuntu:~$

    • BALAJI Aug 30, 2011 @ 8:22

      Mr Rajesh
      First You will login root or supervisor user.
      how to login root or su?
      just type in your prompt #su password
      you don’t known password means
      type #sudo passwd enter
      type new password
      and again type su
      type password
      and after change the command using ip addres

  • leapkh Sep 12, 2011 @ 7:23

    Thanks!

  • FAROUK Oct 13, 2011 @ 15:02

    HOW CAN I CHANGE DEFAULT GETWAY AND DNS ADDRESS

    • Naresh Oct 27, 2011 @ 13:30

      You can add gateway at path —> /etc/sysconfig
      Ex:
      NETWORKING=yes
      HOSTNAME=xyz.youname.com
      GATEWAY=10.100.100.1
      you can add DNS information at —-> /etc/resolv.conf
      Ex:
      search yourname.com
      nameserver 10.100.100.5
      nameserver 10.100.100.6

      • Belal Apr 22, 2012 @ 20:56

        Thank u

  • Zatnaktel Nov 23, 2011 @ 18:37

    When I change IP, access on internet is denied. Why?

  • meliron Nov 30, 2011 @ 9:13

    Thanks…it is very helpful

  • will551 Mar 6, 2012 @ 4:28

    great! this helped me on the road to getting my windows box hooked up to the wireless internet using a (ethernet) cable… :-)

  • alex Mar 28, 2012 @ 16:59

    To make permanent changes to IP address you need to edit configuration file according to your Linux distribution.

    Wow that is totally not helpful

  • shammi May 15, 2012 @ 7:52

    we are university student in developing country that is Sri Lanka
    . so we are poor in knowledge. your effort for helping us is grateful. thanx a lot.

  • Jason May 15, 2012 @ 20:43

    You know, if a user uses the terminal method listed, and they are changing IP ranges (example: from 192.168.1.3 to 192.168.2.3), and they are doing so remotely, this method will BREAK connectivity completely, until the person goes to the physical location of the computer and fixes it… Why? Because you don’t even touch on changing the gateway.

    Also, the terminal method you use is NOT a permanent change. It only changes it until the next time the computer is restarted. The smarter way is to edit the config files…

  • AADI May 21, 2012 @ 20:18

    Thanks for command.

  • Ivans Muhasa Enock Jun 21, 2012 @ 11:35

    Was so helpful thank you guys

  • vinod Aug 6, 2012 @ 6:27

    thanks guys was helpful.

  • murugan Aug 10, 2012 @ 4:11

    very very useful to us.thanks you. very good job

  • slJedi Oct 11, 2012 @ 18:55

    Out put of # ifconfig eth0
    eth0 Link encap:Ethernet HWaddr 00:23:8b:48:34:21
    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:44 Base address:0x8000

    So how can I change IP.

    • Jason Oct 12, 2012 @ 23:21

      Try reading the full article

  • Confused Dec 26, 2012 @ 10:11

    didn’t work I entered what if said, needs to be exactly clear.

  • Praveen Jan 13, 2013 @ 19:54

    in /etc/sysconfig/network/scripts directory “ifcfg-eth0” file is missing, why it is missing? what shud i do to get that file?

  • vynz Feb 5, 2013 @ 17:28

    i already change my ip address on my linux server i follow the instruction but when restart my server no effect the ip is not change

  • Sagubar sathik Mar 2, 2013 @ 15:55

    Hi All,

    It is not working for me.

    without throwing any message, the server goes to unreachable state.

    #ifconfig eth0 A.B.C.D netmask A.B.C.D up.

    when i ping old server ip as well as new server IP. it is not reachable

    Please any one send the workaround to my mail id “sathikhaja@gmail.com.

  • hasan Mar 29, 2013 @ 7:31

    thanks helful command

  • Anonymous Jul 4, 2013 @ 19:09

    This s not working in backtrack
    it change ip but after change ip i cant access internet
    plz help me to solve this problem,,

  • Abdelkader Aug 22, 2013 @ 19:29

    thank you

  • bheem Jan 22, 2014 @ 18:16

    thanks

  • jan Apr 28, 2014 @ 7:22

    not working.i got an error that permission denied

  • jan Apr 28, 2014 @ 7:23

    SIOCSIFADDR: Permission denied
    SIOCSIFFLAGS: Permission denied
    SIOCSIFNETMASK: Permission denied
    SIOCSIFBROADCAST: Permission denied
    SIOCSIFFLAGS: Permission denied
    ……………..this is the error what i got

  • Raj Jun 19, 2014 @ 10:30

    Thanks its working and very helpful

  • Nadeem Nov 11, 2014 @ 5:10

    Hi friends
    Can anybody explain and help me find output of the following command

    IP=192.168.100.1 echo${IP:0:4}

    • Harm Nov 26, 2014 @ 12:51

      IP=192.168.100.1 will save 192.168.100.1 in a temporary variable named IP.

      echo${IP:0:4} will print that temporary variable starting from character 0, over a length of 4 characters.

      Output: 192.

  • tohid Feb 13, 2015 @ 3:47

    thanks for help :)

  • Morteza May 11, 2015 @ 7:15

    Thanks a lot.

  • mikicat May 27, 2016 @ 17:50

    Thanks, it helped a lot :)

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre>, <code>...</code> and <kbd>...</kbd> for code samples.