Problemy z tworzeniem reguł w iptable

0

Witam wszystkich :) Potrzebuję pomocy przy tworzeniu reguł. Zaczynam uczyć się iptables i firewalli, ale mam kilka pytań. Muszę zezwalać na komunikację HTTP tylko z PcA do PcB. / Mój kod to:

iptables  -A INPUT -s PcA's_IP -d PcB's_IP --sport 80 -j ACCEPT

iptables     -A INPUT -d PcB's_IP --dport 80 -jDROP

Moje pytanie dotyczy tego, czy powinienem użyć INPUT, czy FORWARD.

Jeśli więc chcę zezwolić na ruch resztowy, co mam napisać? Może:

iptables -A INPUT -P ACCEPT

Piszę do pliku INPUT PcB. Byłbym bardzo zadowolony, gdyby ktoś mi pomógł. Dużo czytam, ale są tylko skomplikowane przykłady, które trudno mi zrozumieć.

John Adeas
źródło

Odpowiedzi:

0

Możesz przyjrzeć się narzędziu, które tworzy dla ciebie reguły, a następnie zbadać je, aby zrozumieć, co robią. Istnieje kilka standardowych reguł, które należy włączyć. Wolę Shorewall, który jest dobrze udokumentowany i uważam, że jest łatwy w użyciu w przypadku prostych i złożonych konfiguracji. Ma również dobrą przykładową konfigurację, która może być wykorzystana jako punkt wyjścia.

BillThor
źródło
0

Jedną z kluczowych rzeczy do zrozumienia w iptables jest to, że przejdzie przez reguły w kolejności sekwencyjnej, więc na twoje pytanie nie można odpowiedzieć, nie wiedząc, jakie są wszystkie pozostałe istniejące reguły w konfiguracji iptables. Można to zobaczyć dla pojedynczych łańcuchów z „iptables -vL chain” (np. Iptables -vL INPUT) lub dla wszystkich łańcuchów z „iptables-save”.

Istnieje również jedna domyślna reguła w trzech domyślnych łańcuchach (WEJŚCIE, WYJŚCIE i DO PRZODU); to jest zasada łańcucha, która określa, co dzieje się z pakietami, które nie spełniają kryteriów żadnej z istniejących reguł w tym łańcuchu. Z twojego przykładu wydaje się, że już to sobie uświadomiłeś.

W przypadku użycia INPUT w przeciwieństwie do FORWARD, użyj INPUT. FORWARD jest przeznaczony tylko do przesyłania pakietów na inne maszyny (tj. Gdy maszyna z iptables działa jako zapora ogniowa dla innych maszyn.

Podsumowując je i wracając do pierwotnego pytania, reguły, które napisałeś, wydają się prawie w porządku (myślę, że w flagach powinna znajdować się „-p tcp”, co oznacza, że ​​reguły dotyczą protokołu tcp. I oczywiście, jeśli istnieją inne reguły, o których nie wiemy, mogą one blokować ruch http, zanim dotrze on do tych reguł. Zatem w iptables, pierwsza reguła terminala (tj. reguła z ACCEPT, REJECT lub DROP), która ma kryteria pasujące do pakiet przetworzy ten pakiet i żadne inne reguły po nim w tym samym łańcuchu nie będą miały wpływu na przetwarzanie.

Juha Laiho
źródło