[Sebelum: Konfigurasi] [Daftar Isi] [Lanjut: Tabel]
Ketika pfctl(8) secara kebetulan menjumpai daftar selama memuat rangkaian aturan, membuat banyak macam aturan, satu untuk setiap nomor di dalam daftar. Sebagai contoh:
block out on fxp0 from { 192.168.0.1, 10.5.32.6 } to any
mendapatkan perluasan untuk:
block out on fxp0 from 192.168.0.1 to any
block out on fxp0 from 10.5.32.6 to any
Banyaknya daftar dapat ditapkan dalam aturan dan tidak terbatas untuk aturan penyaring:
rdr on fxp0 proto tcp from any to any port { 22 80 } -> \
192.168.0.6
block out on fxp0 proto { tcp udp } from { 192.168.0.1, \
10.5.32.6 } to any port { ssh telnet }
Catatan yang bertanda koma di antara daftar nomor adalah pilihan.
Nama makro harus diawali dengan huruf dan mungkin harus kata, angka dan garisbawah. Nama makro tidak dapat menyimpan kata seperti pass, out, queue, dan sebagainya.
ext_if = "fxp0"
block in on $ext_if from any to any
ini membuat makro dinamai ext_if. Ketika makro dirujuk setelah dibentuk, namanya didahului dengan karakter $.
Makro juga dapat mengembangkan daftar seperti:
friends = "{ 192.168.1.1, 10.0.2.5, 192.168.43.53 }"
Makro dapat diartikan rekursif. Sejak makro tidak dapat diperluas dengan tanda kutip sintak berikut harus digunakan:
host1 = "192.168.1.1"
host2 = "192.168.1.2"
all_hosts = "{" $host1 $host2 "}"
Makro $all_hosts sekarang perluasan untuk 192.168.1.1, 192.168.1.2.
[Sebelum: Konfigurasi] [Daftar Isi] [Lanjut: Tabel]