Linux firewall settings!

1、Centos防火墙相关

网络安全

  • 开启防火墙
systemctl start firewalld.service

  • 放行指定端口
firewall-cmd --zone=public --add-port=端口号/tcp --permanent

  • 重启防火墙
systemctl restart firewalld.service

  • 查看所有端口号
firewall-cmd --list-ports
或
netstat -ntlp    #此命令如果无法运行请先安装:yum install net-tools -y

  • 查看指定端口是否被占用
lsof -i tcp:6666    #查看所有6666端口使用情况
或
netstat -ntulp |grep 6666   #查看所有6666端口使用情况,此命令也可以查出占用端口的进程

  • 查看&关闭占用进程
查看进程详细信息:ps 11111  #11111为进程的PID

杀掉进程:kill -9 11111

  • 禁止开机启动
systemctl disable firewalld.service

  • 开启开机启动
systemctl enable firewalld.service

  • 查看防火墙状态
systemctl status firewalld.service

  • 关闭防火墙
临时停止防火墙:systemctl stop firewalld.service

永久关闭防火墙:systemctl disable firewalld.service

2、Debian&Ubuntu防火墙相关

网络安全

  • 安装防火墙(有两种防火墙,可自由选择,当然在后面的命令中需要选择对应的命令方可执行,一般系统会自带方案二,方案一可能需要安装,自己可以先试
方案一:
apt-get update
apt-get install iptables-persistent

方案二:
apt-get update
apt-get install ufw

  • 开启防火墙
service iptables start  #方案一选择此命令

ufw enable    #方案二选择此命令

  • 放行指定端口

iptables -A INPUT -p tcp --dport 端口号 -j ACCEPT

方案二选择以下:
放行tcp或者udp端口:ufw allow 端口号/tcp
放行tcp与udp端口:ufw allow 端口号
删除指定端口:ufw delete allow 端口号

  • 重启防火墙
service iptables restart  #方案一选择此命令

ufw reload  #方案二选择此命令

  • 查看防火墙现有规则
iptables -L -n -v  #方案一选择此命令

ufw status  #方案二选择此命令

ufw show added  #查看刚添加的规则,方案二可用此命令

  • 查看所有端口号
netstat -ntlp    #此命令如果无法运行请先安装:apt-get install net-tools -y

  • 查看指定端口是否被占用
lsof -i tcp:6666    #查看所有6666端口使用情况
或
netstat -ntulp |grep 6666   #查看所有6666端口使用情况,此命令也可以查出占用端口的进程

  • 查看&关闭占用进程
kill -9 PID

  • 禁止开机启动
service iptables stop   #方案一选择此命令

ufw disable  #方案二选择此命令

  • 开启开机启动
service iptables save  #方案一选择此命令

ufw enable  #方案二选择此命令

  • 查看防火墙状态
service iptables status #方案一选择此命令

ufw status verbose  #方案二选择此命令

  • 关闭防火墙
service iptables stop  #方案一选择此命令

ufw disable  #方案二选择此命令

  • 重置防火墙配置
ufw reset

使用 iptables 进阶限速(更专业、更灵活)

由于 UFW 只是 iptables 的外壳,提供了一个非常简单的 limit 命令,但它的功能非常有限:它只能限制 每 30 秒内 6 次连接尝试,且主要针对 TCP。

sudo ufw limit 443/udp

你可以直接通过 iptables 调用 recent 模块,设置更精细的限速策略。例如,限制每个 IP 每秒最多只能发送 10 个 UDP 包:

# 记录并检查最近的连接
sudo iptables -I INPUT -p udp --dport 443 -m state --state NEW -m recent --set
sudo iptables -I INPUT -p udp --dport 443 -m state --state NEW -m recent --update --seconds 1 --hitcount 10 -j DROP
  • 解释:这段代码的意思是:如果一个 IP 在 1 秒内发起的 UDP 443 新请求超过 10 个,则直接丢弃。

在 Caddy 层面进行限速(应用层监控)

既然你前端使用了 Caddy,在应用层处理限速通常比在内核防火墙层更智能,因为它能识别具体的请求内容。

你可以安装 Caddy 的 rate-limit 插件,或者利用 Caddy 的 request_header 限制。不过,对于 UDP 443 (QUIC),Caddy 默认就会处理拥塞控制。

参考:https://naiyous.com/450.html

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部