ptables的NAT功能设置和linux升级内核后遇到 can't initialize iptables table `nat': Table does not exist 问题

来源:互联网 发布:剑灵桐人捏脸数据 编辑:程序博客网 时间:2024/06/05 16:28
如何使用iptables的NAT功能把红帽企业版Linux作为一台路由器使用?


方法:


提示: 以下方法只适用于红帽企业版Linux 3 以上。


1、打开包转发功能:


echo "1" > /proc/sys/net/ipv4/ip_forward


2、修改/etc/sysctl.conf文件,让包转发功能在系统启动时自动生效:
# Controls IP packet forwarding


net.ipv4.ip_forward = 1


3、打开iptables的NAT功能:


/sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE


说明:上面的语句中ppp0是连接外网或者连接Internet的网卡. 执行下面的命令,保存iptables的规则: service iptables save


4、查看路由表:


netstat -rn 或   route -n


5、查看iptables规则:


iptables -L


查看nat表

iptables -t nat -L



编译好新内核后
# iptables -t nat -nL 提示


iptables v1.3.5: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.


解决方法: 编译内核时加入以下模块


Linux Kernel Configuration
    -> Networking support
        -> Networking options
            -> Network packet filtering framework(netfilter)
                -> Core netfilter configuration
                    -> Netfilter connection tracking support
                    -> Netbios name service protocal support(new)
                    -> Netfilter Xtables support (required for ip_tables)


Linux Kernel Configuration
    -> Networking support
        -> Networking options
            -> Network packet filtering framework(netfilter)
                -> IP: Netfilter Configuration
                    -> IPv4 connection tracking support (require for NAT)
                    -> IP tables support (required for filtering/masq/NAT)
                -> Full NAT
                    -> MASQUERADE target support
                    -> REDIRECT target support


make -j2

make -j2 all

make -j2 modules_install

make -j2 install


升级完成后重启重新配置nat即可。


参考:http://blog.sina.com.cn/s/blog_654a4e8b0100ii3y.html


原创粉丝点击