Ubuntu 18.04上使用UFW设置防火墙:安装、状态、启用、关闭
转 http://biji.gauin.com/ubuntu-18-04-ufw.html
确保登录root权限账号
安装命令
sudo apt install ufw
检查UFW状态命令
sudo ufw status verbose
UFW在默认情况下是禁用的,如果您刚刚安装或从未激活过UFW,则输出如下所示:
输出
Status: inactive
如果UFW被激活,输出将如下所示:
状态:激活
日志: on (low)
默认:deny (incoming), allow (outgoing), disabled (routed)
新建配置文件: skip
至 动作 来自
– — —
80,443/tcp (Nginx Full) ALLOW IN Anywhere
80,443/tcp (Nginx Full (v6)) ALLOW IN Anywhere (v6)
UFW默认策略
默认策略在/etc/default/ufw文件中定义,可以使用sudo ufw default <policy> <chain>
请勿修改默认策略配置文件
允许SSH连接 默认端口22
请键入以下命令:
sudo ufw allow ssh
如果ssh登录端口不是22,是自定义xx数字,请输入命令
sudo ufw allow xx数字/tcp
启用UFW
确保UFW防火墙已配置为允许传入SSH连接,继续启用UFW,输入命令
sudo ufw enable
在系统启动时启用和激活防火墙
输出:
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
您将被警告启用防火墙可能会破坏现有的ssh连接,只需键入y并按Enter键。
允许其他端口上的连接
打开端口80 – HTTP
使用以下命令可以允许HTTP连接:
sudo ufw allow http
你可以使用端口号80而不是http:
sudo ufw allow 80/tcp
打开端口443 – HTTPS
使用以下命令可以允许HTTP连接:
sudo ufw allow https
要实现相同而不是https,您可以使用端口号443:
sudo ufw allow 443/tcp
打开端口8080
如果运行Tomcat或在端口8080上侦听的任何其他应用程序以允许传入连接,请输入:
sudo ufw allow 8080/tcp
允许端口范围
UFW允许我们允许访问端口范围,而不是允许访问单个端口。 使用UFW允许端口范围时,您必须指定协议,即tcp或udp。 例如,如果要允许tcp和udp上的端口从8000到8100,则运行以下命令:
sudo ufw allow 8000:8100/tcp
sudo ufw allow 8000:8100/udp
允许特定的IP地址
如果您希望允许您的家庭计算机上的所有端口使用IP地址55.56.57.58访问,则需要在IP地址之前指定:
sudo ufw allow from 55.56.57.58允许特定端口上的特定IP地址
要允许在特定端口上访问,可以使用IP地址为55.56.57.58的工作机器上的端口22,然后您需要指定IP地址后面的任何端口和端口号:
sudo ufw allow from 55.56.57.58 to any port 22
删除UFW规则
有两种不同的方法可以通过规则编号和指定实际规则来删除UFW规则。
使用以下命令执行此操作:
sudo ufw status numbered
状态: 激活
至 动作 来自
– — —
[ 1] Nginx Full ALLOW IN Anywhere
[ 2] 22/tcp ALLOW IN Anywhere
[ 3] 5522/tcp ALLOW IN Anywhere
[ 4] 80/tcp ALLOW IN Anywhere
[ 5] Nginx HTTP ALLOW IN Anywhere
[ 6] 443/tcp ALLOW IN Anywhere
[ 7] Nginx HTTPS ALLOW IN Anywhere
[ 8] 8080/tcp ALLOW IN Anywhere
[ 9] Nginx Full (v6) ALLOW IN Anywhere (v6)
[10] 22/tcp (v6) ALLOW IN Anywhere (v6)
[11] 5522/tcp (v6) ALLOW IN Anywhere (v6)
[12] 80/tcp (v6) ALLOW IN Anywhere (v6)
[13] Nginx HTTP (v6) ALLOW IN Anywhere (v6)
[14] 443/tcp (v6) ALLOW IN Anywhere (v6)
[15] Nginx HTTPS (v6) ALLOW IN Anywhere (v6)
[16] 8080/tcp (v6) ALLOW IN Anywhere (v6)
要删除规则编号3,允许连接到端口8080的规则,可以使用以下命令:
sudo ufw delete 2
第二种方法是通过指定实际规则来删除规则,例如,如果您添加了一条规则以打开端口8168,则可以使用以下规则将其删除:
sudo ufw delete allow 8168
禁用UFW
如果因任何原因想停止UFW并停用您可以使用的所有规则:
sudo ufw disable
稍后如果您想要重新启用UTF并激活所有规则,请输入:
sudo ufw enable
重置UFW
重置UFW将禁用UFW,并删除所有活动规则。
要重置UFW,只需输入以下命令:
sudo ufw reset
详细配置参考
https://www.linuxidc.com/Linux/2018-06/152881.htm