用命令设置IP地址并把它变成服务器地址,核心结论是:临时调试用 ip addr 或 netsh,生产服务器必须改成静态IP,配好网关、DNS、防火墙和开机自启;Linux优先 netplan/nmcli,Windows优先 netsh/PowerShell,云服务器公网IP要在控制台绑定。
很多人拿到一台新服务器,ip addr 一看是 DHCP,重启后地址可能变,远程连接、数据库白名单、监控配置全跟着乱,把 IP 钉死,再让服务开机自启,才算真正进入服务器状态。
Linux服务器怎么用命令设置IP地址:临时与永久两条路
Linux 下设置 IP 要分清楚:临时命令适合调试,永久配置才适合服务器,临时地址重启就丢,生产环境别只记一条 ip addr add。
先分清临时IP和静态IP
临时添加地址:
sudo ip addr add 192.168.1.100/24 dev ens33 sudo ip route add default via 192.168.1.1
查看结果:
ip addr show ip route show ping -c 3 192.168.1.1
这种方式不写配置文件,重启或网络服务重启后失效,服务器要的是静态IP,也就是每次开机都拿到同一个地址。
Ubuntu/Debian用netplan设置静态IP
编辑配置文件,常见路径是 /etc/netplan/01-netcfg.yaml:
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: no
addresses:
- 192.168.1.100/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses:
- 223.5.5.5
- 8.8.8.8
应用配置:
sudo netplan apply
如果报错,用 sudo netplan try 先测试,避免直接断网,验证:
ip addr show ens33 ip route show resolvectl status
CentOS/RHEL用nmcli设置静态IP
NetworkManager 环境更推荐 nmcli,先看连接名:
nmcli con show
假设连接名是 System eth0:
sudo nmcli con mod "System eth0" ipv4.addresses 192.168.1.100/24 sudo nmcli con mod "System eth0" ipv4.gateway 192.168.1.1 sudo nmcli con mod "System eth0" ipv4.dns "223.5.5.5 8.8.8.8" sudo nmcli con mod "System eth0" ipv4.method manual sudo nmcli con up "System eth0"
检查:
nmcli con show "System eth0" ip -4 addr
设置服务器角色:防火墙和服务自启
IP通只是第一步,服务器还要能被访问:
sudo systemctl enable --now sshd sudo systemctl enable --now nginx sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload
Ubuntu 使用 ufw:
sudo ufw allow 22/tcp sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw enable
据工信部公开的互联网基础资源报告,IPv4地址资源长期紧张,服务器地址规划要尽量规范,别随手用冲突网段。
Windows Server命令行设置静态IP地址的完整路径
Windows Server 图形界面能点,但批量运维和远程脚本更依赖命令行。netsh 和 PowerShell 都能完成。
netsh设置IP、网关、DNS
先查接口名称:
netsh interface show interface ipconfig /all
假设接口名是“以太网”:
netsh interface ip set address name="以太网" static 192.168.1.100 255.255.255.0 192.168.1.1 netsh interface ip set dns name="以太网" static 223.5.5.5 netsh interface ip add dns name="以太网" 8.8.8.8 index=2
验证:
ipconfig /all ping 192.168.1.1 nslookup www.baidu.com
PowerShell替代方案
PowerShell 更适合现代 Windows Server:
New-NetIPAddress -InterfaceAlias "以太网" -IPAddress 192.168.1.100 -PrefixLength 24 -DefaultGateway 192.168.1.1 Set-DnsClientServerAddress -InterfaceAlias "以太网" -ServerAddresses 223.5.5.5,8.8.8.8
查看:
Get-NetIPAddress -InterfaceAlias "以太网" Get-NetRoute -InterfaceAlias "以太网"
把机器变成服务器:端口放行和服务启动
Windows Server 常见服务有 IIS、远程桌面、OpenSSH,放行端口:
New-NetFirewallRule -DisplayName "HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow New-NetFirewallRule -DisplayName "HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
启动服务:
Set-Service -Name W3SVC -StartupType Automatic Start-Service W3SVC
业内专家指出,服务器公网暴露面要尽量小,只放行必要端口,3389、22、3306 这类端口不建议直接暴露到公网。
云服务器和本地机房服务器设置IP地址命令有什么区别
云服务器和物理机看起来都是 Linux/Windows,但 IP 管理边界不同,云上公网 IP 通常不在系统里直接配,而在控制台绑定。
云服务器:弹性公网IP和内网静态IP
简米云、酷番云、华为云等平台,实例创建后通常拿到私网 IP,公网访问靠弹性公网IP、NAT网关或负载均衡。
系统内命令设置私网静态IP:
sudo nmcli con mod "Wired connection 1" ipv4.addresses 10.0.0.10/24 sudo nmcli con mod "Wired connection 1" ipv4.gateway 10.0.0.1 sudo nmcli con mod "Wired connection 1" ipv4.dns "183.60.83.19 183.60.82.98" sudo nmcli con mod "Wired connection 1" ipv4.method manual sudo nmcli con up "Wired connection 1"
在控制台绑定弹性公网IP,配置安全组放行端口,系统内改成平台未分配的私网IP,可能导致实例失联。
有人搜“服务器公网IP地址多少钱一年”,价格只是结果,云厂商通常按带宽、地域、计费方式定价,固定带宽和按流量价格不同,具体以控制台为准,命令配置的是系统内地址,公网入口由平台映射。
本地机房:VLAN、网关和北京IDC服务器用命令设置IP地址要注意什么
北京IDC服务器用命令设置IP地址要注意什么?机房通常会给一份参数:IP、掩码、网关、VLAN ID、DNS,有时还要求 MAC 绑定,不能照搬家里路由器网段。
sudo ip addr add 203.0.113.10/24 dev eth0 sudo ip route add default via 203.0.113.1
上面的公网示例只用于说明格式,实际地址必须由机房分配,改完后:
ping -c 3 203.0.113.1 ip route show
机房交换机可能限制未登记 IP,自行改地址可能触发 ARP 冲突,甚至被端口安全策略阻断,北京地区机房通常要求提交工单变更,不要直接在生产机器上试。
三种场景对比
| 场景 | 推荐入口 | 是否重启生效 | 适合 |
|---|---|---|---|
| Linux临时调试 | ip addr add |
否 | 排障 |
| Ubuntu永久 | netplan | 是 | 生产 |
| CentOS永久 | nmcli | 是 | 生产 |
| Windows永久 | netsh/PowerShell | 是 | 生产 |
| 云公网IP | 控制台弹性公网IP | 平台绑定 | 云服务器 |
把IP配置成服务器可用的检查清单
改完命令别急着收工,服务器能不能用,要看连通性、监听端口和自启状态。
检查连通性
ip addr show或ipconfig /all确认地址、掩码、网关。ip route show或确认默认路由。route print
ping 网关,再ping 223.5.5.5。nslookup或dig确认 DNS 解析。
检查监听端口
Linux:
ss -tlnp
Windows:
netstat -ano
确认 22、80、443、3389 等端口处于 LISTEN,如果服务没起来,先看日志:
journalctl -u nginx -n 50
检查开机自启
systemctl is-enabled sshd systemctl is-enabled nginx
Windows:
Get-Service W3SVC | Select-Object Name,Status,StartType
常见故障
- 重启后IP丢失:用了临时命令,没写 netplan 或 nmcli 配置。
- 能ping通自己,ping不通网关:掩码、VLAN、网关写错。
- 外网访问不了:防火墙、安全组、NAT、公网IP绑定有问题。
- 远程连接断开:改IP时通过SSH或RDP操作,连接会中断,建议用VNC、IPMI或云控制台。
行业共识认为,生产服务器应使用静态IP,并保留网络配置备份,改配置前执行 cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak,或者导出 netsh interface ip dump,出问题能快速回滚。
关于用命令设置IP地址且设置为服务器的常见问题
Linux用命令设置IP地址后重启失效怎么办?
ip addr add 只改运行时状态,不写配置文件,要永久生效,Ubuntu 改 /etc/netplan/.yaml 后执行 sudo netplan apply;CentOS 用 nmcli con mod 把 ipv4.method 改为 manual,再 nmcli con up,检查 nmcli con show 里 ipv4.method 是否为 manual。
Windows Server用命令设置静态IP地址会断远程吗?
会。netsh 或 PowerShell 改IP瞬间,RDP连接可能断开,应通过 iDRAC、iLO、云控制台VNC 操作,改完在控制台执行 ipconfig /all 验证,再确认防火墙放行3389,若IP写错,可进带外管理改回DHCP。
云服务器用命令设置IP地址还要买公网IP吗?多少钱?
云服务器系统内通常配置私网IP,公网访问依赖弹性公网IP、NAT网关或负载均衡,需要在控制台购买并绑定,公网IP费用按带宽、地域和计费方式计算,具体以云厂商控制台为准,命令设置私网静态IP不会自动获得公网入口。
把IP钉死只是第一步,服务自启、端口放行、重启后仍能远程连上,才算真正把一台机器设置成了可用服务器。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/735254.html




