上一篇
服务器网关和子网掩码如何正确配置?
- 互联网
- 2026-02-07
- 3096
核心概念
-
子网掩码 (Netmask)
- 定义:标识IP地址中哪些位代表网络号,哪些位代表主机号(如 255.255.0 表示前24位为网络号)。
- 作用:确定服务器所属的本地网络范围(如 168.1.0/24)。
-
默认网关 (Default Gateway)
- 定义:本地网络中的路由器IP地址,用于转发发往其他网络的数据包。
- 要求:网关IP必须与服务器IP在同一子网内(如服务器IP 168.1.10,网关需为 168.1.1)。
配置步骤(按操作系统分类)
Linux 系统
方法1:使用 ip 命令(临时生效)
# 设置IP和子网掩码 sudo ip addr add 192.168.1.10/24 dev eth0 # 设置默认网关 sudo ip route add default via 192.168.1.1
方法2:修改配置文件(永久生效)
-
Ubuntu/Debian(使用 netplan)
编辑 /etc/netplan/01-netcfg.yaml:
network: version: 2 ethernets: eth0: addresses: [192.168.1.10/24] routes: - to: default via: 192.168.1.1 nameservers: addresses: [8.8.8.8, 1.1.1.1] # DNS设置应用配置:
sudo netplan apply
-
CentOS/RHEL 7+(使用 nmcli)
sudo nmcli con mod eth0 ipv4.addresses 192.168.1.10/24 sudo nmcli con mod eth0 ipv4.gateway 192.168.1.1 sudo nmcli con mod eth0 ipv4.dns "8.8.8.8 1.1.1.1" sudo nmcli con up eth0 -
传统配置(CentOS 6 或 ifcfg 文件)
编辑 /etc/sysconfig/network-scripts/ifcfg-eth0:
DEVICE=eth0 BOOTPROTO=static IPADDR=192.168.1.10 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 ONBOOT=yes重启网络:
sudo systemctl restart network # CentOS 6: service network restart
Windows 系统
- 打开 控制面板 > 网络和共享中心 > 更改适配器设置。
- 右键网卡 → 属性 → 双击 Internet 协议版本 4 (TCP/IPv4)。
- 手动设置:
- IP地址:168.1.10
- 子网掩码:255.255.0
- 默认网关:168.1.1
- DNS服务器:8.8.8
验证配置
-
检查IP和掩码:
# Linux ip addr show eth0 # Windows ipconfig /all
-
测试网关连通性:
ping 192.168.1.1 # 网关IP -
测试外网访问:
ping 8.8.8.8 # 测试基础网络 ping www.baidu.com # 测试DNS解析 -
查看路由表:
# Linux ip route show # Windows route print
常见问题解决
-
网关无法访问
- 检查网关IP是否与服务器在同一子网(如 168.1.10/24 和 168.1.1)。
- 确认路由器已启用并允许流量转发。
-
配置重启后失效
- Linux:确保修改了永久配置文件(如 netplan 或 ifcfg),而非仅用 ip 命令。
- Windows:检查网卡属性是否为手动IP(非DHCP)。
-
DNS解析失败
- 在 /etc/resolv.conf(Linux)或网卡属性(Windows)中配置正确的DNS服务器。
-
多网卡冲突
- 确保默认网关仅在一个网卡上设置(使用 ip route 检查)。
高级场景
- 多网关配置:通过添加静态路由实现(如访问特定网络走不同网关): ip route add 10.0.0.0/8 via 192.168.1.2
- DHCP 获取配置:若网络有DHCP服务器,可自动获取IP、掩码和网关: # Linux nmcli con mod eth0 ipv4.method auto
关键小编总结:
网关必须与服务器IP同网段
子网掩码决定本地网络范围
修改后务必测试连通性和DNS解析
生产环境建议通过配置文件永久生效
