![CentOS 是否在内核中构建了 iptables NAT 支持?](https://linux22.com/image/167158/CentOS%20%E6%98%AF%E5%90%A6%E5%9C%A8%E5%86%85%E6%A0%B8%E4%B8%AD%E6%9E%84%E5%BB%BA%E4%BA%86%20iptables%20NAT%20%E6%94%AF%E6%8C%81%EF%BC%9F.png)
我安装了全新的 CentOS 7.7。我做的第一件事是删除 NetworkManager 和 FirewallD 并开始设置 iptables。我正在尝试设置 NAT 伪装,但似乎使用该配置不再支持运行 NAT。有人请告诉我我是个白痴并且做错了什么。
# iptables -V
iptables v1.4.21
# lsmod | grep tabl
iptable_filter 12810 1
ip_tables 27126 1 iptable_filter
# lsmod | grep nf
nf_nat 26583 0
nf_reject_ipv4 13373 1 ipt_REJECT
nf_conntrack_ipv4 15053 2
nf_defrag_ipv4 12729 1 nf_conntrack_ipv4
nf_conntrack 139224 3 nf_nat,xt_conntrack,nf_conntrack_ipv4
libcrc32c 12644 3 xfs,nf_nat,nf_conntrack
# systemctl status iptables.service
● iptables.service - IPv4 firewall with iptables
Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
Active: active (exited) since Fri 2020-02-07 20:22:44 EST; 23min ago
...
所以 iptables 看起来已加载,但是当我:
# iptables -t NAT --flush
iptables v1.4.21: can't initialize iptables 'NAT': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
所以我没有得到 NAT。我需要做什么才能在 CentOS 7.7 中使用 iptables 处理 NAT?
答案1
幸运的是,这对你来说不是一个大问题。把它写成小写就足够了iptables -t nat (...)