我正在尝试使用 IPtables 保护我的 rtorrent-running-homeserver 。为了仅允许 ftp 到 rtorrent 端口 6890 和 5292 的传入连接(两者均由路由器转发),我编写了以下规则:
# Allows all Connections from localhost (necessary for scgi port 5000 of rtorrent):
iptables -A INPUT -s 127.0.0.1 -p tcp -j ACCEPT
iptables -A INPUT -s 127.0.0.1 -p udp -j ACCEPT
# Allows all Connections from 192.168.2.* (local network) and 192.168.10.* (local vpn network)
iptables -A INPUT -s 192.168.2.0/24 -p tcp -j ACCEPT
iptables -A INPUT -s 192.168.10.0/24 -p tcp -j ACCEPT
# Allows all input-Connections on port 6890 (rtorrent) and 5292 (ftp)
iptables -A INPUT -p tcp --dport 6890 -j ACCEPT
iptables -A INPUT -p tcp --dport 5292 -j ACCEPT
# Blocks everything else
iptables -A INPUT -p tcp -j DROP
如果规则处于活动状态,我会收到错误'Tracker: Timeout was reached'
。没有一切都像魅力一样运行。所以这似乎归咎于我的 iptables-rules。
有人可以帮忙吗?
答案1
你可能想要这个规则:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
这将允许现有连接中的所有包。
另外,我建议设置一个策略,而不是阻止其他所有内容的最后一条规则:
iptables -P INPUT DROP