Firewalld の基本操作のまとめです。
Firewalldにおける各種サービスの定義はゾーンに対して設定します。
設定したゾーンとネットワークインターフェイスを関連付けることで設定が有効となります。
Firewalldの自動起動を設定する
# systemctl enable firewalld Created symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service → /usr/lib/systemd/system/firewalld.service. Created symlink /etc/systemd/system/multi-user.target.wants/firewalld.service → /usr/lib/systemd/system/firewalld.service. #
Firewalldを起動する
# systemctl start firewalld
デフォルトゾーンを表示する
# firewall-cmd --get-default-zone public #
現在の設定を表示する
# firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: ens33 sources: services: cockpit dhcpv6-client ssh ports: protocols: forward: yes masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: #
定義されている全てのゾーンを表示する
# 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: (途中省略) #
ゾーンを指定して許可されているサービスを表示する
# firewall-cmd --list-service --zone=external ssh #
デフォルトゾーンを変更する場合
# firewall-cmd --set-default-zone=external success #
特定のインターフェイスのゾーンを変更する
# firewall-cmd --change-interface=ens33 --zone=external success # firewall-cmd --list-all --zone=external external (active) target: default icmp-block-inversion: no interfaces: ens33 sources: services: ssh ports: protocols: forward: yes masquerade: yes forward-ports: source-ports: icmp-blocks: rich rules:
定義されているサービスの一覧を表示する
# firewall-cmd --get-services RH-Satellite-6 RH-Satellite-6-capsule afp amanda-client amanda-k5-client amqp amqps apcupsd audit ausweisapp2 bacula bacula-client bareos-director bareos- file daemon bareos-storage bb bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin -testnet-rpc bittorrent-lsd ceph ceph-exporter ceph-mon cfengine checkmk-agen t cockpit collectd condor-collector cratedb ctdb dds dds-multicast dds-unicas t dhcp dhcp v6 dhcpv6-client distcc dns dns-over-tls docker-registry docker-s warm dropbox-lansync elasticsearch etcd-client etcd-server finger foreman for eman-proxy freeipa-4 freeipa-ldap freeipa-ldaps freeipa-replication freeipa-t rust ftp galera ganglia-client ganglia-master git gpsd grafana gre high-avail ability http http3 https ident imap imaps ipfs ipp ipp-client ipsec irc ircs iscsi-target isns jenkins kadmin kdeconnect kerberos kibana klogin kpasswd kp rop kshell kube-api kube-apiserver kube-control-plane kube-control-plane-secu re kube-controller-manager kube-controller-manager-secure kube-nodeport-servi ces kube-scheduler kube-scheuler-secure kube-worker kubelet kubelet-readonly kubelet-worker ldap ldaps libvirt libvirt-tls lightning-network llmnr llmnr-c lient llmnr-tcp llmnr-udp managesieve matrix mdns memcache minidlna mongodb m osh mountd mqtt mqtt-tls ms-wbt mssql murmur mysql nbd nebula netbios-ns netd ata-dashboard nfs nfs3 nmea-0183 nrpe ntp nut openvpn ovirt-imageio ovirt-sto rageconsole ovirt-vmconsole plex pmcd pmproxy pmwebapi pmwebapis pop3 pop3s p ostgresql privoxy prometheus prometheus-node-exporter proxy-dhcp ps2link ps3n etsrv ptp pulseaudio puppetmaster quassel radius rdp redis redis-sentinel rpc -bind rquotad rsh rsyncd rtsp salt-master samba samba-client samba-dc sane si p sips slp smtp smtp-submission smtps snmp snmptls snmptls-trap snmptrap spid eroak-lansync spotify-sync squid ssdp ssh steam-streaming svdrp svn syncthing syncthing-gui syncthing-relay synergy syslog syslog-tls telnet tentacle tftp tile38 tinc tor-socks transmission-client upnp-client vdsm vnc-server warpin ator wbem-http wbem-https wireguard ws-discovery ws-discovery-client ws-disco very-tcp ws-discovery-udp wsman wsmans xdmcp xmpp-bosh xmpp-client xmpp-local xmpp-server zabbix-agent zabbix-server zerotier #
定義ファイルの場所
定義されているサービスの定義ファイルは以下の場所に保管されています。
独自に定義を追加する場合は当該ディレクトリにXMLファイルを保存します。
# ls /usr/lib/firewalld/services RH-Satellite-6-capsule.xml galera.xml memcache.xml sane.xml RH-Satellite-6.xml ganglia-client.xml minidlna.xml sip.xml afp.xml ganglia-master.xml mongodb.xml sips.xml amanda-client.xml git.xml mosh.xml slp.xml amanda-k5-client.xml gpsd.xml mountd.xml smtp-submission.xml (途中省略) #
サービスを追加する
http(例)を追加する
# firewall-cmd --add-service=http success # firewall-cmd --list-service cockpit dhcpv6-client http ssh #
http(例)を削除する
# firewall-cmd --remove-service=http success # firewall-cmd --list-service cockpit dhcpv6-client ssh #
恒久的に追加する [–permanent]
恒久的に変更する場合は [–permanent] または [runtime-to-permanent] オプションを指定します。
上記オプションを指定しない場合はシステムを再起動すると設定は元に戻ります。
# firewall-cmd --add-service=http --permanent success # firewall-cmd --list-service cockpit dhcpv6-client ssh #
恒久的に追加する : [–runtime-to-permanent]
# firewall-cmd --add-service=http success # firewall-cmd --list-service cockpit dhcpv6-client http ssh # firewall-cmd --runtime-to-permanent success #
ポートを追加/削除する
恒久的に変更する場合は上記の例と同様に –permanent または –runtime-to-permanent オプションを指定します。
TCP 475(例)を追加する
# firewall-cmd --add-port=475/tcp success # firewall-cmd --list-port 475/tcp #
TCP 475(例)を削除する
# firewall-cmd --remove-port=465/tcp success # firewall-cmd --list_port #
ICMPのタイプを追加/削除する
ICMPとは「Internet Control Message Protocol」の略で、インターネット プロトコル(IP)による通信で発生したエラーの通知や、通信相手の動作確認、通信制御用メッセージのやり取りに使用されるプロトコルです。
echo-request(例)を追加する
# firewall-cmd --add-icmp-block=echo-request success # firewall-cmd --list-icmp-blocks echo-request #
echo-request(例)を削除する
# firewall-cmd --remove-icmp-block=echo-request success # firewall-cmd --list-icmp-blocks #
指定可能なICMPタイプの一覧を表示する
# firewall-cmd --get-icmptypes address-unreachable bad-header beyond-scope communication-prohibited destinat ion-unreachable echo-reply echo-request failed-policy fragmentation-needed ho st-precedence-violation host-prohibited host-redirect host-unknown host-unrea chable ip-header-bad neighbour-advertisement neighbour-solicitation network-p rohibited network-redirect network-unknown network-unreachable no-route packe t-too-big parameter-problem port-unreachable precedence-cutoff protocol-unrea chable redirect reject-route required-option-missing router-advertisement rou ter-solicitation source-quench source-route-failed time-exceeded timestamp-re ply timestamp-request tos-host-redirect tos-host-unreachable tos-network-redi rect tos-network-unreachable ttl-zero-during-reassembly ttl-zero-during-trans it unknown-header-type unknown-option #
設定を反映する
# firewall-cmd --reload # firewall-cmd --list-service cockpit dhcpv6-client http ssh #
コメント