linux设置防火墙命令

linux设置防火墙命令
最新回答
夏了夏天

2022-07-28 16:25:40

Linux设置防火墙的命令因工具不同而有所区别,常见工具包括firewalld、iptables和ufw,具体配置如下

一、firewalld(CentOS 7及以上版本)
  1. 基础管早衡理

    启动/停止/重启:systemctl start firewalld(启动)systemctl stop firewalld(停止)systemctl restart firewalld(重启)

    状态查看:systemctl status firewalld 或 firewall-cmd --state

    开机自启设置:systemctl enable firewalld(启用)systemctl disable firewalld(禁用慧睁森)

  2. 端口配置

    开放端口(永久生效需重载):firewall-cmd --zone=public --add-port=80/tcp --permanent执行后需运行 firewall-cmd --reload 重新加载配置。

    临时开放端口(重启失效):firewall-cmd --zone=public --add-port=80/tcp

    关闭端口:firewall-cmd --zone=public --remove-port=80/tcp --permanent同样需重载配置生效。

  3. 高级操作

    查看开放端口列表:firewall-cmd --zone=public --list-ports

    紧急模式(拒绝所有入站流量):firewall-cmd --panic-on(启用)firewall-cmd --panic-off(取消)

二、iptables(CentOS 6及传统系统)
  1. 基础管理

    启动/停止/重启:service iptables start(启动)service iptables stop(停止)service iptables restart(重启)

    永久禁用:chkconfig iptables off

  2. 规则配置

    查看规则:iptables -L

    清空规则前亩:iptables -F

    允许特定IP段访问:iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT

    允许SSH端口(22):iptables -A INPUT -p tcp --dport 22 -j ACCEPT

三、ufw(Ubuntu系统)
  1. 规则配置

    允许HTTP/HTTPS流量:sudo ufw allow 80/tcp(HTTP)sudo ufw allow 443/tcp(HTTPS)

    允许SSH流量:sudo ufw allow 22/tcp

    默认拒绝所有流量:sudo ufw default deny

    启用防火墙:sudo ufw enable

  2. 状态查看

    查看当前规则:sudo ufw status verbose

注意事项

  • 修改防火墙规则后,需确保关键服务(如SSH)的端口未被意外关闭,避免远程连接中断。
  • 使用--permanent参数的规则需重载或重启服务才能生效。
  • 不同Linux发行版默认工具可能不同(如Ubuntu推荐ufw,CentOS 7+推荐firewalld)。

根据系统版本和需求选择合适的工具,并建议通过man 命令名(如man firewall-cmd)查阅详细参数。