Tôi đang dùng Unifi UDM Pro làm gateway cho 2 VLAN:
- Mạng LAN chính (giao diện:
anh trai
, mạng con: 192.168.1.1/24
)
- Thiết bị IoT VLAN (giao diện:
anh3
, mạng con: 192.168.3.1/24
)
Mỗi máy chủ có máy chủ DNS cục bộ (Adguard Home) riêng (192.168.1.52
và 192.168.3.52
tương ứng). Đối với mỗi mạng con, tôi muốn ngăn khách hàng bỏ qua máy chủ DNS cục bộ được chỉ định qua DHCP. Để thực hiện việc này, tôi SSH vào UDM Pro và thực hiện các lệnh sau:
iptables -t nat -A PREROUTING -i br0 ! -s 192.168.1.52 ! -d 192.168.1.52 -p tcp --dport 53 -j DNAT --to 192.168.1.52
iptables -t nat -A PREROUTING -i br0 ! -s 192.168.1.52 ! -d 192.168.1.52 -p udp --dport 53 -j DNAT --to 192.168.1.52
iptables -t nat -A PREROUTING -i br3 ! -s 192.168.3.52 ! -d 192.168.3.52 -p tcp --dport 53 -j DNAT --to 192.168.3.52
iptables -t nat -A PREROUTING -i br3 ! -s 192.168.3.52 ! -d 192.168.3.52 -p udp --dport 53 -j DNAT --to 192.168.3.52
iptables -t nat -A POSTROUTING -p tcp --dport 53 -j MASQUERADE
iptables -t nat -A POSTROUTING -p udp --dport 53 -j MASQUERADE
Tôi kiểm tra những điều này bằng hai phương pháp chính: đào
và qua thiết bị WLAN (ví dụ: iPad):
Sử dụng đào
phương pháp, trước tiên tôi kiểm tra một truy vấn DNS trực tiếp và sau đó là một truy vấn đến máy chủ DNS của Google. Tôi chạy cả hai lệnh trên máy chủ vật lý cho máy chủ DNS của mình (vốn là thành viên của mọi Vlan thông qua Debian vlan
bưu kiện):
đào linux.org '@192.168.3.52' -b '192.168.3.52'
đào linux.org '@8.8.8.8' -b '192.168.3.52'
Lệnh đầu tiên ở trên hoạt động tốt. Cái thứ hai cho tôi một khoảng thời gian. Tôi hy vọng cái thứ hai vẫn hoạt động, ngoại trừ được chuyển qua 192.168.3.52
.
Nếu tôi chạy như vậy đào
các lệnh ở trên nhưng trên mạng LAN chính, cả hai đều hoạt động tốt và tôi có thể thấy cả hai truy vấn trên máy chủ DNS cục bộ của mình.
Tôi không chắc tại sao VLAN 3 không hoạt động trong trường hợp chuyển hướng, nhưng mạng LAN chính của tôi thì có. Ai đó có thể giúp tôi hiểu tại sao điều này không hiệu quả và chỉ cho tôi giải pháp hiệu quả không?