扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
问题
在linux的vps上,可能需要配置iptables的一些模块,例如:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth1 -j SNAT --to-source 192.168.1.2
执行上边命令的时候,会报错无法继续
iptables v1.2.11: 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的VPS支持iptables的很多模块的
在默认情况下,nat等模块是处于未打开的状态
所以直接执行iptables -t nat的命令会报错
编辑/etc/sysconfig/vz
找到如下一行,并加入iptable_nat进去,如下
IPTABLES="iptable_nat ipt_REJECT ipt_tos ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length"
保存退出并重启vz和iptables服务
/etc/init.d/vz restart
/etc/init.d/iptabls restart
现在NAT模块在整个节点上已经被支持了
我们继续给某个要使用NAT模块的vps去启用nat模块
使用VZMC连接到硬件节点,选择要管理的VPS
点击鼠标右键,选择属性
在iptables标签下边,可以看到详细的iptables模块清单
相当一部分iptables的模块默认是禁用的
例如nat等
在这里打开他们的支持,vps上即可运行相应的iptables命令了
关于iptables的配置,可参考文档:
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者