iptables 是一个通过控制 Linux 内核的 netfilter 模块来管理网络数据包的流动与转送的应用软件,其功能包括不仅仅包括防火墙的控制出入流量,还有端口转发等等。iptables 内部有表 tables、链 chains、规则 rules 这三种概念。iptables 的每一个 “表” 都和不同的数据包处理有关、决定数据包是否可以穿越的是 “链”、而一条 “规则” 在链里面则可以决定是否送往下一条链(或其它的动作)。
UFW(Uncomplicated Firewal)是 Ubuntu 下基于 iptables 的接口,旨在简化配置防火墙的过程。默认情况下 UFW 为关闭状态,开启时默认为拒绝所有传入链接,并允许所有传出连接。这意味着任何人尝试到达您的服务器将无法连接,而服务器内的任何应用程序能够达到外部世界。
尽量避免ufw与iptables同时使用。
sudo ufw enable # 启用
sudo ufw default deny # 作用:开启了防火墙并随系统启动同时关闭所有外部对本机的访问(本机访问外部正常)。
sudo ufw disable # 关闭
sudo ufw status # 查看防火墙状态
sudo ufw reset # 重置所有规则
sudo ufw allow 22 #开放22端口
sudo ufw allow ssh #开放ssh端口
sudo ufw delete allow 22 #关闭22端口
安装
# 默认已安装
sudo apt-get install ufw
查看服务是否已启动及防火墙规则
# 激活:已启动 不激活:已关闭
sudo ufw status
# 查看详细信息
sudo ufw status verbose
# 查看带编号的服务信息 [用于 remove 时的编号参数]
sudo ufw status numbered
开启关闭防火墙
# 关闭防火墙
sudo ufw disable
# 启动防火墙
sudo ufw enable
设置默认策略
# 默认禁止所有其它主机连接该主机
sudo ufw default deny incoming
# 默认允许该主机所有对外连接请求
sudo ufw default allow outgoing
设置允许连接规则
# 允许 ssh 服务(服务名)
sudo ufw allow ssh
# 允许 ssh 服务(端口号)
sudo ufw allow 22
# 允许特定协议的端口访问
sudo ufw allow 21/tcp
# 允许特定端口范围
sudo ufw allow 6000:6007/tcp
sudo ufw allow 6000:6007/udp
# 允许特定IP地址访问
sudo ufw allow from 192.168.1.100
# 允许特定范围主机(15.15.15.1 - 15.15.15.254)
sudo ufw allow from 15.15.15.0/24
# 允许特定范围主机访问特定端口
sudo ufw allow from 15.15.15.0/24 to any port 22
# 允许连接到特定的网卡
sudo ufw allow in on eth0 to any port 80
设置拒绝连接规则
# 将 allow 替换为 deny
sudo ufw deny http
sudo ufw deny from 192.168.1.100
删除规则
# 查看所有规则并显示规则编号
sudo ufw status numbered
# 按编号删除
sudo ufw delete allow 2
# 按服务删除
sudo ufw delete allow ssh
重置UFW
# 恢复至初始状态
sudo ufw reset
修改配置文件
# 打开配置文件
sudo vi /etc/default/ufw
# 命令操作同时对IPv4和IPv6都生效
IPV6=yes
配置生效
# 重启防火墙
sudo ufw disable
sudo ufw enable
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)