前言
服务器完成系统初始化后,网络连通性 和基础安全 是核心刚需。动态IP会导致服务器重启后远程连接失效,SSH默认配置是暴力破解重灾区,防火墙缺失则让服务器直接暴露在公网风险中。
本篇全程纯实操、无冗余理论,命令直接复制可用,分系统适配、带避坑提示、含回滚方案,彻底解决新手"不会配、改完断连、安全漏洞"三大问题。
注:本文使用AI写作
第5章 网络配置:静态IP与远程访问
5.1 动态IP改静态IP(解决IP频繁变动问题)
Linux服务器默认DHCP动态获取IP,长期运维必须改为静态IP,避免重启后IP变更导致服务失效,Ubuntu与CentOS系配置方式分开,请勿混用。
5.1.1 Ubuntu Server(netplan工具)配置静态IP
Ubuntu 18.04及以上LTS版本采用netplan,YAML语法仅支持空格缩进,严禁用Tab。
- 查看网卡名称
bash
# 查看网卡名,常见ens33、eth0、ens160
ip addr
- 备份并编辑配置文件
bash
cd /etc/netplan/
# 备份原文件,出错可回滚
cp 00-installer-config.yaml 00-installer-config.yaml.bak
# 编辑配置
vim 00-installer-config.yaml
- 写入静态IP配置(替换网卡名、IP、网关为实际参数)
yaml
network:
ethernets:
ens33: # 替换为你的网卡名
dhcp4: no
addresses: [192.168.3.100/24] # 静态IP/子网掩码
gateway4: 192.168.3.1 # 网关地址
nameservers:
addresses: [223.5.5.5, 114.114.114.114] # DNS
version: 2
- 生效配置并验证
bash
# 立即生效
netplan apply
# 重启网络服务(生效失败时执行)
systemctl restart systemd-networkd
# 查看IP是否生效
ip addr
# 测试外网连通性
ping -c 3 www.baidu.com
5.1.2 CentOS/Rocky Linux配置静态IP
- 查看网卡并进入配置目录
bash
ip addr
cd /etc/sysconfig/network-scripts/
- 备份并编辑网卡配置
bash
cp ifcfg-ens33 ifcfg-ens33.bak # 替换为你的网卡名
vim ifcfg-ens33
- 修改配置内容
bash
TYPE="Ethernet"
ONBOOT="yes"
BOOTPROTO="static" # dhcp改为static
IPADDR=192.168.3.101 # 静态IP
NETMASK=255.255.255.0
GATEWAY=192.168.3.1
DNS1=223.5.5.5
DNS2=114.114.114.114
NM_CONTROLLED="no"
- 重启网络并验证
bash
systemctl restart network
ip addr
ping -c 3 www.baidu.com
5.2 公网IP与内网IP区分及查看
核心区别
- 内网IP:局域网内使用,段号:192.168.x.x/10.x.x.x/172.16-31.x.x,仅本地可访问
- 公网IP:互联网唯一IP,云服务器专属,异地/外网访问必备
查看命令
bash
# 查看内网IP
ip addr
# 查看公网IP(云服务器专用)
curl ifconfig.me
curl ipinfo.io/ip
5.3 SSH基础连接与故障排查
SSH默认连接命令(全平台通用)
bash
# 格式:ssh 用户名@IP -p 端口(默认22可省略-p)
ssh root@192.168.3.100
# 自定义端口连接
ssh admin@公网IP -p 28642
连接失败高频排查(按顺序)
- 核对IP、端口、用户名是否正确
- 系统防火墙/云安全组是否放行对应端口
- SSH服务是否启动:
systemctl status sshd - 本地ping服务器IP,测试网络连通性
- root用户是否被禁止远程登录
第6章 SSH安全加固:杜绝暴力破解
SSH是服务器唯一远程入口,公网服务器必须做三层加固,修改任何配置前先备份!
6.1 第一层:修改SSH默认端口(22→自定义高端口)
- 备份配置文件
bash
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
- 编辑配置,修改端口
bash
vim /etc/ssh/sshd_config
# 找到#Port 22,修改为
Port 28642 # 10000-65535之间自定义
- 防火墙放行新端口
bash
# Ubuntu(UFW)
ufw allow 28642/tcp
ufw reload
# CentOS/Rocky Linux(firewalld)
firewall-cmd --zone=public --add-port=28642/tcp --permanent
firewall-cmd --reload
- 重启SSH服务
bash
systemctl restart sshd
systemctl enable sshd # 开机自启
6.2 第二层:禁用root远程登录+创建普通管理员
- 创建普通用户并赋予sudo权限
bash
# 创建用户
useradd admin
passwd admin # 设置密码
# Ubuntu赋予sudo权限
usermod -aG sudo admin
# CentOS/Rocky Linux赋予sudo权限
usermod -aG wheel admin
- 禁用root远程登录
bash
vim /etc/ssh/sshd_config
# 修改
PermitRootLogin no
- 重启SSH生效
bash
systemctl restart sshd
6.3 第三层:密钥登录+禁用密码登录(最高安全)
- 本地生成密钥对(Windows/Mac/Linux通用)
bash
# 本地终端执行,一路回车
ssh-keygen -t ed25519
- 上传公钥到服务器
bash
# 本地执行
ssh-copy-id -p 28642 admin@服务器公网IP
- 禁用密码登录
bash
vim /etc/ssh/sshd_config
PasswordAuthentication no
- 重启SSH服务
bash
systemctl restart sshd
6.4 配置测试与回滚
⚠️ 核心原则:不关闭当前连接窗口,新开终端测试,避免断连
- 测试:新开终端用密钥+普通用户登录
- 回滚命令(配置失败执行)
bash
cp /etc/ssh/sshd_config.bak /etc/ssh/sshd_config
systemctl restart sshd
第7章 防火墙配置:最小权限放行端口
遵循最小权限原则,只放行业务必需端口,拒绝所有无关流量,Ubuntu用UFW,CentOS用firewalld。
7.1 UFW(Ubuntu)防火墙常用命令
bash
# 启用并开机自启
ufw enable
# 查看状态
ufw status
# 放行核心端口
ufw allow 28642/tcp # SSH自定义端口
ufw allow 80/tcp # HTTP
ufw allow 443/tcp # HTTPS
# 重载规则
ufw reload
7.2 firewalld(CentOS/Rocky Linux)常用命令
bash
# 启用并开机自启
systemctl enable --now firewalld
# 查看规则
firewall-cmd --list-all
# 永久放行端口
firewall-cmd --zone=public --add-port=28642/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
# 重载生效
firewall-cmd --reload
7.3 云服务器安全组配置(双重防护)
- 登录云厂商控制台(阿里云/腾讯云/华为云)
- 进入服务器实例→安全组→入站规则
- 放行TCP端口:自定义SSH端口、80、443
- 源地址设为0.0.0.0/0,保存立即生效
本篇总结
- 网络:静态IP固定地址,分清公网内网IP,掌握SSH基础连接与排查
- SSH:改端口→禁root→密钥登录,三层加固彻底防破解
- 防火墙:系统防火墙+云安全组双重管控,最小权限放行端口
都看到这了,点个关注再走吧= ̄ω ̄=