CentOS 6.x

防火墙配置文件地址

vi /etc/sysconfig/iptables

管理命令

重启防火墙
# service iptables restart

查看开放端口 
# /etc/init.d/iptables status
 
关闭防火墙 
# /etc/init.d/iptables stop

配置防火墙允许指定ip访问端口

关闭所有80端口
# iptables -I INPUT -p tcp --dport 80 -j DROP 

开启ip段192.168.1.0/24端的80口
# iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 80 -j ACCEPT

开启ip段211.123.16.123/24端ip段的80口
iptables -I INPUT -s 211.123.16.123/24 -p tcp --dport 80 -j ACCEPT

开放一个IP的一些端口,其它都封闭
iptables -A Filter -p tcp --dport 80 -s 192.168.100.200 -d www.pconline.com.cn -j ACCEPT
iptables -A Filter -p tcp --dport 25 -s 192.168.100.200 -j ACCEPT
iptables -A Filter -p tcp --dport 109 -s 192.168.100.200 -j ACCEPT
iptables -A Filter -p tcp --dport 110 -s 192.168.100.200 -j ACCEPT
iptables -A Filter -p tcp --dport 53 -j ACCEPT
iptables -A Filter -p udp --dport 53 -j ACCEPT
iptables -A Filter -j DROP

多个端口
iptables -A Filter -p tcp -m multiport --destination-port 22,53,80,110 -s 192.168.20.3 -j REJECT

指定时间上网
iptables -A Filter -s 10.10.10.253 -m time --timestart 6:00 --timestop 11:00 --days Mon,Tue,Wed,Thu,Fri,Sat,Sun -j DROP
iptables -A Filter -m time --timestart 12:00 --timestop 13:00 --days Mon,Tue,Wed,Thu,Fri,Sat,Sun -j ACCEPT
iptables -A Filter -m time --timestart 17:30 --timestop 8:30 --days Mon,Tue,Wed,Thu,Fri,Sat,Sun -j ACCEPT

CentOS 7.x

管理命令

查看firewall服务状态
systemctl status firewalld
firewall-cmd --state

# 平滑重载防火墙
firewall-cmd --reload

# 开启
service firewalld start
systemctl start firewalld
# 重启
service firewalld restart
# 关闭
service firewalld stop
systemctl stop firewalld

# 开机启动
systemctl enable firewalld        
# 取消开机启动
systemctl disable firewalld       

查看防火墙规则
firewall-cmd --list-all 

查看防火墙的开放的端口
firewall-cmd --permanent --list-ports

防火墙管理

# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp

# 参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、--permanent:表示设置为持久;
3、--add-port:标识添加的端口;

CentOS切换为iptables防火墙

切换到iptables首先应该关掉默认的firewalld,然后安装iptables服务。

1、关闭firewall

systemctl stop firewalld          # 关闭
systemctl disable firewalld       # 取消开机启动12

2、安装iptables防火墙

yum install iptables-services #安装1

3、编辑iptables防火墙配置

vi /etc/sysconfig/iptables 1

下边是一个完整的配置文件:

Firewall configuration written by system-config-firewall

Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT
123456789101112131415161718192021222324252627282930

:wq! #保存退出

service iptables start #开启
systemctl enable iptables.service #设置防火墙开机启动