Die Community hier ist großartig!
Ich habe einen ASUS 3100 Wireless-Router und etwa 4 IP-Kameras. Auf meinem alten Router konnte ich den ausgehenden Datenverkehr ganz einfach blockieren, sodass ich sicherstellen konnte, dass die Kameras nicht „nach Hause telefonierten“. Das Gleiche möchte ich mit diesem Router machen, also habe ich beschlossen, zuerst das Portweiterleitungstool zu verwenden und dann nach IPTABLES zu suchen. Ich weiß nicht, ob es für asuswrt-merlin ein Problem ist, die Portweiterleitung im Router-Administrationstool und in den iptables zu verwenden. Ich vermute, das ist nicht der Fall ... oder?
Mein Ziel:
- Blockieren Sie standardmäßig ausgehenden und eingehenden Datenverkehr für 192.168.1.0/29
- Ausnahme: Ich möchte 120:130 öffnen, ABER nur für eine Handvoll vertrauenswürdiger IPs (Arbeit oder das Haus eines Freundes). Nehmen wir an, diese IPs sind 150.150.150.150 und 250.250.250.0/24 (ich verwende einen Browser, um auf diese Ports zuzugreifen, aber das spielt wahrscheinlich sowieso keine Rolle). Wenn ich also auf KAMERA Nr. 2 zugreifen möchte, wäre es DDNS.dns.com:121
- Ausnahme: Die Kameras versenden E-Mails über SMTPS (Port 465), daher möchte ich das öffnen, damit die E-Mails versendet werden können.
Ich möchte EINGÄNGE/AUSGÄNGE nicht blockieren, da ich einige IoT-Sachen habe, die woanders kommunizieren, also möchte ich die Standardrichtlinie nicht ändern, um das zu blockieren. Es sei denn, ich verstehe falsch, wie das funktioniert.
Ich habe den Router mit dem neuesten Asuswrt-Merlin geflasht und benutzerdefinierte JFFS-Skripte aktiviert. Ich habe eine Datei mit /jffs/scripts/
dem Namen erstellt firewall-start
. Ich habe die Datei beginnend mit Shebang bearbeitet und einige Regeln hinzugefügt (darauf werde ich später zurückkommen). Ich habe verwendet service restart_firewall
. Das Problem, das ich habe, ist, dass ich nicht die richtigen Ergebnisse erhalte und es sehr gut möglich ist, dass ich die Regeln und/oder die Reihenfolge falsch schreibe.
Ich habe iptables Forward ausprobiert, ich habe iptables INPUT & OUTPUT ausprobiert und ich habe eine Kombination aus „INSERT“ / „APPEND“ ausprobiert und aus irgendeinem seltsamen Grund wird entweder alles BLOCKIERT oder komplett OFFEN gelassen. Es führt nie zu meinem endgültigen Ziel. Ich bin sicher, dass es mit einer Reihenfolge oder Standardregeln für FORWARD oder INPUT oder OUTPUT zu tun hat, aber ich komme einfach nicht dahinter.
Ich habe die Regeln auch einzeln eingefügt. Für den Anfang etwas Einfaches.
iptables -I FORWARD -d 192.168.1.0/29 -p tcp --dport 17111 -j DROP
Dadurch wird es gelöscht. Manchmal ist es knifflig, denn wenn ich canyouseeme.org ausprobiere und dort steht, dass der Code erfolgreich eingegeben wurde, steht dort immer noch „erfolgreich“. Manchmal steht dort, dass es fehlgeschlagen ist (was bedeutet, dass es gelöscht wurde), also ist das manchmal das, was ich erfahre, aber es klingt, als wäre es vielleicht ein anderes Problem. Dann sage ich mir, ok, das funktioniert. Jetzt fügen wir DANACH eine INSERT-Regel hinzu, weil INSERT natürlich nach oben geht, also habe ich nach dem obigen Code Folgendes hinzugefügt:
iptables -I FORWARD -s myworkip -d 192.168.1.0/29 -p tcp --dport 121 -j ACCEPT
Also mit diesen beiden in der Datei. Ich lösche die iptables und starte dann den Firewall-Startdienst neu, damit er die neuen Regeln übernimmt. Ich verwende es iptables -L
und sehe, dass es in der richtigen Reihenfolge ist. Testen Sie es, indem Sie die Webseite ddns.dns.com:121 neu laden und nichts. Es wird nicht geladen. Ist es ein Caching? Braucht es Zeit? Manchmal warte ich 5 Minuten und trotzdem passiert nichts. Ich verwende canyouseeme.org erneut und es heißt immer noch, dass der letzte DROP-Code fehlgeschlagen ist.
Ich brauche die Hilfe einiger Experten. Hier ist meine aktuelle iptable:
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP icmp -- anywhere anywhere icmp echo-request
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
DROP all -- anywhere anywhere state INVALID
PTCSRVWAN all -- anywhere anywhere
PTCSRVLAN all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state NEW
ACCEPT all -- anywhere anywhere state NEW
OVPN all -- anywhere anywhere state NEW
ACCEPT udp -- anywhere anywhere udp spt:bootps dpt:bootpc
INPUT_ICMP icmp -- anywhere anywhere
DROP all -- anywhere anywhere
Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
other2wan all -- anywhere anywhere
DROP all -- anywhere anywhere state INVALID
ACCEPT all -- anywhere anywhere
NSFW all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate DNAT
OVPN all -- anywhere anywhere state NEW
ACCEPT all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain ACCESS_RESTRICTION (0 references)
target prot opt source destination
Chain FUPNP (0 references)
target prot opt source destination
Chain INPUT_ICMP (1 references)
target prot opt source destination
RETURN icmp -- anywhere anywhere icmp echo-request
RETURN icmp -- anywhere anywhere icmp timestamp-request
ACCEPT icmp -- anywhere anywhere
Chain NSFW (1 references)
target prot opt source destination
Chain OVPN (2 references)
target prot opt source destination
Chain PControls (0 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere
Chain PTCSRVLAN (1 references)
target prot opt source destination
Chain PTCSRVWAN (1 references)
target prot opt source destination
Chain SECURITY (0 references)
target prot opt source destination
RETURN tcp -- anywhere anywhere tcpflags: FIN,SYN,RST,ACK/SYN limit: avg 1/sec burst 5
DROP tcp -- anywhere anywhere tcpflags: FIN,SYN,RST,ACK/SYN
RETURN tcp -- anywhere anywhere tcpflags: FIN,SYN,RST,ACK/RST limit: avg 1/sec burst 5
DROP tcp -- anywhere anywhere tcpflags: FIN,SYN,RST,ACK/RST
RETURN icmp -- anywhere anywhere icmp echo-request limit: avg 1/sec burst 5
DROP icmp -- anywhere anywhere icmp echo-request
RETURN all -- anywhere anywhere
Chain default_block (0 references)
target prot opt source destination
Chain logaccept (0 references)
target prot opt source destination
LOG all -- anywhere anywhere state NEW LOG level warning tcp-sequence tcp-options ip-options prefix "ACCEPT "
ACCEPT all -- anywhere anywhere
Chain logdrop (0 references)
target prot opt source destination
LOG all -- anywhere anywhere state NEW LOG level warning tcp-sequence tcp-options ip-options prefix "DROP "
DROP all -- anywhere anywhere
Chain other2wan (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
DROP all -- anywhere anywhere
Dank im Voraus!