在Linux服务器的日常使用中,IP地址就像服务器的“门牌号”,决定了其他设备能否找到它、与它通信。无论是搭建网站、部署应用还是远程连接,正确设置IP地址都是基础。本文将用最简单的方式,带你一步步完成Linux服务器的IP地址配置,适合完全没有网络基础的新手。
一、什么是IP地址?¶
IP地址(Internet Protocol Address)是互联网协议地址的缩写,它是一个由数字组成的标识符,用于在网络中唯一定位一台设备。我们日常接触的IP地址大多是IPv4格式,由4组0-255的数字组成,例如 192.168.1.100。
举个例子:如果把互联网比作城市街道,IP地址就是每个建筑的门牌号,没有它,其他设备(比如你的电脑、手机)就无法访问这台服务器。
二、Linux服务器设置IP的两种方式¶
Linux服务器设置IP有两种常见方法,你可以根据需求选择:
1. 动态获取IP(DHCP)¶
- 原理:服务器自动从网络中的DHCP服务器(通常是路由器)获取IP地址、子网掩码、网关等信息。
- 适用场景:临时测试、家庭/小型局域网,不想手动配置IP时使用。
2. 静态设置IP¶
- 原理:手动指定IP地址、子网掩码、网关等参数,服务器每次启动时固定使用这些信息。
- 适用场景:生产环境、长期使用的服务器,避免IP变动导致服务失效(比如网站、数据库服务)。
三、如何查看当前IP地址?¶
在设置IP前,首先要确认服务器当前的IP状态。登录服务器后,通过以下命令查看:
方法1:使用 ip addr(推荐,更通用)¶
ip addr
执行后会显示网卡信息,例如:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:16:3e:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 192.168.1.5/24 brd 192.168.1.255 scope global dynamic noprefixroute eth0
valid_lft 86399sec preferred_lft 86399sec
- 关键信息:
eth0(或类似名称,如ens33)是网卡名称,inet后的192.168.1.5就是当前IP地址。
方法2:使用 ifconfig(部分系统可能需要安装)¶
如果系统没有ip命令(如CentOS 6),可尝试:
ifconfig
输出中eth0或ens33行的inet addr即为IP地址。
四、设置静态IP(以CentOS/RHEL为例,Ubuntu/Debian参考下方补充)¶
步骤1:确认网卡名称¶
先通过 ip addr 或 ifconfig 确认网卡名称(如eth0、ens33,不同系统可能不同,这里以ens33为例)。
步骤2:修改网络配置文件¶
Linux的网络配置文件通常位于 /etc/sysconfig/network-scripts/ 目录下,文件名格式为 ifcfg-<网卡名>(如ifcfg-ens33)。
- 打开配置文件:
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
(如果文件不存在,新建一个即可,需确保权限为644)
- 添加/修改关键参数:
静态IP配置的核心参数如下,直接覆盖原有内容或添加:
TYPE=Ethernet
BOOTPROTO=static # 设为static表示静态IP,dhcp表示动态获取
DEVICE=ens33 # 网卡名称,与文件名一致
ONBOOT=yes # 系统启动时自动启用该网卡
IPADDR=192.168.1.100 # 你要设置的静态IP地址(需与局域网网段一致)
NETMASK=255.255.255.0 # 子网掩码(默认情况下,255.255.255.0适用于常见局域网)
GATEWAY=192.168.1.1 # 网关地址(通常是路由器IP,如192.168.1.1)
DNS1=8.8.8.8 # DNS服务器地址(谷歌DNS,也可填运营商DNS,如114.114.114.114)
DNS2=8.8.4.4 # 备用DNS,可选
- 注意:如果不清楚自己的网段,可通过
ip route查看默认网关(default via 192.168.1.1 dev ens33中的192.168.1.1就是网关,子网掩码通常为255.255.255.0)。
步骤3:保存并退出¶
在vi编辑器中,按Esc键后输入:wq并回车,保存修改。
步骤4:重启网络服务¶
修改配置后,需重启网络服务使配置生效:
sudo systemctl restart network
(如果提示“command not found”,CentOS 6用 service network restart)
步骤5:验证配置是否生效¶
再次执行 ip addr,确认IP地址已更新为你设置的静态IP(如192.168.1.100)。
五、设置动态IP(DHCP,快速测试用)¶
如果只想临时测试服务器,不想手动配置IP,可直接修改配置文件为动态获取:
1. 打开网卡配置文件:sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
2. 修改参数:BOOTPROTO=dhcp,其他参数可删除或保留默认
3. 重启网络:sudo systemctl restart network
4. 验证:ip addr 会显示DHCP服务器分配的IP地址
六、Ubuntu/Debian系(Netplan配置)¶
Ubuntu 18.04+和Debian 9+使用Netplan管理网络,配置文件在 /etc/netplan/ 目录下(通常是类似01-netcfg.yaml的文件)。
步骤示例:¶
- 查看网卡名:
ip addr确认网卡名(如ens33) - 编辑配置文件:
sudo vi /etc/netplan/01-netcfg.yaml
- 添加静态配置(以
ens33为例):
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: no # 设为no表示静态IP,yes表示动态
addresses: [192.168.1.100/24] # IP地址/子网掩码长度
gateway4: 192.168.1.1 # 网关
nameservers:
addresses: [8.8.8.8, 8.8.4.4] # DNS服务器
- 应用配置:
sudo netplan apply
七、常见问题与解决办法¶
-
修改后无法连接?
- 检查IP冲突:确保IP未被其他设备占用(比如路由器已分配了相同IP),换一个IP(如192.168.1.101)。
- 网关错误:ping网关(如ping 192.168.1.1),不通则检查网关IP是否正确。
- 服务未重启:执行systemctl status network确认网络服务是否正常启动。 -
网卡名变更?
- 若网卡名从eth0变成ens33(Ubuntu/Debian常见),只需修改配置文件中的DEVICE和文件名即可。 -
无法访问互联网?
- 检查DNS是否正确(如ping www.baidu.com不通,说明DNS配置错误)。
- 确保GATEWAY指向的路由器可访问外网。
总结¶
设置Linux服务器IP地址的核心是:确认网卡名→修改配置文件→重启网络服务→验证生效。静态IP适合长期使用,动态IP适合临时测试。记住,IP地址需与局域网网段一致,网关和DNS配置错误会导致网络不通,多练习几次就能熟练掌握!
如果遇到问题,可通过 ip addr、ping、cat /etc/resolv.conf 等命令排查,逐步定位问题原因。