事象
サーバの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内に指定されているサービスを指定する必要があり、この中のサービスは小文字で記載されているため。
コメント