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.