Firewalld : 基本操作2023/02/20 |
Firewalld の基本操作です。
Firewalld における各種サービスの定義はゾーンに対して設定します。
設定したゾーンとネットワークインターフェースを関連付けることで設定が有効となります。 |
|
[1] | Firewalld を利用するには、サービスを起動しておく必要があります。 |
[root@dlp ~]# systemctl enable --now firewalld |
[2] | デフォルトでは、以下のように [public] ゾーンがデフォルトゾーンとしてネットワークインターフェースに適用され、cockpit, dhcpv6-client, ssh サービスが許可されています。[firewall-cmd] コマンドで様々な操作を行う際に、適用先のゾーン指定 (--zone=***) を省略した場合は、このデフォルトゾーンに対して設定が適用されます。 |
# デフォルトゾーンを表示 [root@dlp ~]# firewall-cmd --get-default-zone public # 現在の設定を表示 [root@dlp ~]# firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: enp1s0 sources: services: cockpit dhcpv6-client ssh ports: protocols: forward: yes masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: # 定義されている全てのゾーンを表示 [root@dlp ~]# firewall-cmd --list-all-zones block target: %%REJECT%% icmp-block-inversion: no interfaces: sources: services: ports: protocols: forward: yes masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: ..... ..... # ゾーンを指定して許可されているサービスを表示 [root@dlp ~]# firewall-cmd --list-service --zone=external ssh # デフォルトゾーンを変更する場合 [root@dlp ~]# firewall-cmd --set-default-zone=external success # 特定のインターフェースのゾーンを変更 [root@dlp ~]# firewall-cmd --change-interface=enp1s0 --zone=external success [root@dlp ~]# firewall-cmd --list-all --zone=external external (active) target: default icmp-block-inversion: no interfaces: enp1s0 sources: services: ssh ports: protocols: forward: yes masquerade: yes forward-ports: source-ports: icmp-blocks: rich rules: |
[3] | 定義されているサービスの一覧を表示する。 |
[root@dlp ~]# firewall-cmd --get-services RH-Satellite-6 RH-Satellite-6-capsule 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 collectd condor-collector ctdb dhcp dhcpv6 dhcpv6-client distcc dns dns-over-tls docker-registry docker-swarm dropbox-lansync elasticsearch etcd-client etcd-server finger foreman foreman-proxy freeipa-4 freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp galera 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-api kube-apiserver kube-control-plane kube-controller-manager kube-scheduler kubelet-worker ldap ldaps libvirt libvirt-tls lightning-network llmnr managesieve matrix mdns memcache minidlna mongodb mosh mountd mqtt mqtt-tls ms-wbt mssql murmur mysql nbd netbios-ns 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 rquotad 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 tile38 tinc tor-socks transmission-client upnp-client vdsm vnc-server wbem-http wbem-https wireguard wsman wsmans xdmcp xmpp-bosh xmpp-client xmpp-local xmpp-server zabbix-agent zabbix-server # 定義されているサービスの定義ファイルは以下の場所に保管されている # 独自に定義を追加する場合は当該ディレクトリに XML ファイルを保存する [root@dlp ~]# ls /usr/lib/firewalld/services amanda-client.xml mqtt.xml amanda-k5-client.xml mssql.xml amqps.xml ms-wbt.xml amqp.xml murmur.xml apcupsd.xml mysql.xml ..... ..... minidlna.xml xmpp-client.xml mongodb.xml xmpp-local.xml mosh.xml xmpp-server.xml mountd.xml zabbix-agent.xml mqtt-tls.xml zabbix-server.xml |
[4] | サービスを追加/削除する。 恒久的に変更する場合は [--permanent] または [--runtime-to-permanent] オプションを指定する。 上記オプションを指定しない場合は、システムを再起動すると設定は元に戻る。 |
# 例として [http] を追加する [root@dlp ~]# firewall-cmd --add-service=http success [root@dlp ~]# firewall-cmd --list-service cockpit dhcpv6-client http ssh # 例として [http] を削除する [root@dlp ~]# firewall-cmd --remove-service=http success [root@dlp ~]# firewall-cmd --list-service cockpit dhcpv6-client ssh # 恒久的に追加する : [--permanent] - 永続設定に追加する [root@dlp ~]# firewall-cmd --add-service=http --permanent success [root@dlp ~]# firewall-cmd --list-service cockpit dhcpv6-client ssh # リロードして現在のランタイム設定に永続設定を読み込むと有効になる [root@dlp ~]# firewall-cmd --reload success
[root@dlp ~]#
firewall-cmd --list-service cockpit dhcpv6-client http ssh # 恒久的に追加する : [--runtime-to-permanent] - 現在のランタイム設定を永続設定に反映する [root@dlp ~]# firewall-cmd --add-service=http success [root@dlp ~]# firewall-cmd --list-service cockpit dhcpv6-client http ssh [root@dlp ~]# firewall-cmd --runtime-to-permanent success |
[5] | ポートを追加/削除する。 恒久的に変更する場合は、[4] の例と同様に [--permanent] または [--runtime-to-permanent] オプションを指定する。 |
# 例として [TCP 465] を追加する [root@dlp ~]# firewall-cmd --add-port=465/tcp success
[root@dlp ~]#
firewall-cmd --list-port 465/tcp # 例として [TCP 465] を削除する [root@dlp ~]# firewall-cmd --remove-port=465/tcp success [root@dlp ~]# firewall-cmd --list-port |
[6] | ICMP のタイプを追加/削除する。 |
# 例として [echo-request] を追加する [root@dlp ~]# firewall-cmd --add-icmp-block=echo-request success [root@dlp ~]# firewall-cmd --list-icmp-blocks echo-request # 例として [echo-request] を削除する [root@dlp ~]# firewall-cmd --remove-icmp-block=echo-request success [root@dlp ~]# firewall-cmd --list-icmp-blocks # 指定可能な ICMP タイプの一覧を表示する [root@dlp ~]# firewall-cmd --get-icmptypes address-unreachable bad-header beyond-scope communication-prohibited destination-unreachable echo-reply echo-request failed-policy fragmentation-needed host-precedence-violation host-prohibited host-redirect host-unknown host-unreachable ip-header-bad neighbour-advertisement neighbour-solicitation network-prohibited network-redirect network-unknown network-unreachable no-route packet-too-big parameter-problem port-unreachable precedence-cutoff protocol-unreachable redirect reject-route required-option-missing router-advertisement router-solicitation source-quench source-route-failed time-exceeded timestamp-reply timestamp-request tos-host-redirect tos-host-unreachable tos-network-redirect tos-network-unreachable ttl-zero-during-reassembly ttl-zero-during-transit unknown-header-type unknown-option |
Sponsored Link |