多くの場合、アプリケーションをインストールした後、または他のデバイスを使用してシステム外の組み込みサービスにアクセスした後、ネットワークポートを開く必要があります。これは、特定のプロセスまたはネットワークサービスのタイプを識別してアクセスするために、ソフトウェア層によって定義される通信エンドポイントです。たとえば、SSH(Secure Shell Protocol)サービスのデフォルトポートは22です。これを使用して、特定のコンピューターにアクセスし、リモートで制御できます。同様に、CPanel、NextCloud、Apache、およびその他のさまざまなツールやソフトウェアには、独自のポート番号が付いています。ただし、ファイアウォールがインストールされている場合、ほとんどのポートはデフォルトでブロックされ、それらと通信するには、まず同じものを開く必要があります。
AlmaLinux 8でポート80または443を開きたいとしましょう。それでは、どうすればよいでしょうか。これを支援するために、ここにチュートリアルがあります。
学ぶ:
- Almalinux8またはCentOSとRHEL8を含むRockyLinuxにfirewalldをインストールする方法
- Firewalldを使用したAlmalinuxで80、443、3603、22などのポートを開いたり閉じたりします。
- ファイアウォール構成を再読み込みします。
- 開いているポートまたはサービスを一覧表示する方法
AlmaLinux8またはRockyでポートを開くコマンド
Firewalldが実行されているかどうかを確認する
システムのポートを開閉する前に、firewalldがAlmaLinux上にあり、正しく実行されていることを確認する必要があります。
ステータスの確認:
sudo systemctl status firewalld
実行されていない場合は、以下のコマンドを使用してください:
sudo systemctl start firewalld sudo systemctl enable firewalld
ええと、firewalldをインストールしておらず、インストールしたい人は、実行できます:
sudo dnf update sudo dnf install firewalld
開いているすべてのポートとサービスを一覧表示
特定のポートを開く前に、そのポートがfirewalldでまだアクティブになっておらず、その実行のためにパブリック接続を介したアクセスが許可されていないことを確認しましょう-
sudo firewall-cmd --list-all
したがって、以下のスクリーンショットでは、ポート443または3602が外部との通信を許可されていないことがはっきりとわかります。
FirewallDには、いくつかの事前設定されたサービスも付属しています。それらのサービスとそのポートに対して、ファイアウォールはデフォルトでパブリック通信を許可します。そして、SSH、Plex、Cockpitなどはそれらのいくつかです。コマンド-
を使用して、このようなすべてのサービスのリストを確認できます。firewall-cmd --get-services
出力: これらは、事前設定された状態でfirewalldで利用できるサービスであり、このチュートリアルの後のステップで指定されたコマンド構文で名前を使用するだけで開くことができます。
RH-Satellite-6 amanda-client amanda-k5-client amqp amqps apcupsd audit bacula bacula-client bb bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc bittorrent-lsd ceph ceph-mon cfengine cockpit condor-collector ctdb dhcp dhcpv6 dhcpv6-client distcc dns dns-over-tls docker-registry docker-swarm dropbox-lansync elasticsearch etcd-client etcd-server finger freeipa-4 freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master git grafana gre high-availability http https imap imaps ipp ipp-client ipsec irc ircs iscsi-target isns jenkins kadmin kdeconnect kerberos kibana klogin kpasswd kprop kshell kube-apiserver ldap ldaps libvirt libvirt-tls lightning-network llmnr managesieve matrix mdns memcache minidlna mongodb mosh mountd mqtt mqtt-tls ms-wbt mssql murmur mysql nfs nfs3 nmea-0183 nrpe ntp nut openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole plex pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy prometheus proxy-dhcp ptp pulseaudio puppetmaster quassel radius rdp redis redis-sentinel rpc-bind rsh rsyncd rtsp salt-master samba samba-client samba-dc sane sip sips slp smtp smtp-submission smtps snmp snmptrap spideroak-lansync spotify-sync squid ssdp ssh steam-streaming svdrp svn syncthing syncthing-gui synergy syslog syslog-tls telnet tentacle tftp tftp-client tile38 tinc tor-socks transmission-client upnp-client vdsm vnc-server wbem-http wbem-https wsman wsmans xdmcp xmpp-bosh xmpp-client xmpp-local xmpp-server zabbix-agent zabbix-server
ゾーンのリスト
どのサービスにもアクセスできますが、パブリックでのサービスを許可しているだけです。 ゾーン。ただし、情報として、他の利用可能なゾーンを使用する場合に備えて確認することもできます。
firewall-cmd --get-zones
出力-
block dmz drop external home internal nm-shared public trusted work
firewalldコマンドを使用してポートまたはサービスを開きます
現在、外部ネットワークからサービスにアクセスするためのデフォルトのゾーンは public 、および以下のコマンドの助けを借りて構文 、AlmaLinuxまたはRockyサーバーで任意のポートまたはサービスを開くことができます。
firewalld
で事前定義されているサービスを開くため HTTPなど またはOpenVPN 、サービス名を置き換える必要があります 以下のコマンド構文で-
sudo firewall-cmd --zone=public --permanent --add-service=service-name
http
を開きたいとしましょう またはopenvpn
、その場合、上記と同じ構文を次のように使用できます
sudo firewall-cmd --zone=public --permanent --add-service=openvpn
同様に、これらのサービスのポートは事前定義されていないため、ユーザーはこのコマンドを使用して手動で開くことができます。 type-port-numberを置き換えます 以下の構文で、開きたいポートを指定します。要件に応じてTCPをUDPに変更することもできます。
sudo firewall-cmd --zone=public --permanent --add-port type-port-number/tcp
例 –3602を開きたいとしましょう
sudo firewall-cmd --zone=public --permanent --add-port 3602/tcp
ファイアウォールのリロード
ファイアウォールをリロードする必要はありませんが、以前の設定が正常にフラッシュされ、パブリックゾーンに新しく追加されたサービスまたはポートが認識されるようにするには、サービスをリロードします。
sudo firewall-cmd --reload
ポートまたはサービスが正常にアクティブになっているかどうかは、それらを一覧表示することで確認できます。
firewall-cmd --list-all
AlmaLinuxまたはRockyLinux8でポート/サービスをブロックまたは閉じる手順
ステップ1: すでに開いているサービスまたはポートをブロックするには、上記で使用したのと同じコマンドを使用してそれらを開きます。ただし、アクティブなものが何かわからない場合は、コマンドを再度使用してすべてを一覧表示できます-
sudo firewall-cmd --list-all
ステップ2: ここで、ポート番号 443を閉じたいとします。 またはサービスをブロックするssh ファイアウォールで。構文は、それらを開くために使用したものと同じですが、オプション追加を使用する代わりに 削除を使用します 今回は。
一部のサービスを削除する構文-
firewall-cmd --zone=public --permanent --remove-service service-name
例 –サービスをブロックする場合 ssh
firewall-cmd --zone=public --permanent --remove-service ssh
一部のポート番号をブロックする構文:
firewall-cmd --zone=public --permanent --remove-port type-number
例 –ポート 443をブロックしましょう
sudo firewall-cmd --zone=public --permanent --remove-port 443
ファイアウォールのリロード:
sudo firewall-cmd --reload
まとめ:
このようにして、開いているポートとサービスをチェックするだけでなく、Rocky、CetnOS、RHEL8などのAlmalinuxLinuxの外部からの通信を許可およびブロックすることもできます。