Thay vì nhập các quy tắc theo cách thủ công, bạn có thể sử dụng iptables
để thêm các quy tắc vào các chuỗi thích hợp và sau đó lưu chúng. Điều này sẽ cho phép bạn gỡ lỗi các quy tắc trực tiếp, xác nhận chúng là chính xác, thay vì phải thêm chúng vào tệp như bạn đang làm.
Để mở cổng 80 tôi làm điều này:
$ sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ sudo /etc/init.d/iptables save
Lệnh cuối cùng sẽ lưu các quy tắc được thêm vào. Đây là quy tắc tôi sẽ sử dụng để mở cổng cho lưu lượng truy cập web.
Tại sao quy tắc của bạn gây ra vấn đề
Nếu bạn nhận thấy quy tắc bạn đang cố sử dụng:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
Có một chuỗi gọi là "RH-Firewall-1-INPUT". Nếu bạn không có chuỗi này hoặc liên kết từ INPUT
chuỗi đến chuỗi này, thì quy tắc này sẽ không bao giờ có thể truy cập được. Quy tắc này có thể giống như thế này:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
Hoặc INPUT
chuỗi của bạn nên liên kết với chuỗi này RH-Firewall-1-INPUT
với quy tắc như thế này:
$ sudo iptables --list
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0
....
LƯU Ý: Bạn có thể thấy những chuỗi bạn có với lệnh này:
$ sudo iptables -L| grep Chain
Chain INPUT (policy ACCEPT)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
...
Ngoài ra, các trạng thái có thể cần phải được sửa đổi để các kết nối hiện có cũng được cho phép.
-A INPUT -m state --state NEW,ESTABLISHED -m tcp -p tcp --dport 80 -j ACCEPT
Ngoài ra khi bạn sử dụng công -A
tắc, bạn sẽ thêm quy tắc vào chuỗi INPUT
. Nếu có các quy tắc khác trước khi nó bị chặn và / hoặc can thiệp vào việc tiếp cận quy tắc này, nó sẽ không bao giờ được thực thi. Vì vậy, bạn có thể muốn di chuyển nó lên đầu bằng cách chèn thay vì nối thêm, như thế này:
-I INPUT -m state --state NEW,ESTABLISHED -m tcp -p tcp --dport 80 -j ACCEPT
Sử dụng GUI
Tường lửa có thể là những con thú phức tạp. Vì vậy, bạn có thể muốn thử TUI thay thế (TUI là GUI dành cho thiết bị đầu cuối).
$ sudo system-config-firewall-tui
Sau đó, bạn có thể đi qua các màn hình khác nhau để thiết lập iptables
quy tắc.
Người giới thiệu