Wie kann ich eine Firewall-Regel auf eine bestimmte lokale IP anwenden?

Wie kann ich eine Firewall-Regel auf eine bestimmte lokale IP anwenden?

Ich hoste Gameserver und habe daher mehrere IPs. Auf der Hauptserver-IP habe ich das Gamepanel, andere IPs sind für die Gameserver reserviert, die ich für meine Kunden hoste.

Daher möchte ich, dass die Ports 80 und 443 geöffnet sindnurauf der primären Server-IP-Adresse. Ich habe nach einem iptablesBefehl gesucht, der dies abdeckt, aber ich habe nichts gefunden (nur Ergebnisse, die angeben, wie Ports für bestimmte ausländische IPs zugelassen/blockiert werden).

Ist dies mit möglich iptables? Und wenn ja, wie?

Das Betriebssystem ist Ubuntu 14.04LTS.

Antwort1

Sie können auch basierend auf IPs blockieren/zulassen. In der Manpagehttp://linux.die.net/man/8/iptables

-s, --source [!] Adresse[/Maske] Quellspezifikation. Die Adresse kann entweder ein Netzwerkname, ein Hostname (bitte beachten Sie, dass die Angabe eines Namens, der mit einer Remote-Abfrage wie DNS aufgelöst werden soll, eine wirklich schlechte Idee ist), eine Netzwerk-IP-Adresse (mit /Maske) oder eine einfache IP-Adresse sein. Die Maske kann entweder eine Netzwerkmaske oder eine einfache Zahl sein, wobei die Anzahl der Einsen auf der linken Seite der Netzwerkmaske angegeben wird. Eine Maske von 24 entspricht also 255.255.255.0. Ein "!"-Argument vor der Adressspezifikation kehrt die Bedeutung der Adresse um. Das Flag --src ist ein Alias ​​für diese Option. -d, --destination [!] Adresse[/Maske] Zielspezifikation. Eine detaillierte Beschreibung der Syntax finden Sie in der Beschreibung des Flags -s (Quelle). Das Flag --dst ist ein Alias ​​für diese Option.

Sie können also etwas tun wie

sudo iptables -A INPUT -d [serverip]/32 -p tcp --dport 80 -j ACCEPT

erlaubt nur Port 80 für die angegebene IP oder Sie können das Abhören der anderen IPs blockieren

Für die Quelladresse ist das Flag-s

verwandte Informationen