Điều này là không thể. iptables
kiểm soát Netfilter, đây là bộ lọc gói IP (tường lửa) hoạt động trên OSI cấp 3 và 4. Tên miền DNS là thứ cấp cao hơn (và hơi trực giao) hơn thế.
Bạn có thể kiểm soát quyền truy cập vào một số Các địa chỉ IP (L3) và Cổng TCP/UDP (L4) với Netfilter.
Nếu bạn muốn kiểm soát quyền truy cập vào các trang web, bạn có các tùy chọn sau:
- giải quyết trước tên DNS, lấy địa chỉ IP và đưa địa chỉ đó vào tường lửa. AFAIK
iptables
đang tự làm điều đó khi bạn đặt cho nó một tên miền; thứ mà nó cấu hình bên trong Netfilter là địa chỉ IP được phân giải cho tên đó. Khi chủ sở hữu của miền đó quyết định thay đổi địa chỉ IP, quy tắc của bạn sẽ không còn áp dụng nữa. Nếu có nhiều hơn một trang web được lưu trữ trên máy chủ có địa chỉ IP này (tức là có một máy chủ lưu trữ ảo lưu trữ một số tên), bạn sẽ cho phép chúng hoàn toàn hoặc vô hiệu hóa chúng hoàn toàn. Đây là những gì bạn dường như đang làm ngay bây giờ;
- một proxy HTTP(s) kiểm tra các tên miền được yêu cầu và cấm truy cập vào một số tên miền. Các phát minh hiện đại như ECH (eSNI) sẽ giảm sức mạnh của bạn xuống để chỉ kiểm soát quyền truy cập vào các dải IP, như với tường lửa đơn giản, vì nó khiến bạn không thể thoát ra tên máy chủ nào được yêu cầu;
- bộ lọc DNS, cấu hình miền nào mà trình phân giải đệ quy của bạn sẽ phân giải cho máy khách và miền nào sẽ không.Một lần nữa, các phát minh hiện đại như DNS-over-HTTP (của Cloudflare), sẽ suy ra khả năng của bạn để làm điều đó, bởi vì máy chủ DNS của bạn sẽ không còn chịu trách nhiệm phân giải tên và bạn không thể biết tên máy chủ nào đã được yêu cầu;
- Kiểm tra gói sâu (DPI). Và một lần nữa, Internet hiện đại rõ ràng đang hướng tới việc vô hiệu hóa khả năng kiểm tra lưu lượng của bên thứ ba.