<?xml version="1.0" encoding="utf-8"?>
<service>
<short>WWW (HTTP)</short>
<description>HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.</description>
<port protocol="tcp" port="80"/>
</service>
要允许公共区域中的接口传入HTTP流量(端口80),仅针对当前会话(运行时配置)类型:
sudo firewall-cmd --zone=public --add-service=http
如果要修改默认区域,可以省略--zone标志。
要验证是否已成功添加服务,请使用--list-services标志:
sudo firewall-cmd --zone=public --list-services
输出:
ssh dhcpv6-client http
如果你想在重新启动后保持端口80打开,你需要再次输入相同的命令,但这次使用--permanent标志:
sudo firewall-cmd --permanent --zone=public --add-service=http
使用--list-services和--permanent标志来验证您的更改:
sudo firewall-cmd --permanent --zone=public --list-services
输出:
ssh dhcpv6-client http
删除服务的语法与添加服务时的语法相同。 只需使用--remove-service而不是--add-service标志:
sudo firewall-cmd --zone=public --remove-service=http --permanent
上面的命令将从公共区域永久配置中删除http服务。
如果您正在运行没有适当服务的Plex Media Server等应用程序,该怎么办?
【Plex Media Server进入Ubuntu和其他Linux发行版的Snap生态应用 见 https://www.linuxidc.com/Linux/2018-10/154783.htm】
在这种情况下,您有两种选择。 您可以打开相应的端口或定义新的FirewallD服务。
例如,Plex服务器侦听端口32400并使用TCP,使用--add-port =标志打开当前会话的公共区域中的端口:
sudo firewall-cmd --zone=public --add-port=32400/tcp
协议可以是tcp或udp。
要验证端口是否已成功添加,请使用--list-ports标志:
sudo firewall-cmd --zone=public --list-ports
32400/tcp
要在重新启动后保持端口32400打开,请通过使用--permanent标志运行相同的命令将规则添加到永久设置。
删除端口的语法与添加端口时的语法相同。 只需使用--remove-port而不是--add-port标志。
sudo firewall-cmd --zone=public --remove-port=32400/tcp
创建新的FirewallD服务