我在 Debian 上有一个虚拟机。我对 HN 做了一些修改,以允许虚拟机内部有状态防火墙(http://wiki.openvz.org/Setting_up_an_iptables_firewall)。
这是我的防火墙脚本:
# 刷新所有规则 iptables -F iptables -X # 设置默认过滤策略 iptables -P 输入删除 iptables -P 输出删除 iptables -P 转发删除 # 允许环回流量不受限制 iptables -A 输入 -i lo -j 接受 iptables -A 输出 -o lo -j 接受 # 允许所有与 my_machine 相关的、已建立的 tcp 连接。 iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT # https 输入 iptables -A 输入 -p tcp -s 0/0 --sport 513:65535 --dport 443 -m state --state NEW,ESTABLISHED -j 接受 # 允许 ping iptables -A 输入 -p icmp -m icmp --icmp-type 8 -j 接受 # 仅允许 ssh 传入 iptables -A 输入 -p tcp -s 0/0 --sport 513:65535 --dport 22 -m state --state NEW,ESTABLISHED -j 接受 # 确保没有任何事情发生 iptables -A 输入 -j DROP # 允许所有传出连接 iptables -A 输出 -j 接受
iptables -L
iptables -L 链输入(政策删除) 目标 保护 优化 源 目标 接受所有 -- 任何地方 任何地方 接受 tcp -- 任何地方任何地方状态 RELATED,ESTABLISHED 接受 tcp -- 任何地方 任何地方 tcp spts:login:65535 dpt:https 状态 新建,已建立 接受 icmp -- 任何地方 icmp 回显请求 接受 tcp -- 任何地方 任何地方 tcp spts:login:65535 dpt:ssh 状态 新建,已建立 DROP all -- 任何地方 链转发(策略丢弃) 目标 保护 优化 源 目标 链输出(政策下降) 目标 保护 优化 源 目标 接受所有 -- 任何地方 任何地方 接受所有 -- 任何地方 任何地方
当我尝试使用 fsockopen 时,它失败了。为什么?
提前致谢
答案1
我添加了这条规则并且工作正常:
# 允许 DNS 客户端请求 iptables -A 输入 -p udp --sport 53 --dport 1024:65535 -m 状态 --状态 ESTABLISHED -j 接受