【学习背景】​

Linux CentOS 6.5版本以前,默认防的火墙是iptables,CentOS6.5版本及以后版本,防火墙都由iptables升级为了firewall,不过底层还是基于iptables的指令,因此还是有必要了解了解。
本文主要介绍iptables的基本命令以及如何开放和阻止iptables防火墙常用端口,如22、80、8080、3306等常用端口号。

一、iptables安装

查看是否安装

iptables -V

安装(已安装的跳过)

yum install iptables-services

二、iptables基本操作

2.1 防火墙服务

#查看防火墙的服务
chkconfig --list | grep iptables
#永久关闭防火墙
chkconfig iptables off
#永久开启防火墙
chkconfig iptables on

2.2 systemctl基本命令

#查看防火墙的状态
systemctl status iptables.service
#停止防火墙
systemctl stop iptables.service    
#启动防火墙
systemctl start iptables.service
#重启防火墙
systemctl restart iptables.service
#重载防火墙等价于restart
systemctl reload iptables.service
#禁止开机启动防火墙
systemctl disable iptables.service
#开机启动防火墙
systemctl enable iptables.service

2.3 service基本命令

#查看防火墙状态
service iptables status            
#启动防火墙
service iptables start
#停止防火墙
service iptables stop
#重启防火墙
service iptables restart
#尝试重启防火墙
service iptables try-restart
#重载防火墙
service iptables reload
#强制重载防火墙
service iptables force-reload

三、防火墙端口(开放/阻止)

3.1 查询防火墙开放端口

iptables -L -n
或
iptables -L -n --line-number

3.2 开放防火墙指定端口

3.2.1 允许所有服务器访问指定端口

例如放开常用端口22/80/8080/3306

iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

–参数说明

参数说明
-A添加一条INPUT的规则
-p指定是什么协议(TCP/UDP)
--dport就是目标端口,当数据从外部进入服务器为目标端口
--sport数据从服务器出去,则为数据原端口
-j就是指定是ACCEPT接受或阻止DROP

重启服务

service iptables restart
或
systemctl restart iptables.service

保存配置

service iptables save
或
/etc/rc.d/init.d/iptables save

3.2.2 防火墙指定IP(允许/禁止)访问

# 允许ip访问
iptables -A INPUT -p tcp -s 192.168.xx.x -j ACCEPT
# 禁止ip访问
iptables -A INPUT -p tcp -s 192.168.xx.x -j DROP

–参数说明

参数说明
-s来源

3.2.3 防火墙指定IP(允许/禁止)访问指定端口

# 允许访问3306
iptables -A INPUT -s 192.168.xx.x -p tcp -m tcp --dport 3306 -j ACCEPT
# 禁止访问3306
iptables -A OUTPUT -s 192.168.xx.x -p tcp -m tcp --sport 3306 -j DROP

重启服务

service iptables restart
或
systemctl restart iptables.service

保存配置

service iptables save
或
/etc/rc.d/init.d/iptables save

四、删除防火墙端口

先查看防火墙端口规则

iptables -L -n
或
iptables -L -n --line-number

在这里插入图片描述

再根据序号删除指定端口的防火墙规则

iptables -D INPUT 1
iptables -D INPUT 2
iptables -D INPUT 3
iptables -D INPUT 4

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐