在iptables中创建表


8

我想使用iptables创建一个自定义表,以便可以在其中添加我的自定义链。但是我看不到有任何选择。我试图搜索它,但没有发现任何东西。请帮忙。

Answers:


16

我认为您正在寻找创建而不是表格的方法。

   -N, --new-chain chain
          Create a new user-defined chain by the given name.  There must be no target of that name already.

示例(-t filter暗含):

iptables -N Services
iptables -A INPUT -j Services
iptables -A Services -m tcp -p tcp --dport 80 -j ACCEPT

可以使用以下-t选项选择表:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

并且,如果您使用iptables-restore,则可以将以上两个规则组合为:

*nat
-A POSTROUTING -j MASQUERADE
COMMIT

*filter
:Services -
-A INPUT -j Services
-A Services -m tcp -p tcp --dport 80 -j ACCEPT
COMMIT

感谢您的答复,但我正在为我的自定义链创建另一个表。无法创建其他表?
塔伦

1
为什么要创建其他表?能够对您的连锁店进行分组?除非您编写自己的内核模块,否则您将无法插入新的链。看到这张关于数据包流的图片,以了解不同表的用途。
Lekensteyn

好的,我不知道。谢谢您的帮助。
塔伦

5

创建表是在内核级别完成的。通常,除非有一个新功能要添加到内核的TCP / IP功能中,否则无需创建新的功能。

您可能想要做的是在现有表之一中创建一个新链,这是通过-N标记完成的。


“通常不需要...”-但是自定义链使事情变得更加整洁。例如,将自定义链添加到接口。
康拉德·加耶夫斯基
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.