一、CentOS 7快速开放端口:
CentOS升级到7之后,发现无法使用iptables控制Linuxs的端口,baidu之后发现Centos 7使用firewalld代替了原来的iptables。下面记录如何使用firewalld开放Linux端口:
1、启动
systemctl start firewalld.service
2、开启端口
[root@centos7 ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
3、开启一段范围端口
[root@centos7 ~]# firewall-cmd --zone=public --add-port=25880-25885/tcp --permanent
4、查询端口号80 是否开启:
[root@centos7 ~]# firewall-cmd --query-port=80/tcp
5、重启防火墙:
[root@centos7 ~]# firewall-cmd --reload
6、查询有哪些端口是开启的:
[root@centos7 ~]# firewall-cmd --list-port
7、查看防火墙状态
[root@centos7 ~]# systemctl status firewalld
8、关闭端口
[root@centos7 ~]# firewall-cmd --zone=public --remove-port=80/tcp --permanent
命令含义:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
9、关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
10、和iptables的对比使用
(1)区别:iptables通过控制端口来控制服务,而firewalld则是通过控制协议来控制端口
iptables service 在 /etc/sysconfig/iptables中存储配置,firewalld将配置存储在/etc/sysconfig/firewalld 和 /etc/firewalld中各种xml 文件里,更改iptables 意味着全部清除旧的加载新的,而firewalld只会更改不同之处,不会对现有的造成影响。
(2)使用iptables
systemctl stop firewalld #停止centos7自带防火墙
systemctl mask firewalld #屏蔽firewall
yum install -y iptables #安装iptables
yum install iptables-services
yum update iptables #升级iptables
yum update iptables-services
systemctl enable iptables #解除禁止 iptables 服务,开机自启
开启服务
systemctl start iptables.service
配置 /etc/sysconfig 下的 iptables 文件[vim /etc/sysconfig/iptables]
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3000 -j ACCEPT
重启防火墙使配置生效
systemctl restart iptables.service
设置防火墙为开机启动
systemctl enable iptabls.service
检查是否安装了 iptables
service iptables status
其它命令
systemctl start iptables //开启/暂停服务
systemctl stop iptables //
systemctl disable iptables //禁止/解除禁止 iptables 服务
systemctl enable iptables