【Linux】服务器网络与安全核心配置|静态IP+SSH加固+防火墙,公网服务器必学实操

前言
上一篇文章

前言

服务器完成系统初始化后,网络连通性基础安全 是核心刚需。动态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

  1. 查看网卡名称
bash 复制代码
# 查看网卡名,常见ens33、eth0、ens160
ip addr
  1. 备份并编辑配置文件
bash 复制代码
cd /etc/netplan/
# 备份原文件,出错可回滚
cp 00-installer-config.yaml 00-installer-config.yaml.bak
# 编辑配置
vim 00-installer-config.yaml
  1. 写入静态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
  1. 生效配置并验证
bash 复制代码
# 立即生效
netplan apply
# 重启网络服务(生效失败时执行)
systemctl restart systemd-networkd
# 查看IP是否生效
ip addr
# 测试外网连通性
ping -c 3 www.baidu.com

5.1.2 CentOS/Rocky Linux配置静态IP

  1. 查看网卡并进入配置目录
bash 复制代码
ip addr
cd /etc/sysconfig/network-scripts/
  1. 备份并编辑网卡配置
bash 复制代码
cp ifcfg-ens33 ifcfg-ens33.bak  # 替换为你的网卡名
vim ifcfg-ens33
  1. 修改配置内容
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"
  1. 重启网络并验证
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

连接失败高频排查(按顺序)

  1. 核对IP、端口、用户名是否正确
  2. 系统防火墙/云安全组是否放行对应端口
  3. SSH服务是否启动:systemctl status sshd
  4. 本地ping服务器IP,测试网络连通性
  5. root用户是否被禁止远程登录

第6章 SSH安全加固:杜绝暴力破解

SSH是服务器唯一远程入口,公网服务器必须做三层加固,修改任何配置前先备份

6.1 第一层:修改SSH默认端口(22→自定义高端口)

  1. 备份配置文件
bash 复制代码
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
  1. 编辑配置,修改端口
bash 复制代码
vim /etc/ssh/sshd_config
# 找到#Port 22,修改为
Port 28642  # 10000-65535之间自定义
  1. 防火墙放行新端口
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
  1. 重启SSH服务
bash 复制代码
systemctl restart sshd
systemctl enable sshd  # 开机自启

6.2 第二层:禁用root远程登录+创建普通管理员

  1. 创建普通用户并赋予sudo权限
bash 复制代码
# 创建用户
useradd admin
passwd admin  # 设置密码
# Ubuntu赋予sudo权限
usermod -aG sudo admin
# CentOS/Rocky Linux赋予sudo权限
usermod -aG wheel admin
  1. 禁用root远程登录
bash 复制代码
vim /etc/ssh/sshd_config
# 修改
PermitRootLogin no
  1. 重启SSH生效
bash 复制代码
systemctl restart sshd

6.3 第三层:密钥登录+禁用密码登录(最高安全)

  1. 本地生成密钥对(Windows/Mac/Linux通用)
bash 复制代码
# 本地终端执行,一路回车
ssh-keygen -t ed25519
  1. 上传公钥到服务器
bash 复制代码
# 本地执行
ssh-copy-id -p 28642 admin@服务器公网IP
  1. 禁用密码登录
bash 复制代码
vim /etc/ssh/sshd_config
PasswordAuthentication no
  1. 重启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 云服务器安全组配置(双重防护)

  1. 登录云厂商控制台(阿里云/腾讯云/华为云)
  2. 进入服务器实例→安全组→入站规则
  3. 放行TCP端口:自定义SSH端口、80、443
  4. 源地址设为0.0.0.0/0,保存立即生效

本篇总结

  1. 网络:静态IP固定地址,分清公网内网IP,掌握SSH基础连接与排查
  2. SSH:改端口→禁root→密钥登录,三层加固彻底防破解
  3. 防火墙:系统防火墙+云安全组双重管控,最小权限放行端口

都看到这了,点个关注再走吧= ̄ω ̄=

相关推荐
somi71 小时前
Linux-网络通信02-UDP 与 TCP Socket
linux·网络·udp·tcp
Frostnova丶1 小时前
LeetCode 1888 使二进制字符串交替的最少翻转次数
算法·leetcode
王码码20351 小时前
Flutter for OpenHarmony:es_compression — 高性能 Brotli 与 Zstd 算法实战
算法·flutter·elasticsearch
Hello World . .2 小时前
Linux:网络编程-UDP通信
linux·网络·udp
susu10830189112 小时前
ubuntu重做系统后无法apt update
linux·运维·ubuntu
努力搬砖的鱼2 小时前
校园网运维-生成树协议实战
运维·网络
蜕变的小白2 小时前
Linux系统编程:揭秘网络通信 IP与端口号的奥秘
linux·网络·网络协议·tcp/ip
苏纪云2 小时前
蓝桥杯知识点——day2
数据结构·算法·蓝桥杯
津津有味道2 小时前
易语言数据报UDP通讯接收RFID网络读卡器获取卡号驱动设备播报TTS语音
网络·udp·rfid·读卡器·易语言·数据报