3 điểm bởi GN⁺ 2026-02-03 | 1 bình luận | Chia sẻ qua WhatsApp
  • Cẩm nang thực tiễn về xây dựng tường lửa và bảo mật mạng xoay quanh PF, bộ lọc gói tin của OpenBSD
  • Ở bản mới nhất, sách bao gồm các tính năng hiện đại như IPv6, cấu hình dual-stack, traffic shaping, NAT, mạng không dây, chặn spam, failover, logging
  • Trình bày các phương pháp cấu hình cụ thể như viết bộ quy tắc IPv4·IPv6, bảo mật mạng không dây, nâng cao tính sẵn sàng với CARP·relayd, xây dựng tường lửa thích ứng
  • Đồng thời đề cập đến hệ thống điều khiển lưu lượng mới nhất của OpenBSD và cách tận dụng ALTQ, Dummynet trên FreeBSD
  • Tài liệu tham khảo cốt lõi cho vận hành mạng ổn định và linh hoạt trong môi trường OpenBSD 7.x, FreeBSD 14.x, NetBSD 10.x

Tổng quan về PF và quản trị mạng

  • PF(Packet Filter) được mô tả là công cụ mạng cốt lõi của OpenBSD và FreeBSD, đồng thời là thành phần tường lửa thiết yếu trong môi trường Internet hiện đại
    • Trong bối cảnh nhu cầu băng thông tăng cao và các mối đe dọa bảo mật ngày càng lớn, quản trị viên hệ thống cần có kiến thức chuyên sâu về PF
  • Cuốn sách bao quát các tính năng mới nhất và phương pháp cấu hình của PF, đồng thời cung cấp cách tiếp cận thiên về thực tiễn

Những cập nhật chính của bản 4

  • Ở bản 4, sách bao gồm các nội dung mới như IPv6 và cấu hình dual-stack, hệ thống traffic shaping dựa trên queue và mức ưu tiên, NAT và chuyển hướng, mạng không dây, chặn spam, failover, logging
  • Hướng tới các phiên bản OpenBSD 7.x, FreeBSD 14.x, NetBSD 10.x

Các kỹ thuật chính có thể học được

  • Viết bộ quy tắc lưu lượng IPv4 và IPv6: Trình bày cách cấu hình trong nhiều môi trường mạng khác nhau như LAN, NAT, DMZ, bridge
  • Xây dựng và tăng cường bảo mật mạng không dây: Thiết lập access point, tận dụng authpf và các tính năng hạn chế truy cập
  • Tối đa hóa tính sẵn sàng của dịch vụ: Vận hành dịch vụ linh hoạt thông qua CARP, relayd và chuyển hướng
  • Xây dựng tường lửa thích ứng: Triển khai các chức năng phòng vệ chủ động trước attacker và spammer
  • Điều khiển và giám sát lưu lượng: Sử dụng hệ thống traffic shaping mới nhất của OpenBSD, cấu hình ALTQ·Dummynet trên FreeBSD và các công cụ trực quan hóa dựa trên NetFlow

Cấu trúc cuốn sách

  • Gồm tổng cộng 10 chương và 2 phụ lục
    • Chương 1: Xây dựng mạng
    • Chương 2: Cơ bản về cấu hình PF
    • Chương 3: Ứng dụng trong môi trường thực tế
    • Chương 4: Mạng không dây
    • Chương 5: Mạng phức tạp
    • Chương 6: Phòng thủ chủ động
    • Chương 7: Traffic shaping
    • Chương 8: Dự phòng và tính sẵn sàng của tài nguyên
    • Chương 9: Logging·giám sát·thống kê
    • Chương 10: Tối ưu hóa cấu hình
    • Phụ lục A: Tài liệu tham khảo / Phụ lục B: Hỗ trợ phần cứng

Giới thiệu tác giả

  • Peter N.M. Hansteentư vấn viên DevOps và tác giả sống tại Bergen, Na Uy, với nhiều bài viết và bài thuyết trình liên quan đến OpenBSD và FreeBSD
  • thành viên tích cực của cộng đồng Freenix, ông đã viết cuốn sách này như một bản mở rộng của tutorial PF trực tuyến
  • Trên blog cá nhân (bsdly.blogspot.com), ông đăng các bài viết về networking và từng tham gia với tư cách thành viên của đội triển khai RFC 1149

1 bình luận

 
GN⁺ 2026-02-03
Ý kiến trên Hacker News
  • Gần đây tôi muốn biết trải nghiệm dùng PF(Packet Filter) trong môi trường vận hành thực tế ra sao
    Tôi mới chỉ dùng nftables, nên muốn biết phía PF cho cảm giác thế nào

    • Tôi đang quản lý pf.conf với khoảng 400 quy tắc trải dài trên khoảng 12 VLAN
      Cấu trúc của nó khá trực quan và thú vị, giống như đang biên tập mã
      Phía trên là các khai báo host, network, port, rồi đến phần NAT/egress, sau đó là phần quy tắc pass in/out theo từng VLAN
      Tôi theo dõi lưu lượng bằng cách tail giao diện pflog0 trong tmux, và cũng đã tạo sẵn một hàm trong .profile để dễ chỉnh sửa và áp dụng cấu hình pf
      function pfedit {
          vi /etc/pf.conf && \
          pfctl -f /etc/pf.conf && \
          { c=`pfctl -s rules | wc -l | tr -d ' '`; printf 'loaded %s rules\n' "$c"; }
      }
      
      Nó mở tệp để chỉnh sửa, xác thực rồi nạp lại các quy tắc, và nếu thành công thì in ra số lượng quy tắc
    • Theo kinh nghiệm của tôi, PF có cách tư duy về lọc và NAT khá giống các tường lửa thương mại
      nftables trên Linux vẫn giữ cấu trúc “chain” của khái niệm ipchains cũ nên không trực quan lắm
      Với PF thì chỉ cần lập chính sách theo in/out và theo giao diện là được
      So với cách thêm/xóa chính sách bằng lệnh của nftables, tôi thấy cách quản lý xoay quanh tệp cấu hình sạch sẽ hơn nhiều
    • Nếu so pf với iptables thì điểm khác biệt lớn nhất là cách áp dụng quy tắc và xử lý log
      Với pf, gói tin đi qua toàn bộ tập quy tắc và quy tắc khớp cuối cùng sẽ được áp dụng (có thể rút ngắn bằng “quick”)
      Log không tự động tích hợp vào syslog nên cần cấu hình riêng
      Cá nhân tôi thích pf hơn, nhưng không khuyến nghị cho người mới bắt đầu
    • Nếu chỉ cần lọc gói đơn giản thì PF là đủ, nhưng ngày nay nhiều trường hợp threat intelligence và phân tích giao thức là bắt buộc
      Có thể triển khai bằng script với pf, nhưng không hiệu quả
      Trong môi trường vận hành thực sự thì cần các tính năng ở mức IPS hoặc tường lửa Layer 7
      Dù vậy, cho mục đích lọc đơn giản thì đây vẫn là một lựa chọn tốt
    • Điểm tuyệt nhất là không còn phải dùng iptables nữa
      Nhưng vì vô số bài hướng dẫn và mô hình LLM vẫn còn khắc sâu cú pháp iptables -A, có lẽ chúng ta sẽ còn phải nhớ nó rất lâu nữa
  • Trước đây tôi từng có cuốn sách này, và nó giúp ích rất nhiều cho cấu hình tường lửa, cân bằng tải, traffic shaping, v.v.
    Cuốn sách về thiết kế rootkit FreeBSD cũng rất hữu ích
    Bây giờ vì theo chủ nghĩa tối giản nên tôi đã dọn hết và phụ thuộc vào thông tin số, nên hơi thấy tiếc

    • Tôi cũng từng định dọn sách theo cách tương tự nhưng vẫn chưa làm được
      Những cuốn mua từ thời học OpenBSD vẫn còn đó, nhưng giờ hầu như tôi không tham khảo nữa
      Dù vậy, một góc OpenBSD trên giá sách trông vẫn khá ngầu
    • Máy đọc sách điện tử và thư viện sách điện tử không DRM có thể là một giải pháp thay thế
  • Tôi rất kính trọng No Starch Press. Chất lượng sách của họ thật sự rất tốt

    • Như Dr. Marshall Kirk McKusick đã trình bày tại một hội nghị BSD gần đây, No Starch dự kiến sẽ xuất bản bản ấn thứ 3 của Design and Implementation of the FreeBSD Operating System trong năm nay
    • Những cuốn tôi thích là các sách như Writing a C Compiler của Nora Sandler hay Building a Debugger của Sy Brand, tức các sách cho người đọc tự triển khai những hệ thống phức tạp
      Tôi mong sẽ có nhiều sách kiểu này hơn
    • Tôi mua trực tiếp ebook không DRM từ các nhà xuất bản như No Starch hay Leanpub
      Tôi tránh các nơi bán không tôn trọng độc giả
      Nếu người tiêu dùng không đòi hỏi điều kiện tốt hơn, cuối cùng có thể sẽ xuất hiện một cấu trúc độc quyền nơi sách đã mua có thể bị xóa tùy ý
    • Tôi thích cảm giác của sách giấy nên vẫn duy trì một thư viện nhỏ bằng sách in thật
      Chất lượng đóng gáy của No Starch vẫn rất tuyệt, nhưng gần đây sách POD(Print on Demand) của O’Reilly thì đắt mà chất lượng lại kém, khá đáng tiếc
    • No Starch là số một. Tôi đã học được rất nhiều từ sách của họ
  • PF là viết tắt của Packet Filter

    • Nhìn tiêu đề tôi thoáng tưởng là có phiên bản mới của Pathfinder
  • Nhân tiện, cuốn sách này nói về FreeBSD 14, nhưng trong FreeBSD 15 (phát hành vào tháng 12) thì PF được cập nhật lớn
    Xem thêm trong bài viết cập nhật trên blog Netgate

  • Tôi nghĩ sẽ rất hay nếu có một cuốn sách có phạm vi tương tự nhưng tập trung vào nftables
    Cuốn Linux Firewall của No Starch là bản năm 2008 nên dựa trên iptables

    • Tài liệu chính thức của nftables rất tốt
      Tốt nhất là tham khảo wiki nftables
    • Linux Firewalls của Steve Suehring có đề cập đến nftables
      Đây là một cuốn sách tốt để nắm các khái niệm cơ bản