家里或小公司搭了一台服务器,但连不上外网?ping不通路由器?远程访问老是失败?别急,问题大概率出在网络配置上。下面这些步骤,是我帮十来个朋友调服务器时反复验证过的,不绕弯子,直接上干货。
第一步:确认物理连接和网卡状态
先看网线插没插牢——别笑,真有人插在交换机的管理口上,或者网线本身是坏的。插好后,在服务器上执行:
ip aLinux 系统下看有没有类似 eth0 或 ens33 的网卡显示 UP 状态;Windows 就打开「网络连接」,右键本地连接 → 「状态」,确认已连接且有收发数据包。
第二步:设静态IP(多数场景必须)
服务器不能靠 DHCP 随便分个IP,否则重启后地址一变,你存的远程桌面地址、FTP 地址全失效。比如你家路由器网段是 192.168.1.1/24,那给服务器配个固定的:
# Ubuntu/Debian 示例(编辑 /etc/netplan/01-netcfg.yaml)
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [114.114.114.114, 8.8.8.8]改完执行 sudo netplan apply。Windows 就进「网络适配器设置」→ IPv4 属性里手动填:IP 地址 192.168.1.100,子网掩码 255.255.255.0,网关 192.168.1.1,DNS 填 114.114.114.114。
第三步:测试基础连通性
配完别急着装服务,先测三件事:
① ping 192.168.1.1 —— 能通说明到路由器没问题;
② ping www.baidu.com —— 不通?看 DNS 或网关;
③ ping -c 4 8.8.8.8(Linux)或 ping -n 4 8.8.8.8(Win)—— 能通 DNS 不通?那就是 DNS 没配对。
第四步:检查防火墙和路由转发(关键!)
很多新手卡在这儿:服务器能上网,但外面访问不了它的网站或 SSH。常见两个坑:
• Linux 默认开 firewalld/ufw,得放行端口:sudo ufw allow 22(SSH)、sudo ufw allow 80(HTTP);
• 如果服务器还当内网网关用(比如带多台设备上网),要开 IP 转发:echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
第五步:路由器端口映射(对外提供服务必做)
想让公网访问你服务器上的网站或监控页面?光配好服务器不够,还得进路由器后台(一般是 192.168.1.1)找「虚拟服务器」或「端口转发」,把外部 80 端口转到服务器内网 IP 的 80 端口,协议选 TCP。记得保存后重启生效。
最后提醒一句:每次改完网络配置,别忘了用 ip route show 或 route print 看下路由表是否正常,一条错的默认路由就能让你全网失联。遇到问题,就按这五步挨个过一遍,90% 的连不上、访问不了,都能当场解决。