我对服务器还不太熟悉。我正尝试在 Debian 上运行一个 Shoutcast 服务器。Shoutcast 在默认端口 8000 上运行。我的问题是访问 xxx.xxx.xx.xxx:8000 时无法加载。当我通过 ssh 登录并创建到本地计算机的隧道时,使用 localhost:8000 就可以正常工作。在我的 iptables 中,我添加了以下行:
-A INPUT -p tcp --match multiport --dports 8000:9999 -j ACCEPT
几天前我安装了 fail2ban。昨晚我使用以下命令卸载了 fail2ban:
apt-get purge fail2ban
执行此操作后,它开始工作。现在,我重新安装了 fail2ban,并正在寻找一种方法来配置它以忽略这些端口。同样,我对 fail2ban 一无所知,正在学习如何使用它。
无法正常工作后,我感到很沮丧,并再次尝试卸载 fail2ban。这次我使用了以下命令:
apt-get remove fail2ban
我知道第一个命令会清除所有配置并恢复 iptables,所以我选择了它。我错误地运行了第二个命令,而不是运行 purge。
从那时起,我重新安装了 fail2ban,并再次运行了 purge 命令,希望它能清理并将一切恢复原状。我仍然无法访问外部网络,必须创建一个隧道。我甚至删除了 iptables 文件并重新启动了我的服务器。使用
iptables -L
显示我只有默认值可以接受一切。我终于不知所措了,不知道还要检查什么。我只想能够访问 xx.xxx.xx.xxx:8000 到 xx.xxx.xx.xxx:9999。
Results of: iptables -L -n -v
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
2364 440K ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
0 0 REJECT all -- * * 0.0.0.0/0 127.0.0.0/8 reject-with icmp-port-unreachable
17177 2792K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
141 8308 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 80,443,10000
28 1128 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 8000:9999
846 46996 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
6 497 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
57 3745 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 5/min burst 5 LOG flags 0 level 7 prefix "iptables denied: "
57 3745 DROP all -- * * 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
25350 7356K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0
这是我所拥有的
Results of: netstat -pnlt | grep ':8000'
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 3246/sc_serv
答案1
您忘记使防火墙规则具有状态。
与您的工作 ssh 规则一样,它应该包括-m state --state NEW
。
您可能还需要检查外部防火墙,例如 EC2 上的 Amazon 的“安全组”。