Utwórz tabelę w iptables

8

Chcę utworzyć niestandardową tabelę za pomocą iptables, aby móc dodać do niej niestandardowe łańcuchy. Ale nie widzę żadnej opcji, aby to zrobić. Próbowałem go wyszukać, ale nic nie znalazłem. Proszę pomóż.

Tarun
źródło

Odpowiedzi:

16

Myślę, że szukasz łańcucha , a nie stołu.

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

Przykład ( -t filterimplikowany):

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

Tabele można wybrać za pomocą -topcji:

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

A jeśli używasz iptables-restore, powyższe dwie reguły można połączyć w:

*nat
-A POSTROUTING -j MASQUERADE
COMMIT

*filter
:Services -
-A INPUT -j Services
-A Services -m tcp -p tcp --dport 80 -j ACCEPT
COMMIT
Lekensteyn
źródło
Dzięki za odpowiedź, ale chcę utworzyć inną tabelę dla moich niestandardowych łańcuchów. Tworzenie innej tabeli nie jest możliwe?
Tarun,
1
Dlaczego chcesz stworzyć inny stół? Aby móc zgrupować swoje łańcuchy? Dopóki nie napiszesz własnego modułu jądra, nie będziesz mógł wstawić nowych łańcuchów. Zobacz to zdjęcie na temat przepływu pakietów, aby zrozumieć, do czego służą różne tabele.
Lekensteyn
Ok, nie wiedziałem tego. Dzięki za pomoc.
Tarun
5

Tworzenie tabeli odbywa się na poziomie jądra; normalnie nie ma potrzeby tworzenia nowego, chyba że dodaje się do możliwości TCP / IP jądra.

To, co prawdopodobnie chcesz zrobić, to utworzyć nowy łańcuch w jednej z istniejących tabel, co odbywa się za pomocą -Nflagi.

Ignacio Vazquez-Abrams
źródło
„normalnie nie ma potrzeby ...” - ale niestandardowe łańcuchy sprawiają, że rzeczy są o wiele ładniejsze. Na przykład dodanie niestandardowego łańcucha do interfejsu.
Konrad Gajewski,