本文用于记录Linux防火墙(
firewall
、ufw
)的相关操作。
bashnetstat -tuln
bashfirewall-cmd --state
# 或
systemctl status firewalld.service
bashsystemctl start firewalld.service
bashsystemctl enable firewalld.service
bashsystemctl restart firewalld.service
bashsystemctl stop firewalld.service
bash# 打开单个端口:
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 打开多个端口:
firewall-cmd --zone=public --add-port=20000-29999/tcp --permanent
--permanent 为永久生效,不加为单次有效(重启失效)
bashnetstat -ntlp
# 或:
firewall-cmd --list-ports
bashfirewall-cmd --zone=public --remove-port=80/tcp --permanent
bashfirewall-cmd --zone=public --query-port=80/tcp
iptables -I INPUT -p TCP --dport 443 -j ACCEPT
UFW(Uncomplicated Firewall)是一个简化的防火墙管理工具,用于配置iptables。以下是一些常用的UFW操作:
安装UFW(适用于Debian/Ubuntu系统):
bashsudo apt-get install ufw
bashsudo ufw enable
bashsudo ufw disable
bashsudo ufw status
bashsudo ufw allow 22/tcp # 允许SSH
sudo ufw allow 80/tcp # 允许HTTP
sudo ufw allow 443/tcp # 允许HTTPS
bashsudo ufw deny 22/tcp # 拒绝SSH
sudo ufw deny 80/tcp # 拒绝HTTP
bashsudo ufw delete allow 22/tcp # 删除允许SSH的规则
sudo ufw delete deny 80/tcp # 删除拒绝HTTP的规则
bashsudo ufw allow from 192.168.1.100 to any port 22 # 允许IP 192.168.1.100通过端口22访问
bashsudo ufw deny from 192.168.1.100 to any port 22 # 拒绝IP 192.168.1.100通过端口22访问
bashsudo ufw allow from 192.168.1.0/24 to any port 22 # 允许IP范围192.168.1.0/24通过端口22访问
bashsudo ufw deny from 192.168.1.0/24 to any port 22 # 拒绝IP范围192.168.1.0/24通过端口22访问
bashsudo ufw allow ssh # 允许SSH服务
sudo ufw allow http # 允许HTTP服务
bashsudo ufw deny ssh # 拒绝SSH服务
sudo ufw deny http # 拒绝HTTP服务
在配置文件 /etc/default/ufw
中设置 IPV6=yes
或 IPV6=no
,然后重启UFW:
bashsudo ufw reload
bashsudo ufw default allow outgoing # 默认允许所有出站连接
sudo ufw default deny incoming # 默认拒绝所有入站连接
bashsudo less /var/log/ufw.log
bashsudo ufw logging on
bashsudo ufw logging off
本文作者:DingDangDog
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!