Linux防火墙区域怎么设置
Linux防火墙区域怎么设置详细介绍
在 Linux 系统中,不同的发行版使用的防火墙管理工具可能有所不同,其中比较常见的是 firewalld 和 iptables,下面为你分别介绍这两种工具设置防火墙区域的方法。
使用
firewalld 设置防火墙区域
firewalld 是 CentOS 7 及以上版本默认使用的防火墙管理工具,它支持区域(zone)的概念,不同的区域有不同的安全级别。以下是设置步骤:
- 查看当前可用的区域bash
firewall-cmd --get-zones常见的区域有
public、private、trusted等。 - 查看当前默认区域bash
firewall-cmd --get-default-zone - 设置默认区域
若要把默认区域设置为private,可执行以下命令:bashfirewall-cmd --set-default-zoneprivatefirewall-cmd
- 查看某个区域的配置
若要查看public区域的配置,可执行以下命令:bashfirewall-cmd public --list-all - 将网络接口添加到指定区域
若要把eth0接口添加到private区域,可执行以下命令:bashfirewall-cmd private --add-interfaceeth0firewall-cmd
- 为区域添加服务或端口规则
- 添加服务:若要在
public区域开放http服务,可执行以下命令:
bash
firewall-cmd public --add-servicehttpfirewall-cmd
- 添加端口:若要在
public区域开放 8080 端口,可执行以下命令:
bash
firewall-cmd public --add-port/tcpfirewall-cmd
- 添加服务:若要在
使用
iptables 设置防火墙规则
iptables 是较为传统的 Linux 防火墙管理工具,它本身没有区域的概念,但你可以通过自定义规则来模拟区域的功能。以下是基本的设置步骤:
- 清空现有规则bash
iptablesiptables
iptables
- 设置默认策略
若要设置默认的输入和转发策略为拒绝,输出策略为允许,可执行以下命令:bashiptables INPUT DROPiptables FORWARD DROP
iptables OUTPUT ACCEPT
- 允许本地回环接口通信bash
iptables INPUT lo ACCEPT - 允许已建立和相关的连接bash
iptables INPUT conntrack ESTABLISHED,RELATED ACCEPT - 开放特定端口
若要开放 22 端口(SSH 服务),可执行以下命令:bashiptables INPUT tcp ACCEPT - 保存规则
在不同的发行版中,保存iptables规则的方法有所不同。在 CentOS 中,可使用以下命令:bashiptables save在 Ubuntu 中,可使用
iptables-persistent工具:bashiptables-persistentnetfilter-persistent save
9123apt-get install iptables-persistentnetfilter-persistent save
通过以上步骤,你可以使用 firewalld 或 iptables 来设置 Linux 防火墙区域和规则。在操作时要谨慎,避免因误操作而导致网络连接问题。