我在 OpenVZ 容器 (proxmox 2.1) 上安装了 apf。配置基本是原始的,一切正常。我的外部服务(如 ssh 和 http)正在运行。我的问题是 http/https 上的所有出站流量都被阻止了。我如何允许 http/https 的所有出站流量。
如果我像这样将 EGF 更改为 1,所有入站和出站流量都会被阻止
EGF="1"
EG_TCP_CPORTS="21,25,80,443,43,53"
EG_UDP_CPORTS="20,21,53"
EG_ICMP_TYPES="all"
我打开了一条出站规则,内容如下
# /usr/local/sbin/apf -a downloads.wordpress.org
如何允许 http/https 上的所有出站流量而不阻止所有流量?为什么我要允许所有入站 ssh/http 流量并阻止所有出站流量?
答案1
我遇到了同样的问题——使用 OpenVZ 容器,当入站过滤器打开时,出站 HTTP 和 HTTPS 被阻止;当出站过滤器打开时,所有内容都被阻止。
解决方案是从硬件设置容器的 IPTABLES 配置。在我的服务器上,默认配置是(在硬件上的 /etc/vz/vz.conf 中):
IPTABLES="ipt_REJECT ipt_tos ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length"
我在容器的配置中覆盖了它(硬件上的 /etc/vz/conf/CONTAINERNUMBER.conf)
IPTABLES="iptable_filter iptable_mangle ipt_limit ipt_multiport ipt_tos ipt_TOS ipt_REJECT ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_LOG ipt_length ip_conntrack ip_conntrack_ftp ip_conntrack_irc ipt_conntrack ipt_state ipt_helper iptable_nat ip_nat_ftp ip_nat_irc ipt_REDIRECT"
不确定具体是哪一个做的,但在设置这个并重新启动容器后,APF 完全按预期工作。
答案2
这是为了防止不必要的出站流量绕过防火墙并消耗不必要的带宽等。