# 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/services
xml ファイルで使用されます。
<?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(nfs
v4)は次のようになります。
<?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にコンパイルされます。