在Linux服务器中,配置正确的IP地址和子网掩码是实现网络通信的基础。无论是连接到局域网还是公网,IP地址就像设备的“门牌号”,而子网掩码则帮助区分“小区地址”(网络部分)和“具体房间”(主机部分)。下面我们一步步了解如何配置它们。
一、IP地址与子网掩码是什么?¶
IP地址:由32位二进制数组成,通常以“点分十进制”形式表示(如 192.168.1.100),分为网络部分和主机部分。
子网掩码:也是32位二进制数,用于告诉系统“IP地址中哪部分是网络地址,哪部分是主机地址”。它的二进制表示中,“1”代表网络部分,“0”代表主机部分(例如 255.255.255.0)。
举个例子:
- IP地址:192.168.1.100
- 子网掩码:255.255.255.0
- 二进制拆解:
IP:11000000.10101000.00000001.01100100
掩码:11111111.11111111.11111111.00000000
网络部分:前3个字节(192.168.1),主机部分:最后1个字节(100)。
二、查看当前网络配置¶
在配置前,建议先确认当前IP地址和子网掩码。常用命令有两种:
ip addr(推荐,现代Linux常用)
直接执行命令:
ip addr
输出中会显示所有网卡信息,例如:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.50/24 brd 192.168.1.255 scope global dynamic noprefixroute eth0
valid_lft 86399sec preferred_lft 86399sec
inet6 fe80::211:22ff:fe33:4455/64 scope link noprefixroute
valid_lft forever preferred_lft forever
其中 eth0 是网卡名,inet 192.168.1.50/24 表示IP地址为 192.168.1.50,子网掩码为 /24(即 255.255.255.0)。
ifconfig(传统命令,部分系统需安装)
若系统未预装ip命令,可使用ifconfig(需先yum install net-tools安装):
ifconfig
输出中 eth0 行的 inet addr:192.168.1.50 Bcast:192.168.1.255 Mask:255.255.255.0 即为IP和子网掩码。
三、临时设置IP地址与子网掩码¶
临时设置仅对当前会话有效,重启网络服务或服务器后会失效(适合测试)。
1. 使用 ip 命令(推荐)¶
# 格式:ip addr add <IP地址>/<子网掩码前缀> dev <网卡名>
ip addr add 192.168.1.100/24 dev eth0
/24等价于子网掩码255.255.255.0(前缀长度24位)。- 若需删除临时配置,用:
ip addr del 192.168.1.100/24 dev eth0
2. 使用 ifconfig 命令¶
# 格式:ifconfig <网卡名> <IP地址> netmask <子网掩码>
ifconfig eth0 192.168.1.100 netmask 255.255.255.0
四、永久设置IP地址与子网掩码¶
临时设置仅用于测试,实际生产环境需永久配置,不同Linux发行版方法不同。
1. CentOS/RHEL 7+(使用 network-scripts)¶
-
步骤1:确认网卡名
用ip addr查看网卡名(如ens33)。 -
步骤2:编辑网卡配置文件
配置文件路径:/etc/sysconfig/network-scripts/ifcfg-<网卡名>(如ifcfg-ens33)。
用vim打开并修改以下参数:
TYPE=Ethernet
BOOTPROTO=static # 设为static表示静态IP
NAME=ens33 # 与文件名一致(部分系统自动生成)
DEVICE=ens33 # 网卡名
IPADDR=192.168.1.100 # IP地址
NETMASK=255.255.255.0 # 子网掩码(或PREFIX=24,等价)
GATEWAY=192.168.1.1 # 网关(可选,若需上网)
ONBOOT=yes # 开机自动启用
- 步骤3:重启网络服务
systemctl restart network
2. Ubuntu/Debian 18.04+(使用 netplan)¶
-
步骤1:查看网卡名
用ip addr确认网卡名(如ens33)。 -
步骤2:编辑Netplan配置文件
配置文件路径:/etc/netplan/01-netcfg.yaml(文件名可自定义,以数字开头)。
用vim打开并添加以下内容:
network:
version: 2
renderer: networkd
ethernets:
ens33: # 网卡名
dhcp4: no # 禁用DHCP,使用静态IP
addresses: [192.168.1.100/24] # IP地址/子网掩码前缀
gateway4: 192.168.1.1 # 网关(可选)
nameservers:
addresses: [8.8.8.8, 8.8.4.4] # DNS服务器(可选,若需上网)
- 步骤3:应用配置
sudo netplan apply
五、验证配置是否成功¶
设置完成后,可通过以下方式验证:
1. 查看IP地址:ip addr 确认IP和子网掩码是否生效。
2. 测试网络连通性:
- ping 本地IP:ping 192.168.1.100(应显示响应)。
- ping 同网段设备:ping 192.168.1.50(若另一设备存在,应响应)。
- ping 网关:ping 192.168.1.1(若有网关,应响应)。
六、注意事项¶
- IP地址唯一性:同一网段内不能有重复IP,否则设备间会冲突。
- 子网掩码匹配:IP地址和子网掩码需对应,例如
192.168.1.100不能搭配255.255.0.0(网络部分为192.168,主机部分1.100,若需跨网段通信需正确配置)。 - 网卡名准确性:不同系统生成的网卡名可能不同(如
eth0/ens33/ens160),务必用ip addr确认后再修改配置文件。 - 权限问题:修改网络配置需管理员权限,使用
sudo或root用户执行命令。
通过以上步骤,你已掌握Linux服务器IP地址和子网掩码的基本配置方法。后续可继续学习网关、DNS等更复杂的网络配置。