Wie man mit Iptables alle Ports nur für lokale IPs außer zwei bestimmten Ports zulässt

Wie man mit Iptables alle Ports nur für lokale IPs außer zwei bestimmten Ports zulässt

Ich suche nach einer Möglichkeit, Verbindungen auf allen Ports meines Debian-Servers nur für eine lokale IP (192.168.2.*) zuzulassen, mit Ausnahme von zwei bestimmten Ports X und Y, die für jede IP zugelassen sein sollten. Wenn die IP keine lokale ist, sollten alle Verbindungen zu allen Ports außer den Ports X und Y blockiert werden.

Wie kann ich diese Situation mit Iptables bewältigen?

Antwort1

Ich bin nicht sicher, ob ich Sie richtig verstanden habe, aber so geht's.

Um alle Ports für den lokalen IP-Bereich 192.168.2.0/24 außer zwei Ports (X und Y) zuzulassen, können Sie eine Regel wie die folgende verwenden:

iptables -A INPUT -s 192.168.2.0/24 -p tcp --dport X -j DROP
iptables -A INPUT -s 192.168.2.0/24 -p tcp --dport Y -j DROP
iptables -A INPUT -s 192.168.2.0/24 -p tcp -j ACCEPT

Für andere nicht lokale IPs lassen Sie NUR Verbindungen zu X und Y zu. Sie können Folgendes verwenden:

iptables -A INPUT -p tcp --dport X -j ACCEPT
iptables -A INPUT -p tcp --dport Y -j ACCEPT
iptables -A INPUT -p tcp -j DROP

Sie haben kein Protokoll angegeben (TCP oder UDP) und ich gehe von TCP aus, da es oben klar ist. Sie müssen die Regeln in dieser bestimmten Reihenfolge einfügen und ich gehe davon aus, dass es keine anderen vordefinierten Regeln gibt.

verwandte Informationen