我在 Open VZ 虚拟化实例上运行 VPS。不幸的是,我在启动和运行防火墙时遇到了很多麻烦。我尝试过常用的 UFW 和 shorewall,但它们都无法启动。
运营 VPS 的公司建议我使用 csf这里但那个又无法启动。然后我尝试直接修改 IPTables,但现在也无法启动。阅读类似内容后,似乎打开的 VZ 让我头疼,但有没有什么办法可以在我当前的设置上启动并运行防火墙?
干杯
答案1
您可能需要为您的 VPS 启用一些额外的 iptables 模块。您需要要求您的主机为您的 VPS 添加以下 iptables 模块(用于典型的防火墙)支持,
ipt_REJECT ipt_tos ipt_TOS ipt_LOG ip_conntrack ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length ipt_state iptable_nat ip_nat_ftp
我不确定他们是否会启用这一切:)
答案2
如果您的托管服务提供商不启用所需的附加 iptables 模块,以下是我在 OpenVZ 虚拟化实例上使用 ufw 提出的解决方案(我仅在 MediaTemple 上测试过):
安装 ufw:
sudo apt-get install ufw
关闭 IPv6:
编辑 /etc/default/ufw
在第 7 行将 IPV6=yes 更改为 IPV6=no
编辑 /etc/ufw/after.rules
注释掉第 27 行
# don't log noisy broadcast
# -A ufw-after-input -m addrtype --dst-type BROADCAST -j ufw-skip-to-policy-input
编辑 /etc/ufw/before.rules
注释掉第 48、51、54、57、58 行
# if LOCAL, RETURN
# -A ufw-not-local -m addrtype --dst-type LOCAL -j RETURN
# if MULTICAST, RETURN
# -A ufw-not-local -m addrtype --dst-type MULTICAST -j RETURN
# if BROADCAST, RETURN
# -A ufw-not-local -m addrtype --dst-type BROADCAST -j RETURN
# all other non-local packets are dropped
# -A ufw-not-local -m limit --limit 3/min --limit-burst 10 -j ufw-logging-deny
# -A ufw-not-local -j DROP
记住允许端口 22 或用于 SSH 的任何端口,然后启用防火墙:
sudo ufw allow 22
sudo ufw enable