|
以下是一个针对 Linux 系统防火墙配置的实用且安全的教程,尽量不拖累系统性能:
**一、使用 firewalld 防火墙(以 CentOS 8 为例)**
1. 安装 firewalld 防火墙
```
sudo yum install firewalld
```
2. 启动并启用 firewalld 服务
```
sudo systemctl start firewalld
sudo systemctl enable firewalld
```
3. 查看当前区域和规则
```
sudo firewall-cmd --get-default-zone
sudo firewall-cmd --list-all
```
4. 允许特定端口(例如 SSH 端口 22)
```
sudo firewall-cmd --zone=public --add-port=22/tcp --permanent
sudo firewall-cmd --reload
```
5. 允许特定服务(如 HTTP 和 HTTPS)
```
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload
```
6. 限制特定 IP 访问
```
sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject' --permanent
sudo firewall-cmd --reload
```
7. 允许特定网段访问
```
sudo firewall-cmd --zone=public --add-source=192.168.1.0/24 --permanent
sudo firewall-cmd --reload
```
**二、使用 iptables 防火墙(以 CentOS 7 为例)**
1. 查看当前规则
```
sudo iptables -L
```
2. 允许 SSH 端口 22
```
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
```
3. 允许 HTTP 端口 80
```
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
```
4. 保存规则
```
sudo service iptables save
```
5. 禁止特定 IP 访问
```
sudo iptables -A INPUT -s 192.168.1.100 -j DROP
```
6. 允许特定网段访问
```
sudo iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
```
无论是使用 firewalld 还是 iptables,配置完成后,都需要进行测试,确保所需的服务能够正常访问,同时未授权的访问被阻止。在配置防火墙规则时,要谨慎操作,避免误封导致自己无法远程连接到服务器。
另外,为了确保系统性能不受太大影响,建议只开放确实需要的端口和服务,并定期审查和更新防火墙规则。
|
|