Konfigurasi kelihatan munasabah pada pandangan pertama:

acl team_a myportname 3128 src 198.51.100.0/24

Tetapi definisi ACL hanya mempunyai satu jenis. Di sini myportname ialah jenisnya; menambah perkataan src tidak memulakan ujian kedua. Perkataan selebihnya tergolong dalam senarai nilai jenis pertama. Baris itu tidak menyatakan “listener ini dan rangkaian klien ini”.

Beri nama pada setiap syarat

Gunakan nama untuk socket mendengar dan ACL sumber yang berasingan. Petikan ini menggunakan alamat dokumentasi, yang mesti diganti dengan alamat sesuai untuk penggunaan:

http_port 192.0.2.10:3128 name=team_a_port
acl team_a_port myportname team_a_port
acl team_a_clients src 198.51.100.0/24

http_access allow team_a_port team_a_clients
http_access deny all

Letakkan peraturan benarkan selepas perlindungan sedia ada untuk port destinasi tidak selamat, sasaran CONNECT terhad dan akses pengurusan. Petikan ini menggambarkan syarat klien/listener; ia tidak menggantikan perlindungan tersebut.

Syarat pada satu baris http_access digabungkan dengan AND. Dua baris benarkan berasingan akan meluluskan setiap syarat secara bebas, yang akan mengubah dasar dengan banyaknya. Beberapa nilai dalam satu ACL biasanya memberikan alternatif untuk ujian tunggal itu.

Pilih laluan keluar secara berasingan

Listener yang sepadan juga boleh digunakan oleh tcp_outgoing_address untuk memilih alamat sumber tempatan. Itu pemilihan penghalaan, bukan kebenaran menggunakan proksi. Peraturan alamat keluar tidak boleh membuat permintaan yang ditolak melepasi http_access.

Jika konfigurasi berbilang alamat berhenti berfungsi selepas peningkatan, pisahkan buktinya: ralat penghuraian menunjuk kepada sintaks konfigurasi; penafian akses menunjuk kepada padanan peraturan; permintaan yang dibenarkan dengan laluan keluar salah menunjuk kepada pemilihan keluar atau NAT kemudian. Mengubah ketiga-tiganya serentak menjadikan kesilapan ACL kecil jauh lebih sukar ditemui.

Artikel berkaitan