CentOS 7系统默认的防火墙是Firewalld,但许多用户仍习惯于使用iptables,本文以CentOS 7.4为例,详细介绍在CentOS 7系统中安装并使用iptables的步骤和方法。
禁止Firewalld开机启动
为了防止与iptables冲突,首先需要禁止Firewalld开机启动,执行以下命令:
1、查看服务状态:
```bash
systemctl status firewalld
```
2、如果服务处于运行状态,停止firewalld服务:
```bash
systemctl stop firewalld
```
3、禁止Firewalld开机启动:
```bash
systemctl disable firewalld
```
安装iptables
执行以下命令来安装iptables:
yum install y iptablesservices
启动iptables并设置为开机启动
1、启动iptables服务:
```bash
systemctl start iptables
```
2、查看iptables是否成功启动:
```bash
systemctl status iptables
```
3、设置iptables开机启动:
```bash
systemctl enable iptables.service
```
4、重启实例验证配置:
```bash
systemctl reboot
```
查看并修改iptables默认规则
1、查看iptables默认规则:
```bash
iptables L
```
2、备份原有的iptables文件:
```bash
cp a /etc/sysconfig/iptables /etc/sysconfig/iptables.bak
```
3、清空所有规则:
```bash
iptables F
```
4、根据业务需求添加规则,例如放行80端口和22端口:
```bash
iptables I INPUT p tcp dport 80 m state state NEW j ACCEPT
iptables I INPUT p tcp dport 22 m state state NEW j ACCEPT
```
5、使INPUT链拒绝所有请求(线上业务请勿直接操作,会中断业务):
```bash
iptables P INPUT DROP
```
6、确认新规则生效:
```bash
iptables L
```
7、保存添加的规则:
```bash
iptablessave > /etc/sysconfig/iptables
```
FAQs
问题1:如何在CentOS 7中检查iptables是否已启动?
答:可以通过以下命令检查iptables的状态:
systemctl status iptables
该命令会显示iptables服务的当前状态,包括是否正在运行。
问题2:如何保存对iptables规则的更改?
答:对iptables规则进行更改后,可以使用以下命令将规则保存到配置文件中,确保在系统重启后依然有效:
service iptables save
或者使用以下命令:
iptablessave > /etc/sysconfig/iptables