在使用Linux操作系统时,有时我们需要修改IP地址以便让计算机连接到不同的网络或服务器。这篇文章将向大家介绍。
步骤一:确定当前IP地址
在更改IP地址之前,需要确定当前IP地址,我们可以通过在终端中输入以下命令来查询当前IP地址:
```
ifconfig
```
如果你使用最新的版本LInux,可能更推荐使用ip addr命令。
```
ip addr
```
注:假如没有该命令,需要执行安装:yum install net-tools(centos、red hat 等基于yum包管理工具的linux系统)。
当我们运行这个命令时,我们可以看到类似下面的输出:
```
enp0s3 Link encap:Ethernet HWaddr 08:00:27:fe:50:9a
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fefe:509a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:36816 errors:0 dropped:0 overruns:0 frame:0
TX packets:2381 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3046626 (3.0 MB) TX bytes:266967 (266.9 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:32 errors:0 dropped:0 overruns:0 frame:0
TX packets:32 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3200 (3.2 KB) TX bytes:3200 (3.2 KB)
```
这里展示了我的Linux操作系统的两个网络接口,一个是enp0s3,一个是本地回环接口lo。我们可以看到enp0s3上的IP地址是192.168.1.100,子网掩码为255.255.255.0,广播地址为192.168.1.255。
步骤二:修改IP地址
如果要更改IP地址,需要编辑网络接口的配置文件。在这篇文章里我们以enp0s3为例进行操作,关于其他网卡(如wifi、VNIC,可以通过ifconfig命令查看)修改方式类似。
打开配置文件,位置在 /etc/sysconfig/network-scripts 目录下。
```
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
```
可以看到内容如下:
```
TYPE="Ethernet"
BOOTPROTO="dhcp"
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
NAME="enp0s3"
UUID="691a077b-2816-4549-9bb0-1b6125258b58"
DEVICE="enp0s3"
ONBOOT="yes"
```
更改BOOTPROTO的值,将其从dhcp改为static。添加新的IP地址、子网掩码、网关和DNS。
```
TYPE="Ethernet"
BOOTPROTO="static" # (new)
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
NAME="enp0s3"
UUID="691a077b-2816-4549-9bb0-1b6125258b58"
DEVICE="enp0s3"
ONBOOT="yes"
IPADDR=192.168.1.123 # (new)
NETMASK=255.255.255.0 # (new)
GATEWAY=192.168.1.1 # (new)
DNS1=192.168.1.1 # (new)
```
注意:修改这个配置文件后,您需要使用systemctl restart NetworkManager(centos7以上的系统), systemctl restart network(centos7以下的系统),或reboot重启服务器,以使更改生效。
重启NetworkManager、netowrk、或者重启Linux设备是如何做的,您可以在这里找到:如何重启/启动服务
步骤三:设置新的IP地址
在修改网络接口配置文件后,需要重启网络服务(服务重启两种方法,后面会说明) 或 执行以下命令使更改生效:
```
[root@localhost ~]# ifdown enp0s3 ;
[root@localhost ~]# ifup enp0s3
```
更改IP地址后,我们可以通过ifconfig命令来验证新的IP地址是否生效。现在IP地址应该已经更改为所选的IP地址。
如果你使用ip addr命令,则验证新的IP地址是否生效输入以下命令,该命令列出enp0s3的详细信息,包括IP地址信息:
```
ip addr show dev enp0s3
```
输出:
```
2: enp0s3:
link/ether 08:00:27:fe:50:9a brd ff:ff:ff:ff:ff:ff
inet 192.168.1.123/24 brd 192.168.1.255 scope global noprefixroute enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::7008:1b75:537d:e9d/64 scope link noprefixroute
valid_lft forever preferred_lft forever
```
重启服务的两种方法:
1. 只需重启NetworkManager服务:
```
$ sudo systemctl restart NetworkManager
```
2. 重启整个服务器:
```
$ sudo shutdown -r now
```
至此,我们已经成功地在Linux中修改了IP地址并使其生效。希望此篇文章对你有所帮助。