查看已经开放的端口:


[root@localhost liuzhen]# firewall-cmd --list-ports


开启端口



[root@localhost liuzhen]# firewall-cmd --zone=public --add-port=80/tcp --permanent



命令含义:

--zone      : 作用域,网络区域定义了网络连接的可信等级。这是一个一对多的关系,这意味着一次连接可以仅仅是一个区域的一部分,而一个区域可以用于很多连接

--add-port  : 添加端口与通信协议,格式为:端口/通讯协议,协议是tcp 或 udp

--permanent : 永久生效,没有此参数系统重启后端口访问失效


重启防火墙


[root@localhost liuzhen]# firewall-cmd --reload


停止firewall



[root@localhost liuzhen]# systemctl stop firewalld.service



禁止firewall开机启动


[root@localhost liuzhen]# systemctl disable firewalld.service


firewall防火墙默认的几个zone(由firewalld 提供的区域按照从不信任到信任的顺序排序):


drop

任何流入网络的包都被丢弃,不作出任何响应,只允许流出的网络连接。即使开放了某些服务(比如http),这些服务的数据也是不允许通过的。


block

任何进入的网络连接都被拒绝,并返回 IPv4 的 icmp-host-prohibited 报文或者 IPv6 的 icmp6-adm-prohibited 报文。只允许由该系统初始化的网络连接。


public(默认)

用以可以公开的部分。你认为网络中其他的计算机不可信并且可能伤害你的计算机,只允许选中的服务通过。


external

用在路由器等启用伪装的外部网络。你认为网络中其他的计算机不可信并且可能伤害你的计算机,只允许选中的服务通过。


dmz

用以允许隔离区(dmz)中的电脑有限地被外界网络访问,只允许选中的服务通过。


work

用在工作网络。你信任网络中的大多数计算机不会影响你的计算机,只允许选中的服务通过。


home

用在家庭网络。你信任网络中的大多数计算机不会影响你的计算机,只允许选中的服务通过。


internal

用在内部网络。你信任网络中的大多数计算机不会影响你的计算机,只允许选中的服务通过。


trusted

允许所有网络连接,即使没有开放任何服务,那么使用此zone的流量照样通过(一路绿灯)。


-----------------------------------------------------------------------------


CentOS7弃用以前的iptables使用firewall做防火墙,如果要尝试之前防火墙修改开放端口方式可以关闭firewall,安装以前的iptables


停止firewall,与之对应的是开启。systemctl start firewalld

systemctl stop firewalld

禁止firewall开机启动

systemctl disable firewalld

安装iptables-services

yum install iptables-services

打开iptables的配置文件

vi文本编辑器

输入以下内容后保存

# 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

如果配置文件中已有内容则只需添加要打开的端口号即可,添加如下行

-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之前

vi /etc/sysconfig/iptables


:wq! #保存退出后重启,对应的开始命令是systemctl start iptables

systemctl restart iptables

设置iptables防火墙开机启动

systemctl enable iptables


转载于:https://blog.51cto.com/liuzhenlife/1889058