在Linux系统中,IP地址是一个十分重要的参数,可以方便地为系统提供网络通讯功能。如果我们需要更改Linux系统的IP地址,可以通过GUI界面或者命令行来实现。此外,使用命令行更改IP地址还可以提高工作效率。
本篇文章将围绕展开,并详细介绍每个步骤的方法和相关命令。
一、查看当前IP地址
在更改IP地址之前,首先需要查看当前系统的IP地址。可以使用ifconfig或ip addr命令来查看,如下所示:
ifconfig
在终端中输入“ifconfig”, 然后按Enter键。
eth0: flags=4163
inet 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::20c:29ff:fe19:bb66 prefixlen 64 scopeid 0x20
ether 00:0c:29:19:bb:66 txqueuelen 1000 (Ethernet)
RX packets 501311 bytes 77877529 (74.2 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 292045 bytes 21283425 (20.2 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
其中“inet”后面的数字就是当前系统的IP地址。
ip addr
在终端中输入“ip addr”, 然后按Enter键。
1: lo:
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0:
link/ether 00:0c:29:19:bb:66 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.10/24 brd 192.168.1.255 scope global dynamic eth0
valid_lft 86184sec preferred_lft 86184sec
inet6 fe80::20c:29ff:fe19:bb66/64 scope link
valid_lft forever preferred_lft forever
同样,“inet”后面的数字就是当前系统的IP地址。
二、更改IP地址
修改Linux系统的IP地址有两种方法:一种是修改dhcp或非dhcp的配置文件;另一种是直接在终端中使用ip命令设置IP地址。
1、修改dhcp或非dhcp的配置文件
对于使用动态IP的用户,可以通过修改dhcp配置文件来自定义IP地址。常见的dhcp配置文件为/etc/dhcp/dhclient.conf。
使用编辑器打开以上文件,找到“request”所在行,紧跟着的就是IP地址、子网掩码和网关。将它们改成想要的IP地址即可。例如:
# Example /etc/dhcp/dhclient.conf
#
# Type man dhclient.conf for more information about the syntax of
# this file, and a more comprehensive list of the parameters
# understood by dhclient.
#
# Configuration file for /sbin/dhclient, which is included in Debian's
# dhcp-client package.
#
# This is a sample configuration file for dhclient. See dhclient.conf's
# man page for more info about the syntax of this file
# and a more comprehensive list of the parameters understood by
# dhclient.
# Normally, if the DHCP server provides reasonable information and does
# not leave anything out (like the domain name, for example), then
# few changes must be made to this file, if any.
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
#send host-name "andare.fugue.com";
send host-name = gethostname();
#send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
#send dhcp-lease-time 3600;
#supersede domain-name "fugue.com home.vix.com";
#prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, domain-search, host-name,
dhcp6.name-servers, dhcp6.domain-search,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes, ntp-servers;
#timeout 60;
#retry 60;
#reboot 10;
#select-timeout 5;
#initial-interval 2;
#script "/etc/dhcp3/dhclient-script";
#media "-link0 -link1 -link2", "link0 link1";
#reject 192.33.137.209;
subnet 10.254.239.0 netmask 255.255.255.224 {
range 10.254.239.10 10.254.239.20;
option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
}
# This is a very basic subnet declaration.
#subnet 10.254.239.0 netmask 255.255.255.224 {
# range 10.254.239.10 10.254.239.20;
# option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
#}
# This declaration allows BOOTP clients to get dynamic addresses,
# which we don't really recommend.
#subnet 10.254.239.32 netmask 255.255.255.224 {
# range dynamic-bootp 10.254.239.40 10.254.239.60;
# option broadcast-address 10.254.239.31;
# option routers rtr-239-32-1.example.org;
#}
# A slightly different configuration for an internal subnet.
#subnet 10.5.5.0 netmask 255.255.255.224 {
# range 10.5.5.26 10.5.5.30;
# option domain-name-servers ns1.internal.example.org;
# option domain-name "internal.example.org";
# option routers 10.5.5.1;
# option broadcast-address 10.5.5.31;
# default-lease-time 600;
# max-lease-time 7200;
#}
请注意,修改了配置文件之后,需要重新启动网络服务来使其生效。可以使用以下命令:
service networking restart
2、直接在终端中使用ip命令设置IP地址
在终端中输入以下命令:
sudo ip addr add 192.168.1.11/24 dev eth0
其中,“192.168.1.11”是新IP地址,“/24”是子网掩码,“eth0”是网卡名称。此外,如果需要删除一个IP地址,则可以使用以下命令:
sudo ip addr del 192.168.1.11/24 dev eth0
三、修改网关
修改网关通常也需要修改网络配置文件。在Linux系统中,常用的网络配置文件有/etc/network/interfaces和/etc/sysconfig/network-scripts/ifcfg-eth0。
在/etc/network/interfaces文件中,可以找到类似以下内容的条目:
iface eth0 inet dhcp
修改成以下内容:
iface eth0 inet static
address 192.168.0.2
netmask 255.255.255.0
gateway 192.168.0.1
如果修改/etc/sysconfig/network-scripts/ifcfg-eth0文件,则可以找到以下内容:
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
TYPE=Ethernet
将其修改成以下内容:
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.0.2
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
TYPE=Ethernet
在修改完网络配置文件之后,需要重新启动网络服务才能生效,可以使用以下命令:
service networking restart
到此为止,我们就成功地更改了Linux系统的IP地址和网关。使用命令行更改IP地址不仅方便又实用,还可以大大提高工作效率。