## Linux防火墙端口开放与关闭详解

### 一、整体流程

以下是针对Linux系统上防火墙端口开放与关闭的整体流程:

| 步骤 | 操作 |
|------|------|
| 1 | 登录到Linux系统 |
| 2 | 查看防火墙状态 |
| 3 | 开放或关闭指定端口 |
| 4 | 保存设置 |
| 5 | 重启防火墙服务 |

### 二、具体操作步骤

#### 1. 登录到Linux系统

```
ssh username@ip_address
```

在终端中输入以上命令,将用户名和IP地址替换为实际的登录信息。

#### 2. 查看防火墙状态

查看当前系统使用的防火墙服务,一般为`iptables`或`firewalld`。

- 对于`iptables`,使用以下命令查看状态:

```
sudo systemctl status iptables
```

- 对于`firewalld`,使用以下命令查看状态:

```
sudo systemctl status firewalld
```

#### 3. 开放或关闭指定端口

##### 3.1 对于`iptables`

- 开放端口:

```
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
```

上述命令将开放TCP端口80,如果是UDP端口则将`tcp`替换为`udp`。

- 关闭端口:

```
sudo iptables -A INPUT -p tcp --dport 80 -j DROP
```

##### 3.2 对于`firewalld`

- 开放端口:

```
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
```

上述命令将开放TCP端口80,如果是UDP端口则将`tcp`替换为`udp`。

- 关闭端口:

```
sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent
```

#### 4. 保存设置

保存刚才的端口开放或关闭设置。

- 对于`iptables`,使用以下命令保存设置:

```
sudo service iptables save
```

- 对于`firewalld`,使用以下命令保存设置:

```
sudo firewall-cmd --reload
```

#### 5. 重启防火墙服务

重新启动防火墙服务以应用新的设置。

- 对于`iptables`,使用以下命令重启服务:

```
sudo systemctl restart iptables
```

- 对于`firewalld`,使用以下命令重启服务:

```
sudo systemctl restart firewalld
```

### 三、总结

通过以上操作,你可以轻松实现Linux系统上防火墙端口的开放与关闭。务必谨慎操作,确保只开放必要的端口,以保障系统安全。祝你学习顺利!