Cuối cùng tôi cũng đang đọc về iptables. Tôi hơi bối rối vì chuỗi đầu vào từ bảng bộ lọc (như đã cài đặt, fedora 17), trông như thế này:
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT udp -- anywhere 224.0.0.251 state NEW udp dpt:mdns
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Từ những gì tôi đã đọc, quy tắc thứ ba sẽ chấp nhận mọi thứ, nhưng đây không phải là trường hợp (tôi phải vô hiệu hóa iptables để cho phép truy cập vào sshd hoặc máy chủ https). Tất cả các chuỗi khác cho tất cả các bảng khác là CHẤP NHẬN chính sách, không có quy tắc nào, ngoại trừ bộ lọc FORWARD mà DỰ ÁN mọi thứ.
Vậy ACCEPT thực sự làm gì?
iptables -v -L
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
36625 38M ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
0 0 ACCEPT icmp -- any any anywhere anywhere
1 60 ACCEPT all -- lo any anywhere anywhere
0 0 ACCEPT udp -- any any anywhere 224.0.0.251 state NEW udp dpt:mdns
534 73926 REJECT all -- any any anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 REJECT all -- any any anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT 31484 packets, 3973K bytes)
pkts bytes target prot opt in out source destination
Vì vậy, điều này ngụ ý với tôi rằng quy tắc thứ ba thực sự chỉ áp dụng cho giao diện loopback? [Vâng]
iptables -L
có khả năng gây nhầm lẫn cho người dùng bằng cách bỏ qua thông tin cần thiết và do đó dẫn đến kết luận sai; tốt hơn luôn luôn làm cho nóiptables -L -v
.