linux防火墙使用(开放端口)

linux防火墙使用(开放端口)

这里针对linux7以上的版本,介绍两个命令。

  • systemctl xxx firewalld
  • firewall-cmd xxx

一、查看防火墙状态

  1. 完整防火墙状态查看
    systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2023-06-29 05:07:07 CST; 15h ago
     Docs: man:firewalld(1)
 Main PID: 886 (firewalld)
    Tasks: 2
   Memory: 35.6M
   CGroup: /system.slice/firewalld.service
           └─886 /usr/bin/python3 /usr/sbin/firewalld --nofork --nopid
  1. 便捷查看命令
    firewall-cmd --state

running:则表示防火墙正在运行。

二、开启、关闭、禁止防火墙

  1. 开启防火墙
    systemctl start firewalld.service

  2. 关闭防火墙
    systemctl stop firewalld.service

  3. 开机启用防火墙
    systemctl enable firewalld.service

  4. 开机禁止防火墙
    systemctl disable firewalld.service

三、查看default-zone和active-zones

  • firewall-cmd --get-default-zone
  • firewall-cmd --get-active-zones
[root@localhost ~]# firewall-cmd --get-default-zone
public
[root@localhost ~]# firewall-cmd --get-active-zones
public
  interfaces: ens160

四、查看已放行服务列表和可放行服务

  • firewall-cmd --list-services
  • firewall-cmd --get-services
[root@localhost ~]# firewall-cmd --list-services
dhcpv6-client mdns ssh
[root@localhost ~]# firewall-cmd --get-services
... dhcp dhcpv6 dhcpv6-client distcc dns docker-registry 
docker-swarm ftp ... git gre mysql nfs nfs3 nmea-0183 nrpe 
ntp nut openvpn pop3 pop3s postgresql privoxy proxy-dhcp 
ptp redis ... smtps ssh steam-streaming svdrp svn syncthing 
telnet tftp tftp-client ...

五、查看某个端口是否放行

firewall-cmd --query-port=端口号/tcp

[root@localhost ~]# firewall-cmd --query-port=80/tcp
no

六、查看当前所有放行的端口

firewall-cmd --zone=public --list-ports

七、放行指定服务(服务对应的默认端口即放行)

如放行http服务,则对应的80端口即放行。
参数:permanent,表示永久放行。

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=tftp

八、放行指定的端口(自定义端口)

--add-port 后跟需要放行的端口号。
参数:permanent,表示永久放行。
firewall-cmd --zone=public --add-port=80/tcp --permanent

九、重启/重载防火墙配置

修改防火墙配置后,需要重启防火墙或者重新载入配置才可以生效。

  • systemctl restart firewalld.service
  • firewall-cmd --reload

十、删除端口放行

firewall-cmd --zone= public --remove-port=80/tcp --permanent

posted @ 2023-11-23 15:12  yysocket  阅读(549)  评论(0)    收藏  举报