Lệnh iptables không còn nhận ra một trong các tùy chọn được sử dụng phổ biến nhất khi xác định quy tắc: --dport
.
Tôi nhận được lỗi này:
[[email protected] /home/calyodelphi]# iptables -A INPUT --dport 7777 -j ACCEPT_TCP_UDP
iptables v1.4.7: unknown option `--dport'
Try `iptables -h' or 'iptables --help' for more information.
Lệnh add rule ở trên chỉ là một ví dụ để kích hoạt các kết nối Terraria.
Đây là những gì tôi hiện có với cấu hình iptables barebones (listiptables
được đặt bí danh là iptables -L -v --line-numbers
) và rõ ràng là --dport
đã hoạt động trong quá khứ:
[email protected] /home/calyodelphi]# listiptables
Chain INPUT (policy DROP 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 39 4368 ACCEPT all -- lo any anywhere anywhere
2 114 10257 ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
3 1 64 ACCEPT tcp -- eth1 any anywhere anywhere tcp dpt:EtherNet/IP-1
4 72 11610 ACCEPT all -- eth1 any anywhere anywhere
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 91 packets, 10045 bytes)
num pkts bytes target prot opt in out source destination
Chain ACCEPT_TCP_UDP (0 references)
num pkts bytes target prot opt in out source destination
1 0 0 ACCEPT tcp -- any any anywhere anywhere
Tôi cũng đang cố gắng xác định chuỗi tùy chỉnh (lấy cảm hứng từ câu hỏi này ) để chấp nhận kết nối tcp & udp để tôi không phải xác định hai quy tắc cho mọi thứ mà tôi muốn bật tcp và udp cho (chẳng hạn như máy chủ Minecraft hoặc Terraria hoặc dịch vụ khác hoàn toàn). Nhưng ngay cả điều này cũng không hoạt động:
[[email protected] /home/calyodelphi]# iptables -P ACCEPT_TCP_UDP DROP
iptables: Bad built-in chain name.
Điều này đang trở nên rất bực bội, theo cách nói lịch sự (số lượng chửi rủa liên quan đến việc này sẽ khiến một thủy thủ bảo tôi xem miệng). Google-fu của tôi rất tệ, vì vậy tôi vẫn chưa tìm được giải pháp hiệu quả nào cho việc này. Tôi đang chạy CentOS 6.5 trên bộ định tuyến. Bất kỳ trợ giúp và gợi ý mà các bạn có thể cung cấp sẽ là tuyệt vời.
BIÊN TẬP:
Câu hỏi thưởng: Tôi cũng đang lên kế hoạch cấu hình chuyển tiếp cổng. Có còn cần thiết phải đặt quy tắc để chấp nhận kết nối đến qua các cổng cụ thể không?
Đầu tiên cho một -p
tùy chọn như -p tcp
hoặc là -p udp
.
Ví dụ:
iptables -A INPUT -p tcp --dport 22 -m state --state MỚI -j DROP
iptables -A INPUT -p udp --dport 53 --sport 1024: 65535 -j CHẤP NHẬN
Bạn cũng có thể thử -p all
nhưng tôi chưa bao giờ làm điều đó và không tìm thấy quá nhiều sự hỗ trợ cho nó trong các ví dụ.
Giao thức (-p) là bắt buộc nếu bạn sử dụng --dport. Thí dụ:
-p tcp
@dmourati và @diegows đã trả lời câu hỏi đầu tiên của bạn, vì vậy tôi sẽ giải quyết câu hỏi thứ hai của bạn. Và câu hỏi tiền thưởng. Và tôi cũng sẽ đưa ra một mẹo thưởng;)
iptables -P
chỉ chấp nhận chuỗi BUILT-IN. Trong bảng filter
, đó sẽ là các chuỗi INPUT
, OUTPUT
và FORWARD
.
Chuyển tiếp cổng không được xử lý bởi chuỗi INPUT
, vì vậy bạn không phải mở cổng trong chuỗi INPUT
. Mặc dù vậy, nó hiện được xử lý bởi chuỗi FORWARD
. Hãy cẩn thận về điều đó.
Tiền thưởng: Khi tìm hiểu và/hoặc xử lý sự cố iptables
, đầu ra của iptables-save
là đầu & vai tốt hơn đầu ra của iptables -L -v --line-numbers
. Hãy thử nó, bạn sẽ ngạc nhiên đấy :)