Ubuntu 系统中,默认的防火墙组件是 UFW 。
安装与启用 UFW
一般来说,Ubuntu 系统大多默认安装了 UFW。你可以通过以下命令检查是否安装:
ufw --version
若系统提示 “未找到命令” 等类似信息,说明尚未安装,可使用以下命令进行安装:
sudo apt install ufw
安装完成后,就可以启用 UFW 了。在终端输入以下命令:
sudo ufw enable
执行此命令时,系统可能会提示该操作可能会中断当前的 ssh 连接 ,询问是否继续。这是因为启用防火墙后,可能会阻止现有的远程连接。所以在启用前,建议先确保已允许 SSH 连接规则 ,否则可能导致无法远程登录系统。若确定继续,输入 “y” 回车即可。
基本规则配置
允许 SSH 连接
为了能够远程登录服务器,首先要允许 SSH 连接。可以使用以下两种方式:
通过服务名称允许:
sudo ufw allow ssh
若知道 SSH 服务的具体端口(通常是 22 端口),指定端口允许:
sudo ufw allow 22/tcp
允许特定服务
UFW 允许通过服务名称来允许或拒绝流量。例如,若要允许 HTTP 和 HTTPS 流量,方便网站访问,可使用以下命令:
sudo ufw allow httpsudo ufw allow https
允许特定 IP 地址或范围
允许某个特定 IP 地址访问所有本机端口:
sudo ufw allow from 192.168.1.1
允许某个 IP 地址范围访问所有本机端口,如 192.168.1.0/24 网段:
sudo ufw allow from 192.168.1.0/24
拒绝特定流量
拒绝某个端口的传入流量,如拒绝外部访问 80 端口:
sudo ufw deny 80/tcp
拒绝某个 IP 地址访问所有本机端口:
sudo ufw deny from 192.168.1.1
设置默认策略
可以设置默认策略来控制整体的流量进出。比如设置默认拒绝所有传入连接,允许所有传出连接,命令如下:
sudo ufw default deny incomingsudo ufw default allow outgoing
查看防火墙状态
随时了解防火墙的状态及已配置的规则非常重要。使用以下命令查看:
简单状态查看
sudo ufw status
此命令会显示防火墙是否启用,以及当前的默认策略等基本信息 。
Status: activeDefault: deny (incoming), allow (outgoing), disabled (routed)New profiles: skip
详细状态查看
若想查看每条规则的详细信息,可使用:
sudo ufw status verbose
该命令会列出每条规则的编号、动作(允许或拒绝)、协议、源地址、目标地址等详细内容 。比如:
Status: activeLogging: on (low)Default: deny (incoming), allow (outgoing), disabled (routed)New profiles: skipTo Action From-- ------ ----22/tcp ALLOW IN Anywhere80/tcp ALLOW IN Anywhere22/tcp (v6) ALLOW IN Anywhere (v6)80/tcp (v6) ALLOW IN Anywhere (v6)
其他常见操作
删除规则
当需要删除已添加的规则时,有两种方法:
通过规则内容删除,如删除允许 22 端口的规则:
sudo ufw delete allow 22/tcp
若知道规则编号,可通过编号删除。先使用以下命令查看规则编号:
sudo ufw status numbered
例如显示结果如下:
Status: active To Action From -- ------ ----[ 1] 22/tcp ALLOW IN Anywhere[ 2] 80/tcp ALLOW IN Anywhere
若要删除编号为 1 的规则,使用命令:
sudo ufw delete 1
开放指定端口范围
当某些服务需要使用多个端口时,可指定端口范围。例如,允许 TCP 协议的 8000 - 8005 端口范围:
sudo ufw allow 8000:8005/tcp
允许特定 IP 访问特定端口
若只想让某个特定 IP 访问服务器的特定端口,如允许 192.168.1.10 访问 3306 端口:
sudo ufw allow from 192.168.1.10 to any port 3306
设置无法 ping 主机
有时候,为了更好地保护主机,可以设置让远程终端无法 ping 通主机,需要分别对 ipv4 和 ipv6 进行设置:
编辑文件:
vi /etc/ufw/before.rules
找到这一行:
-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT
把最后的单词 “ACCEPT” 修改成 “DROP”,修改完成后保存并退出。
重新加载防火墙:
ufw reload
此时,再次测试会发现无法 ping 通主机了。
本文链接:https://www.kinber.cn/post/6675.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝:

支付宝微信扫一扫,打赏作者吧~
