目录
介绍
CentOS7运行命令:
service iptables start/stop
会出现:
[root@localhost conf]# service iptables start
Redirecting to /bin/systemctl start iptables.service
Failed to start iptables.service: Unit not found.
是因为在CentOS 7或RHEL 7或Fedora中防火墙由firewalld来管理,不再是iptables
使用
命令语法如下:启用区域端口和协议组合
firewall-cmd [--zone=<zone>] --add-port=<port>[-<port>]/<protocol> [--timeout=<seconds>]
该操作将添加端口和协议的组合。端口可以是一个单独的端口 <port> 或者是一个端口范围 <port>-<port> 。协议可以是 tcp 或 udp。
1.具体添加操作:
(1)添加单个端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
--zone表示端口区域范围
--permanent永久生效,没有此参数重启后失效
(2)添加端口范围
firewall-cmd --zone=public --add-port=1000-2000/tcp --permanent
2.重新载入端口(让添加的端口生效)
firewall-cmd --reload
3.查看添加的端口
firewall-cmd --zone=public --query-port=80/tcp
4.删除对应的端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
2.防火墙关闭开启操作
启动: systemctl start firewalld
关闭: systemctl stop firewalld
重启: systemctl reload firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld
iptables操作
1.防火墙设置
(1)由于Linux防火墙默认是关闭的。可以用两种方式,一个是关闭防火墙,另一个就是让防火墙开放这个端口。
关闭防火墙命名:
service iptables stop (不推荐)
修改防火墙端口:修改/etc/sysconfig/iptables 文件,增加如下一行:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
重启防火墙:
service iptables restart
(如果没有这个文件,需要安装)
开放一个范围的端口3000到5000
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3000:5000 -j ACCEPT
------重启防火墙方式:这里有两种方式重启防火墙
a) 重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off
b) 即时生效,重启后失效
开启: service iptables start
关闭: service iptables stop
2.解决CentOS(6和7版本),/etc/sysconfig/下没有iptables的问题
(1)、Centos 6版本解决办法:
a.任意运行一条iptables防火墙规则配置命令:
iptables -P OUTPUT ACCEPT
b.对iptables服务进行保存:
service iptables save
c.重启iptables服务:
service iptables restart
(2)、Centos 7版本解决办法:
a.停止并屏蔽firewalld服务
systemctl stop firewalld
systemctl mask firewalld
b.安装iptables-services软件包
yum install iptables-services
c.在引导时启用iptables服务
systemctl enable iptables
systemctl restart iptables.service // 重启防火墙使配置生效
systemctl enable iptables.service // 设置防火墙开机启动
d.启动iptables服务
systemctl start iptables
e.保存防火墙规则
service iptables save 或 /usr/libexec/iptables/iptables.init save
f.另外:管理iptables服务
systemctl [stop|start|restart] iptables