我已经为linode上的Ubuntu服务器设置了ufw防火墙,如下所示:

请注意,这是在利什docker,不幸的是,只要我打开ufw,我不能:
通过端口80从浏览器查看我的testing网站,甚至curl – 我得到它的响应头;
我不能ssh到服务器,即使端口22是“允许访问”;
ufw的默认行为是拒绝,我认为这是防御性防火墙的好习惯。 我是新来的系统pipe理员的东西,所以我不是很确定我做错了哪一部分…
有什么想法吗?
build议更新:这是从iptables-save的打印输出:
# Generated by iptables-save v1.4.4 on Tue Dec 14 09:55:24 2010 *security :INPUT ACCEPT [80376:49275670] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [39230:5028423] COMMIT # Completed on Tue Dec 14 09:55:24 2010 # Generated by iptables-save v1.4.4 on Tue Dec 14 09:55:24 2010 *raw :PREROUTING ACCEPT [81286:49365430] :OUTPUT ACCEPT [39230:5028423] COMMIT # Completed on Tue Dec 14 09:55:24 2010 # Generated by iptables-save v1.4.4 on Tue Dec 14 09:55:24 2010 *nat :PREROUTING ACCEPT [1419:87729] :POSTROUTING ACCEPT [2334:168647] :OUTPUT ACCEPT [2334:168647] COMMIT # Completed on Tue Dec 14 09:55:24 2010 # Generated by iptables-save v1.4.4 on Tue Dec 14 09:55:24 2010 *mangle :PREROUTING ACCEPT [81286:49365430] :INPUT ACCEPT [81274:49361314] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [39230:5028423] :POSTROUTING ACCEPT [39230:5028423] COMMIT # Completed on Tue Dec 14 09:55:24 2010 # Generated by iptables-save v1.4.4 on Tue Dec 14 09:55:24 2010 *filter :INPUT ACCEPT [713:54735] :FORWARD DROP [0:0] :OUTPUT ACCEPT [666:62866] :ufw-after-forward - [0:0] :ufw-after-input - [0:0] :ufw-after-logging-forward - [0:0] :ufw-after-logging-input - [0:0] :ufw-after-logging-output - [0:0] :ufw-after-output - [0:0] :ufw-before-forward - [0:0] :ufw-before-input - [0:0] :ufw-before-logging-forward - [0:0] :ufw-before-logging-input - [0:0] :ufw-before-logging-output - [0:0] :ufw-before-output - [0:0] :ufw-logging-allow - [0:0] :ufw-logging-deny - [0:0] :ufw-not-local - [0:0] :ufw-reject-forward - [0:0] :ufw-reject-input - [0:0] :ufw-reject-output - [0:0] :ufw-skip-to-policy-forward - [0:0] :ufw-skip-to-policy-input - [0:0] :ufw-skip-to-policy-output - [0:0] :ufw-track-input - [0:0] :ufw-track-output - [0:0] :ufw-user-forward - [0:0] :ufw-user-input - [0:0] :ufw-user-limit - [0:0] :ufw-user-limit-accept - [0:0] :ufw-user-logging-forward - [0:0] :ufw-user-logging-input - [0:0] :ufw-user-logging-output - [0:0] :ufw-user-output - [0:0] -A ufw-after-input -p udp -m udp --dport 137 -j ufw-skip-to-policy-input -A ufw-after-input -p udp -m udp --dport 138 -j ufw-skip-to-policy-input -A ufw-after-input -p tcp -m tcp --dport 139 -j ufw-skip-to-policy-input -A ufw-after-input -p tcp -m tcp --dport 445 -j ufw-skip-to-policy-input -A ufw-after-input -p udp -m udp --dport 67 -j ufw-skip-to-policy-input -A ufw-after-input -p udp -m udp --dport 68 -j ufw-skip-to-policy-input -A ufw-after-input -m addrtype --dst-type BROADCAST -j ufw-skip-to-policy-input -A ufw-after-logging-forward -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] " -A ufw-before-forward -j ufw-user-forward -A ufw-before-input -i lo -j ACCEPT -A ufw-before-input -m state --state RELATED,ESTABLISHED -j ACCEPT -A ufw-before-input -m state --state INVALID -j ufw-logging-deny -A ufw-before-input -m state --state INVALID -j DROP -A ufw-before-input -p icmp -m icmp --icmp-type 3 -j ACCEPT -A ufw-before-input -p icmp -m icmp --icmp-type 4 -j ACCEPT -A ufw-before-input -p icmp -m icmp --icmp-type 11 -j ACCEPT -A ufw-before-input -p icmp -m icmp --icmp-type 12 -j ACCEPT -A ufw-before-input -p icmp -m icmp --icmp-type 8 -j ACCEPT -A ufw-before-input -p udp -m udp --sport 67 --dport 68 -j ACCEPT -A ufw-before-input -j ufw-not-local -A ufw-before-input -s 224.0.0.0/4 -j ACCEPT -A ufw-before-input -d 224.0.0.0/4 -j ACCEPT -A ufw-before-input -j ufw-user-input -A ufw-before-output -o lo -j ACCEPT -A ufw-before-output -m state --state RELATED,ESTABLISHED -j ACCEPT -A ufw-before-output -j ufw-user-output -A ufw-logging-allow -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW ALLOW] " -A ufw-logging-deny -m state --state INVALID -m limit --limit 3/min --limit-burst 10 -j RETURN -A ufw-logging-deny -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] " -A ufw-not-local -m addrtype --dst-type LOCAL -j RETURN -A ufw-not-local -m addrtype --dst-type MULTICAST -j RETURN -A ufw-not-local -m addrtype --dst-type BROADCAST -j RETURN -A ufw-not-local -m limit --limit 3/min --limit-burst 10 -j ufw-logging-deny -A ufw-not-local -j DROP -A ufw-skip-to-policy-forward -j DROP -A ufw-skip-to-policy-input -j ACCEPT -A ufw-skip-to-policy-output -j ACCEPT -A ufw-track-input -p tcp -m state --state NEW -j ACCEPT -A ufw-track-input -p udp -m state --state NEW -j ACCEPT -A ufw-track-output -p tcp -m state --state NEW -j ACCEPT -A ufw-track-output -p udp -m state --state NEW -j ACCEPT -A ufw-user-input -p tcp -m tcp --dport 23 -j DROP -A ufw-user-limit -m limit --limit 3/min -j LOG --log-prefix "[UFW LIMIT BLOCK] " -A ufw-user-limit -j REJECT --reject-with icmp-port-unreachable -A ufw-user-limit-accept -j ACCEPT COMMIT # Completed on Tue Dec 14 09:55:24 2010
如果我是你,我会认真考虑使用像iptables防火墙生成器的东西来制定你的规则,我花了两天试图使用iptables作为路由器,使用这个网站后,我得到了5分钟的工作。
下面链接: http : //easyfwgen.morizot.net/gen/
希望RayQuang帮助
我转储ufw并使用Shorewall来代替。 它可以作为一个包安装。 / usr / share / doc / shorewall / examples目录具有良好的启动configuration。 它将logging在Shoreline防火墙网站和shorewall-doc包装上。
可能是你的iptables-save在这里是不完整的?
如果你运行iptables-save – 它会转储当前的规则。 要使ufw规则成为当前的 – 你应该在configurationufw后运行:
# ufw enable # /lib/ufw/ufw-init restart
我的规则确实包含一个链,阻止所有的inputstream量通过:
*filter ... -A INPUT -j ufw-before-input ... -A ufw-before-input -j ufw-not-local ... -A ufw-not-local -j DROP
这将丢弃所有inputstream量:input=> ufw-before-input => ufw-not-local => DROP
我设法通过修改/etc/ufw/before.rules:comennt来解决这个问题
-A ufw-before-input -j ufw-not-local