我需要使用智能更新和安装软件,但它失败了。上面写着..。
0% [Connecting to archive.ubuntu.com]...and停下来。我需要输入CTRL-C才能搬出去。我正在使用UbuntuServer10.04LTS (Lucid )。
这是由于我的iptable规则。如果我将iptable恢复到其默认值(通过删除规则和设置策略以接受),那么aptitude就会像预期的那样工作。不再有错误了。
但是,嘿,我想用我的iptables规则..。我只需要知道:我到底需要保持什么开放才能正常工作?
我的规则很简单。输出策略是接受的。远期政策是接受的。我没有输出和前进的规则。输入策略被删除。所以,问题就在输入链中!我有11个输入规则来打开特定的TCP端口,我需要这些端口来运行FTP、SSH、HTTP等服务。另外还有一个接受ICMP (ping)的规则,以及接受所有本地主机输入的其他规则。这些都是:
iptables -F
iptables -A INPUT -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 587 -j ACCEPT
iptables -A INPUT -p tcp --dport 995 -j ACCEPT
iptables -A INPUT -p tcp --dport 1008 -j ACCEPT
iptables -A INPUT -p tcp --dport 2812 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
iptables -A INPUT -p tcp --dport 8000 -j ACCEPT
iptables -P INPUT DROP我尝试了很多规则,试着让天赋发挥作用。当然,一个简单的iptables -P INPUT ACCEPT使它工作,但我不想接受一切。我只想打开才能做好工作所需要的东西。
我觉得奇怪的是输入链是问题所在..。但它是。
另一个问题是我无法访问iptables日志..。我刚刚发现我正在使用的内核中有一个bug (请参阅https://serverfault.com/questions/159818/iptables-logging-not-working).所以,不要向我要日志内容,因为我无法得到它们。
谢谢!
发布于 2011-10-16 12:54:22
当您向另一个服务器发送HTTP请求时,您使用的是TCP。首先,一个SYN数据包从一个随机的高端口到另一个服务器,然后您将收到一个ACK响应。最后,将SYN/ACK发送到服务器,服务器用请求的文档(多个数据包)进行响应。您的规则不允许接收ACK数据包,因此无法建立连接。添加如下规则:
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT你不可能免费得到iptable的日志。你的规则看起来应该是:
# if no rule matched, the input should be dropped
-P INPUT DROP
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
# etc
# the limit prevents your logs from being flooded if there are a lot packets being captured
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied" --log-level debug注意,我在命令之前省略了iptables,建议使用iptables-restore (或用于测试的iptables-apply )来避免在规则不适用时将自己锁在门外。要传递给命令的文件如下所示:
*FILTER
# your rules here, for example:
-P INPUT DROP
-P INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
COMMITCOMMIT行后面的换行符是强制性的。
默认情况下,条目转到/var/log/kern.log。如果您想要区分内核和iptables消息,那么请在/etc/rsyslog.d/iptables.conf中为rsyslog创建一个过滤器,包括:
:msg,contains,"iptables denied" /var/log/iptables.log
& ~这将过滤iptables错误,并将这些错误发送到/var/log/iptables.log。
发布于 2019-06-25 17:54:48
在Ubuntu 18中,apt更新直到我允许回送(使用-i lo ACCEPT)时才起作用。所以,我的“安全规则”清单是
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -j REJECThttps://askubuntu.com/questions/67441
复制相似问题