目录
前言 {#i}
firewalld
在centos和ubuntu上已经是标配了,整理几个常用的操作,方便日后使用。
放行端口&转发端口 {#i-2}
开放TCP/UDP端口:
firewall-cmd --zone=public --add-port=端口/tcp --permanent
firewall-cmd --zone=public --add-port=端口/udp --permanent
启用转发端口:
firewall-cmd --add-masquerade --permanent
添加TCP/UDP端口转发:
firewall-cmd --add-forward-port=port=本地端口:proto=tcp:toaddr=目的IP:toport=目的端口 --permanent
firewall-cmd --add-forward-port=port=本地端口:proto=udp:toaddr=目的IP:toport=目的端口 --permanent
按服务放行 {#i-3}
firewall-cmd --get-services #查询所有支持的服务
firewall-cmd --query-service ftp #查询是否支持ftp服务,返回yes或者no
firewall-cmd --zone=public --add-service=http --permanent #放行http服务
其实一个服务对应一个端口,每个服务对应 /usr/lib/firewalld/services
下面一个 xml
文件,如果开启了某个服务并放行了对应端口,但是没有绑定firewall中对应的服务,则不能通过外网访问。
所以当修改了服务的默认端口后,仍希望通过放行端口来实现,则需要将对应服务 xml
中端口同步修改。
禁用端口&删除转发 {#i-4}
删除TCP/UDP端口:
firewall-cmd --zone=public --remove-port=端口/tcp --permanent
firewall-cmd --zone=public --remove-port=端口/udp --permanent
删除端口转发:
#禁用转发端口
firewall-cmd --remove-masquerade --permanent
#删除TCP端口转发
firewall-cmd --remove-forward-port=port=本地端口:proto=tcp:toaddr=目的IP:toport=目的端口 --permanent
#删除UDP端口转发
firewall-cmd --remove-forward-port=port=本地端口:proto=udp:toaddr=目的IP:toport=目的端口 --permanent
常规操作命令 {#i-5}
- 应用配置:
firewall-cmd --reload
- 启动防火墙:
systemctl start firewalld
- 开机自启动:
systemctl enable firewalld
- 关闭防火墙:
systemctl stop firewalld
- 关闭开机自启动:
systemctl disable firewall