我安装了全新的 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 (...)