Firewalld - 数字のファイアウォールポート番号がサービス名にマップされる場所はどこですか?

Firewalld - 数字のファイアウォールポート番号がサービス名にマップされる場所はどこですか?
# firewall-cmd --permanent --add-service=nfs
# filewall-cmd --permanent --add-service=rpc-bind

RHEL / CentOS 7.9で上記のようにすると、ファイアウォールでどの番号のポート番号が開きますか?

ファイアウォールポート番号のサービス名(rpc-bindなど)のマッピングはどこで定義されていますか?

/etc/firewalld/zones/myzone.xml最終的にすべてが次のように帰結すると信じるのは正しいですか?

それはまたは数字tcpですか?udp

# sshd
  <port protocol="tcp" port="22"/>
# nfs
  <port protocol="tcp" port="2049"/>
  <port protocol="udp" port="2049"/>

答え1

重要な要約:Firewalldにコンパイルされました。ソースコードを参照してください。

長い答え:一度見てくださいFirewalldソースコードストアのREADME

使用されるすべてのサービスはfirewalldディレクトリのxmlファイルで定義されていますconfig/services。たとえば、このrpc-bind.xmlファイルには次のものが含まれます。

編集する:rhel/centos 7 では、この場所が/usr/lib/firewalld/servicesxml ファイルで使用されます。

<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>rpc-bind</short>
  <description>Remote Procedure Call Bind</description>
  <port protocol="tcp" port="111"/>
  <port protocol="udp" port="111"/>
</service>

rpc-bind を tcp および udp ポート 111 に固定します。同様に、NFS(nfsv4)は次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>NFS4</short>
  <description>The NFS4 protocol is used to share files via TCP networking. You will need to have the NFS tools installed and properly configure your NFS server for this option to be useful.</description>
  <port protocol="tcp" port="2049"/>
</service>

NFSv3( nfs3)に類似:

<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>NFS3</short>
  <description>The NFS3 protocol is used to share files. You will need to have the NFS tools installed and properly configure your NFS server for this option to be useful.</description>
  <port protocol="tcp" port="2049"/>
  <port protocol="udp" port="2049"/>
</service>

SSHについて質問しました。

<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>SSH</short>
  <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
  <port protocol="tcp" port="22"/>
</service>

これらのXML定義はFirewalldにコンパイルされます。

関連情報