Această comandă spune „dacă traficul de rețea vine de la adresa IP X, dar nu este pe interfața Y, atunci DROP-l”. Rețineți că se află în tabelul brut, care este primul și cel mai rapid tabel lovit atunci când traficul de rețea intră în IPtables.
iptables -t raw -A PREROUTING -s ${X} ! -i ${Y} -j CĂDARE
Ar trebui să aveți o altă permutare a acestei reguli în direcția opusă:
iptables -t raw -A PRERUTARE ! -s ${X} -i ${Y} -j CĂDURA
Puteți înregistra încălcările acestor reguli având aceste patru comenzi:
iptables -t raw -A PREROUTING -s ${X} ! -i ${Y} -j LOG --log-prefix "IP greșit: "
iptables -t raw -A PREROUTING -s ${X} ! -i ${Y} -j CĂDARE
iptables -t raw -A PRERUTARE ! -s ${X} -i ${Y} -j LOG --log-prefix „Interfață greșită:”
iptables -t raw -A PRERUTARE ! -s ${X} -i ${Y} -j CĂDURA
EDIT: Editat după ce am primit mai multe clarificări în comentarii.
Această regulă spune „dacă traficul vine de la adresa IP X și nu este destinat adresei IP Z, atunci renunțați la trafic”.
iptables -t raw -A PREROUTING -s ${X} ! -d ${Z} -j CĂDARE
Această regulă spune „dacă traficul este de intrare pe interfața Y și nu este destinat adresei IP Z, atunci renunțați la trafic”.
iptables -t raw -A PREROUTING -i ${Y} ! -d ${Z} -j CĂDARE
Iată o combinație a acestor două reguli, care spune „dacă traficul vine de la adresa IP X și vine pe interfața Y și nu este destinat adresei IP Z, atunci renunțați la trafic”.
iptables -t raw -A PREROUTING -s ${X} -i ${Y} ! -d ${Z} -j CĂDARE.
Doar o notă: îmi place să folosesc brut
tabel dacă regulile nu necesită urmărirea conexiunii. The brut
tabelul nu urmărește nicio conexiune. În acest caz, nu este necesară urmărirea conexiunii pentru aceste reguli. Urmărirea conexiunii este necesară pentru nat
masa si pentru contratrack
modul (-m contratrack
). The brut
tabelul este mult mai performant decât alte tabele, deoarece urmărirea conexiunii ocupă mult mai multe resurse pe serverul tău. Cu toate acestea, tabelul de filtrare este bine de utilizat și, dacă este mai simplu și are mai mult sens pentru dvs., atunci utilizați tabelul de filtrare. Regulile ar fi exact aceleași, dar juste -t brut
ar deveni -t filtru
Când pachetele intră în IPtables, ele traversează tabelele astfel:
raw --> mangle (unde începe urmărirea conexiunii) --> nat --> filtru