Aby odpowiedzieć na prawdziwe pytanie, jak utworzyć własny plik aplikacji, wystarczy wiedzieć, że używa on formatu pliku Windows INI (fuj).
[appname]
title=1-liner here
description=a longer line here
ports=1,2,3,4,5,6,7,8,9,10,30/tcp|50/udp|53
Linia portów może określać wiele portów za pomocą / udp lub / tcp, aby ograniczyć protokół, w przeciwnym razie domyślnie oba. Musisz podzielić sekcje protokołu za pomocą |.
Tak więc dla prawdziwego zestawu przykładów stworzyłem:
[puppet]
title=puppet configuration manager
description=Puppet Open Source from http://www.puppetlabs.com/
ports=80,443,8140/tcp
[AMANDA]
title=AMANDA Backup
description=AMANDA the Advanced Maryland Automatic Network Disk Archiver
ports=10080
Możesz wyświetlić wiele wersji aplikacji w jednym pliku, na przykład tę z apache:
===start of apache2.2-common file===
[Apache]
title=Web Server
description=Apache v2 is the next generation of the omnipresent Apache web server.
ports=80/tcp
[Apache Secure]
title=Web Server (HTTPS)
description=Apache v2 is the next generation of the omnipresent Apache web server.
ports=443/tcp
[Apache Full]
title=Web Server (HTTP,HTTPS)
description=Apache v2 is the next generation of the omnipresent Apache web server.
ports=80,443/tcp
===end of file===
Po zdefiniowaniu pliku aplikacji włóż go /etc/ufw/applications.d
, a następnie powiedz ufw, aby ponownie załadował definicje aplikacji
ufw app update appname
ufw app info appname
Użyj go z czymś takim jak:
ufw allow from 192.168.1.10 to any app amanda
ufw allow amanda
zakładając, że 192.168.1.10 to adres IP twojego serwera amanda.
xx/tcp|yy/udp
. Innymi słowy, oddzielenie protokołów powinno być potokiem, a nie przecinkiem, jak w twoim przykładzie