我已将旧的 Slackware 11 安装从物理 PC 移至 ESXi 中的虚拟化环境。
除了 iptables 中的一条规则(即以下行)外,一切似乎都运行正常:
iptables -t filter -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables 的返回结果是:iptables: 未知错误 4294967295
我在谷歌上搜索后发现,使用 openVZ 时会出现问题。
完整配置
#! /bin/sh
/usr/sbin/iptables --flush
# drop all
/usr/sbin/iptables -t filter -I INPUT -j REJECT
# permit established connections and related stuff
iptables -t filter -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# permit all traffic on loopback interface
/usr/sbin/iptables -t filter -I INPUT -i lo -j ACCEPT
# permit ICMP from everywere
/usr/sbin/iptables -t filter -I INPUT -p icmp -j ACCEPT
# permit all traffic from selected hosts
/usr/sbin/iptables -t filter -I INPUT --src HOST.A/32 -j ACCEPT
/usr/sbin/iptables -t filter -I INPUT --src NET.B/25 -j ACCEPT
# permit HTTP & HTTPS traffic from everywhere
/usr/sbin/iptables -t filter -I INPUT -p tcp --dport 80 -j ACCEPT
/usr/sbin/iptables -t filter -I INPUT -p tcp --dport 443 -j ACCEPT
# MySQL
/usr/sbin/iptables -t filter -I INPUT -p tcp --dport 3306 -j ACCEPT
# FTP
/usr/sbin/iptables -t filter -I INPUT -p tcp --dport 21 -j ACCEPT
/usr/sbin/iptables -t filter -I INPUT -p tcp --dport 10500:10550 -j ACCEPT
有什么想法吗?
答案1
通过谷歌搜索我发现,必须安装或内置以下模块才能使 iptables 正常工作,请确保您拥有它们。
ipt_MASQUERADE
ipt_helper
ipt_REDIRECT
ipt_state
ipt_TCPMSS
ipt_LOG
ipt_TOS
tun
iptable_nat
ipt_length
ipt_tcpmss
iptable_mangle
ipt_limit
ipt_tos
iptable_filter
ipt_helper
ipt_tos
ipt_ttl
ipt_REJECT
用于lsmod | less
查看已安装的模块;如果您已将它们构建到内核中,请检查您的内核配置。