ubuntu下iptables配置

ubuntu下iptables配置

我正在关注设置 DNS 隧道的教程

我遇到了以下指令:

现在您需要在此服务器上启用转发。我使用 iptables 来实现伪装。关于这一点有很多 HOWTO(例如一个简单的)。在 Debian 上,iptables 的配置文件位于 /var/lib/iptables/active。相关位是:

*nat
:PREROUTING ACCEPT [6:1596]
:POSTROUTING ACCEPT [1:76]
:OUTPUT ACCEPT [1:76]

-A POSTROUTING -s 10.0.0.0/8 -j MASQUERADE
COMMIT

重新启动 iptables:

/etc/init.d/iptables restart

问题是我没有任何/var/lib/iptables/active。 (我在 ubuntu 上。)

我该如何实现这一点?我怀疑我应该以iptables某种方式与命令交互,但我不知道该写什么。我想最好的办法可能是以某种方式将命令放入脚本中。

(附注。如果我执行几个iptables命令,它不会永远存在,对吗?重启时规则会被丢弃吗?)

答案1

使用以下命令:

/sbin/iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -j MASQUERADE

如果您希望每次系统启动时都应用它,最简单的方法就是将该文件放入/etc/rc.local该行之前exit 0

祝你好运,
若昂·米格尔·内维斯

答案2

不管怎样,我的 debian 系统上没有 /var/lib/iptables/active,所以我猜这个指南/操作方法有点过时了。

我甚至不确定该怎么做:

*nat:预路由接受[6:1596]:后路由接受[1:76]:输出接受[1:76]

我猜它要么是链的默认规则,要么指定你应该允许端口 6 到 1596 等等。

答案3

您可能会发现安装 Shorewall 并让它为您管理 iptables 更简单。它针对 Debian 进行了打包,并且有详尽的文档。

答案4

有一个包含要恢复的系统服务的软件包

sudo apt-get install iptables-persistent

将规则放入 /etc/iptables/rules。

一种方法是:

sudo bash -c "iptables-save > /etc/iptables/rules"

相关内容