在许多虚拟服务器上,默认情况下可能不会加载 NAT 和其他 iptables 模块。该模块对于使用诸如 MASQUERADE 之类的网络地址转换类型至关重要

要测试您的 Linux VPS 或服务器是否加载了 NAT 模块,请运行以下命令并检查示例输出(意味着未安装 NAT)

# iptables -t nat -L
iptables v1.4.7:无法初始化 iptables 表“nat”:表不存在(是否需要 insmod?)
要解决这个问题,只需运行 modprobe 命令来加载模块:
modprobe iptable_nat
就是这样! NAT 和相关的地址转换模块现在处于活动状态并已加载到您的系统中

您可能会收到类似于以下的错误:
警告:插入 nf_conntrack_ipv4 时出错(/lib/modules/2.6.32-431.11.2.el6.x86_64/kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko):无法分配内存
警告:插入 nf_nat 时出错(/lib/modules/2.6.32-431.11.2.el6.x86_64/kernel/net/ipv4/netfilter/nf_nat.ko):无法分配内存
警告:插入 ip_tables 时出错(/lib/modules/2.6.32-431.11.2.el6.x86_64/kernel/net/ipv4/netfilter/ip_tables.ko):无法分配内存
致命:插入 iptable_nat 时出错(/lib/modules/2.6.32-431.11.2.el6.x86_64/kernel/net/ipv4/netfilter/iptable_nat.ko):无法分配内存
在这种情况下,服务器(或虚拟服务器)RAM 不足,因此您应该在服务器之前添加一些额外的内存再次尝试 modprobe 命令。