ノウハウ集〜firewalldでサービス指定で通信制御できない〜

事象

サーバのfirewalldサービスを利用して通信制限を実施している。
通信制限はサービス単位で制御しており、publicゾーンにFTPサービスの許可設定を追加して、設定反映のためfirewalldサービスを再起動したが、再起動に失敗する。

[root@test ~]# cat /etc/firewalld/zones/public.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  <service name="ssh"/>
  <service name="dhcpv6-client"/>
  <service name="cockpit"/>
  <service name="FTP"/> ※追加
  <forward/>
</zone>
[root@test ~]#
[root@test ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
     Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; preset: enabled)
     Active: active (running) since Sun 2024-11-24 17:25:45 JST; 3 weeks 0 days ago
       Docs: man:firewalld(1)
   Main PID: 3696 (firewalld)
      Tasks: 2 (limit: 22571)
     Memory: 5.3M
        CPU: 257ms
     CGroup: /system.slice/firewalld.service
             └─3696 /usr/bin/python3 -s /usr/sbin/firewalld --nofork --nopid

11月 24 17:25:45 test systemd[1]: Starting firewalld - dynamic firewall daemon...
11月 24 17:25:45 test systemd[1]: Started firewalld - dynamic firewall daemon.
[root@test ~]#
[root@test ~]# systemctl restart firewalld
[root@test ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
     Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; preset: enabled)
     Active: active (running) since Sun 2024-12-15 19:53:00 JST; 1s ago
       Docs: man:firewalld(1)
   Main PID: 25374 (firewalld)
      Tasks: 2 (limit: 22571)
     Memory: 33.7M
        CPU: 368ms
     CGroup: /system.slice/firewalld.service
             └─25374 /usr/bin/python3 -s /usr/sbin/firewalld --nofork --nopid

12月 15 19:53:00 test systemd[1]: Starting firewalld - dynamic firewall daemon...
12月 15 19:53:00 test systemd[1]: Started firewalld - dynamic firewall daemon.
12月 15 19:53:00 test firewalld[25374]: ERROR: Failed to load user configuration. Falling back to full stock configuration.
12月 15 19:53:00 test firewalld[25374]: ERROR: INVALID_SERVICE: Zone 'public': 'FTP' not among existing services
[root@test ~]#

原因

サービスの指定の際に大文字で指定していたことが原因。小文字を指定することで解消された。

サービスは/etc/services内に指定されているサービスを指定する必要があり、この中のサービスは小文字で記載されているため。

コメント

タイトルとURLをコピーしました