CentOS 6.0
Studiuję iptables i mylę się co do różnicy między łańcuchami FORWARD i OUTPUT. W mojej dokumentacji szkoleniowej stwierdza:
Jeśli dołączasz do (-A) lub usuwasz z (-D) łańcucha, możesz zastosować go do danych sieciowych podróżujących w jednym z trzech kierunków:
- WEJŚCIE - Wszystkie przychodzące pakiety są sprawdzane zgodnie z regułami w tym łańcuchu.
- WYJŚCIE - Wszystkie wychodzące pakiety są sprawdzane pod kątem reguł w tym łańcuchu.
- DO PRZODU - Wszystkie pakiety wysyłane na inny komputer są sprawdzane pod kątem reguł w tym łańcuchu.
To mnie dezorientuje, ponieważ moim zdaniem pakiety wychodzące do hosta MUSZĄ być wysyłane. Czy istnieją więc scenariusze, w których pakiet byłby przesyłany do innego komputera, ale NIE byłby „wychodzący”? Jak iptables rozróżnia te dwa elementy?
filter
łańcuchów (INPUT
lubOUTPUT
lubFORWARD
). (Zakładając, że jakiś inny łańcuch nie upuszcza go wcześniej.) Łańcuchymangle
inat
są różne, może myślałeś omangle
łańcuchu?W moim rozumieniu:
WEJŚCIE: dst IP znajduje się na hoście, nawet ma wiele portów z wieloma podsieciami
WYJŚCIE: src IP pochodzi z hosta, z dowolnego portu
DO PRZODU: Ani dst IP na hoście, ani src IP z hosta
Na przykład do routera A.
WEJŚCIE to:
WYJŚCIE to:
DO PRZODU jest:
źródło