Ich versuche, eine transparente Firewall mit ArchLinux einzurichten.
Mein Setup sieht folgendermaßen aus:
(ISP, IP: 10.90.10.254) \ \ \ (eth0-> ip: 10.90.10.1 gateway: 10.90.10.254) +-----------+ | | | PC | |(as server)| +-----------+ \ (eth1-> ip: 10.90.10.100) \ \ (10.90.10.101)\ | (wireless-> ip-range: 10.90.10.102-) +-------+ |Router | +-------+
Mein Router verfügt nicht über Firewall-Kapazitäten, daher muss ich eine Firewall zwischen dem Router und meinem ISP ablegen.
Kommentare
- Netzwerkmasken? Möchten Sie eth0 und eth1 auf " PC " überbrücken?
- Ungewöhnlich, wenn die " Server " auf der ISP-Verbindung und dem " Router " hinter dem Server …
- @HaukeLaging Ja, es ist ' ungewöhnlich, aber ich muss einige Firewall-Regeln und Verkehrssteuerung anwenden, und der Router tut dies nicht div id = „63dc089422″>
hat diese Funktionen nicht
Antwort
Um dies zu erreichen, müssen Sie eth0 und eth1 auf dem PC in den Bridge-Modus versetzen und der Bridge 1 IP geben Schnittstelle (nicht auf den einzelnen eths)
Hier sind die Grundlagen zum Bridgen unter Linux, um loszulegen http://www.tldp.org/HOWTO/BRIDGE-STP-HOWTO/index.html
Abhängig von Ihrer Distribution gibt es möglicherweise eine schnellere / bessere Möglichkeit, Bridging durchzuführen.
Nun kann der von Ihnen erwähnte drahtlose IP-Bereich nicht über eine bestimmte Konfiguration angegeben werden . Es liegt an Ihnen, welche IPs Sie wo zuweisen.
Möglicherweise können Sie dies über DHCP steuern, dies hängt jedoch von Ihrer allgemeinen Einrichtung und Ihren Anforderungen ab.
Kommentare
Antwort
Zuerst sollten Sie die Übersetzung der Netzwerkadresse aktivieren:
Fügen Sie diese Zeile ein
net.ipv4.ip_forward = 1
bis
/etc/sysctl.conf
(nach dem Einfügen der Zeile sofort wirksam) und Hinzufügen einer Firewall-Regel:
iptables -t NAT-A POSTROUTING -! o lo -j MASQUERADE
Und jetzt Das drahtlose Netzwerk kann Pakete über den Server-PC an den ISP senden.
Noch ein Vorschlag: Deaktivieren Sie den Zugriff „Alle“ auf den Server und aktivieren Sie nur das, was Sie wirklich benötigen:
iptables -P INPUT DROP
iptables -A INPUT -m-Status – state RELATED, ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth1 -m-Status –state NEW -j ACCPET
Diese Einstellung deaktiviert den Standard-Paketfluss „Alle zulässig“. Die Verbindung vom ISP ist deaktiviert (und WAN) zu Server-Ports, ermöglicht Outgoung-Verbindungen vom drahtlosen Netzwerk.
Wenn Sie Server-Ports in der Firewall öffnen müssen:
iptables – A INPUT -p tcp -m tcp –dport 22 -j ACCEPT
Ersetzen Sie tcp bei Bedarf durch udp, und Portbereiche können Mit from: to pattern hinzufügen.
Wenn etwas nicht stimmt und Sie sich selbst schließen, können Sie die Firewall-Regeln zurücksetzen:
iptables -F
Wenn Sie einen Webmin auf Ihrem Serversystem am einfachsten installieren, verfügt er über eine hervorragende Benutzeroberfläche für den Firewall-Konfigurator. Denken Sie jedoch immer an den Befehl „iptables -F“, wenn Sie sich selbst schließen und nicht auf webmin zugreifen können.
Kommentare
- I ' habe dies versucht, aber es funktioniert nicht ', eth0: 10.90.10.1/24; eth1: 10.90.10.100/24; Router: 10.90.10.101/24;
% sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 1
% sudo iptables -t nat -L -n [...] Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- 0.0.0.0/0 0.0.0.0/0
PS: Ich habe Ihre iptables-Regel für# iptables -t nat -A POSTROUTING ! -o lo -j MASQUERADE
Antwort
Dies sollte (aus Sicht des Servers) möglich sein, wenn Sie eth0 (und möglicherweise auch eth1) als definieren eine Punkt-zu-Punkt-Schnittstelle (siehe man ip-address
, peer
).
Meiner Meinung nach ist die Adressauswahl Eine schlechte Idee in jeder Hinsicht. Die Netzwerke von eth1 und WLAN sollten sich nicht überschneiden.Dies ist nicht möglich, wenn eth1 keine Punkt-zu-Punkt-Schnittstelle ist und das WLAN bei 102 beginnt.
Noch schlimmer auf dem Router: Seine LAN-IP ist Teil des WLAN-Netzwerks, also müsste es sein p2p auch (kann das auf dem Router konfiguriert werden?).
ebtables
, wenn Sie eine Firewall durchführen möchten, aber ' würde stattdessen ein geroutetes Setup empfehlen.