centos 7 为啥用systemctl start firewalld开启防火墙依然能SSH远程登录? 难道TCP22端口没有被封上

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos 7 为啥用systemctl start firewalld开启防火墙依然能SSH远程登录? 难道TCP22端口没有被封上相关的知识,希望对你有一定的参考价值。

参考技术A 默认的public加了ssh这个服务了追问

谢谢您这么快回答,能否把您的回答再展开详细说明一下原理。
因为我觉得是,一旦systemctl start firewalld防火墙开启后,缺省是一切端口都关闭,需要打开哪个,再打开那个。不知这个说法对不对
22端口应该也是关闭的,用
# firewall-cmd --zone=public --query-port=22/tcp命令的结果是:no
另外启动防火墙后,这个机器的IP仍能被ping通,您觉得正常么

sh Centos7 systemctl

# 停止 firewalld
systemctl stop firewalld.service
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

iptables防火墙(这里iptables已经安装,下面进行配置)
vi/etc/sysconfig/iptables #编辑防火墙配置文件
# sampleconfiguration for iptables service
# you can edit thismanually or use system-config-firewall
# please do not askus to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT[0:0]
:OUTPUT ACCEPT[0:0]
-A INPUT -m state--state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -jACCEPT
-A INPUT -i lo -jACCEPT
-A INPUT -p tcp -mstate --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -jACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080-j ACCEPT
-A INPUT -j REJECT--reject-with icmp-host-prohibited
-A FORWARD -jREJECT --reject-with icmp-host-prohibited
COMMIT
#启动: 
systemctl start firewalld
#查看状态: 
systemctl status firewalld 
#停止: 
systemctl disable firewalld
#禁用: 
systemctl stop firewalld

#启动一个服务:
systemctl start firewalld.service
#关闭一个服务:
systemctl stop firewalld.service
#重启一个服务:
systemctl restart firewalld.service
#显示一个服务的状态:
systemctl status firewalld.service
#在开机时启用一个服务:
systemctl enable firewalld.service
#在开机时禁用一个服务:
systemctl disable firewalld.service
#查看服务是否开机启动:
systemctl is-enabled firewalld.service
#查看已启动的服务列表:
systemctl list-unit-files|grep enabled
#查看启动失败的服务列表:
systemctl --failed

#查看版本: 
firewall-cmd --version
#查看帮助: 
firewall-cmd --help
#显示状态: 
firewall-cmd --state
#查看所有打开的端口: 
firewall-cmd --list-all
firewall-cmd --zone=public --list-ports
#更新防火墙规则: 
firewall-cmd --reload
#查看区域信息: 
firewall-cmd --get-active-zones
#查看指定接口所属区域: 
firewall-cmd --get-zone-of-interface=eth0
#拒绝所有包:
firewall-cmd --panic-on
#取消拒绝状态: 
firewall-cmd --panic-off
#查看是否拒绝: 
firewall-cmd --query-panic

#添加
firewall-cmd --zone=public --add-port=80/tcp --permanent   # (--permanent永久生效,没有此参数重启后失效)
#重新载入
firewall-cmd --reload
#查看
firewall-cmd --zone=public --query-port=80/tcp
#删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent

# 对指定 IP 添加端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.142.166" port protocol="tcp" port="5432" accept"

以上是关于centos 7 为啥用systemctl start firewalld开启防火墙依然能SSH远程登录? 难道TCP22端口没有被封上的主要内容,如果未能解决你的问题,请参考以下文章

CentOS 7 上systemctl 的用法

CentOS 7.0 服务管理 – systemctl 命令

CentOS 7上利用systemctl添加自定义系统服务

centos 7 systemctl

CentOS 7 上systemctl 的用法

CentOS 7使用systemctl如何补全服务名称