Tag für Tag gewinnt die Web-Zensur in meinem Land an Stärke. Die naheliegende Lösung besteht in der Verwendung von VPN, verlangsamt jedoch die Verbindung, und die Unbedenklichkeit öffentlicher VPN-Dienste kann nicht garantiert werden.
Also habe ich mir folgende Lösung überlegt:
Der Router greift auf die meisten Websites auf herkömmliche Weise zu, behält jedoch eine konstante VPN-Verbindung bei, die vorgibt, eine zusätzliche Netzwerkschnittstelle zu sein. Wenn ich auf eine zensierte Website zugreife, leitet der Router den Datenverkehr über diese virtuelle Schnittstelle weiter.
Ist das mit RouterOS möglich? Wie geht das?
Mein Router ist RB2011UiAS-2HnD-IN, RouterOS v 6.30.2.
Antworten:
Nehmen wir an, dass Sie ein PPTP-VPN verwenden, um nur die Befehle zu demonstrieren, die Sie ausführen müssen.
Da die PPTP-Verschlüsselung schon lange nicht mehr funktioniert, empfehle ich, etwas Sichereres (wie OpenVPN) zu verwenden. Das Prinzip ist das gleiche, unabhängig davon, welche VPN / Tunnel-Technologie Sie verwenden.
Zunächst erstellen Sie das VPN, ohne eine Standard-Gateway-Route hinzuzufügen.
Anschließend erstellen Sie eine neue Routing-Tabelle, indem Sie ein Standard-Gateway über das VPN mit einer neuen Routing-Markierung hinzufügen
vpn
. Auf diese Weise können Sie Pakete über das VPN weiterleiten.Die nächste Route ist optional, wenn Sie den ausgehenden Verkehr blockieren möchten, wenn das VPN nicht funktioniert:
Wir müssen auch etwas NAT für die Pakete machen, die über die VPN-Schnittstelle verlassen werden.
Jetzt fügen wir die
mangle
Regel hinzu, die mit den gewünschten Ziel-IPs übereinstimmt, und fügen eine Regel hinzu,mark-routing
damit sie die vonvpn
uns erstellte Routentabelle verwenden.Zum Schluss erstellen wir
Address List
auf der Firewall eine mit den IPs, die wir über das VPN routen möchten.Sie wiederholen die letzte Regel so oft, wie Sie für so viele IPs benötigen, wie Sie über das VPN routen möchten.
Beachten Sie, dass die oben genannten Regeln keine Sicherheit bieten, wer hinter Ihrem Router auf das VPN usw. zugreifen kann. Möglicherweise müssen Sie die Regeln durch entsprechende Quell-IP-Überprüfungen schützen.
Auch diese Methode leitet ganze IPs über das VPN weiter. Wenn Sie bestimmte Ports / Protokolle über das VPN routen müssen, erstellen Sie einfach zusätzliche Mangle-Regeln, die Ihren Anforderungen entsprechen und diese
mark-routing
bearbeiten.quelle
chain=srcnat
und als ich mangle hinzufügte, musste ich spezifizierenchain=prerouting
address list
durch ersetzt werden,layer 7 addresses
damit ich Anfragen für einen bestimmten Domainnamen über VPNDas Folgende ist eine generische Linux-Antwort. Ich weiß nicht, ob Routeros über eine geeignete Funktionalität in der Benutzeroberfläche verfügt und ob Sie die Benutzeroberfläche umgehen und direkt mit den Routing- / Firewall- / NAT-Funktionen im Kernel interagieren können.
Das erste, was Sie tun müssen, ist, Ihre VPN-Software einzurichten und die VPN-Schnittstelle aufzurufen. Sie sollten Ihre VPN-Software anweisen , das VPN NICHT zum Standard-Gateway zu machen. Wie genau dies erfolgt, hängt von der verwendeten VPN-Software ab.
Anschließend können Sie der Routingtabelle bestimmte Routen hinzufügen, um den Datenverkehr über das VPN an bestimmte IP-Adressen zu leiten.
Sie müssen auch sicherstellen, dass NAT richtig konfiguriert ist, damit die Quelladresse der Pakete, die Ihren Router verlassen, mit der Schnittstelle übereinstimmt, von der sie ausgehen. Dies kann entweder mithilfe des "MASQURADE" -Ziels oder durch Einrichten separater "SNAT" -Regeln für jede Schnittstelle erfolgen.
Abhängig von der genauen Art der Blockierung ist es möglicherweise unumgänglich, einen Teil oder den gesamten DNS-Verkehr über das VPN zu senden. Das Senden Ihres gesamten DNS-Datenverkehrs über das VPN sollte einfach sein (richten Sie Ihre DNS-Servereinstellungen auf eine IP, die über das VPN weitergeleitet wird). Wenn Sie (aus Gründen der Leistung oder des Datenschutzes) möchten, dass nur einige Ihrer DNS-Abfragen das VPN verlassen, benötigen Sie einen DNS-Proxy, um die Anforderungen aufzuteilen.
Eine weitere Komplikation ist, wenn die Sites, auf die Sie zugreifen, keine stabilen IP-Adressen haben. In diesem Fall benötigen Sie einen DNS-Proxy, der Antworten überwachen und Routen dynamisch hinzufügen kann.
quelle