I want to create a custom table using iptables so that I can add my custom chains in it. But I doesn't see any option to do that. I tried to search for it but didnt found anything. Please Help.
2 Answers
I think you are looking for creating a chain, not a table.
-N, --new-chain chain
Create a new user-defined chain by the given name. There must be no target of that name already.
Example (-t filter is implied):
iptables -N Services
iptables -A INPUT -j Services
iptables -A Services -m tcp -p tcp --dport 80 -j ACCEPT
Tables can be selected with the -t option:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
And if you are using iptables-restore, the above two rules can be combined to:
*nat
-A POSTROUTING -j MASQUERADE
COMMIT
*filter
:Services -
-A INPUT -j Services
-A Services -m tcp -p tcp --dport 80 -j ACCEPT
COMMIT
Creating a table is done at the kernel level; normally there is no need to create a new one unless one is adding to the kernel's TCP/IP capabilities.
What you likely want to do is create a new chain in one of the existing tables, which is done with the -N flag.