Anleitung: Asus Router (mit Merlin Image) selektives Routing

Discussion in 'Router' started by sagxgas, Aug 9, 2019.

  1. s

    sagxgas New Member

    Hallo zusammen

    Sollte jemand mit einem Asus Router (mit Merlin Image) nach einer Lösung suchen wie man trotz aktiver VPN-Verbindung zumindest im eigenen Land Netflix nutzen kann, dann könnte dies vielleicht das Problem lösen. So funktioniert zumindest bei mir Netflix bei einer aktiven VPN-Verbindung (zu einem Schweizer VPN Server).
    Die VPN-Verbindunf ist über OpenVPN direkt auf dem Router permanent aktiv und meine Clients laufen über diese Verbindung.

    Was wird benötigt?
    - Asus Router mit Merlin Image
    - USB Stick

    Los geht es.

    1. USB-Stick am Router einstecken
    2. SSH auf dem Aus Router (mit Merlin Image) aktivieren, ACHTUNG ich würde SSH NUR für LAN aktivieren und nicht auch noch für WAN (Sicherheitsrisiko)
    3. Über Putty (Win) oder Terminal (OSX) auf den Router verbinden
    4. AMTM installieren mit curl -Os https://diversion.ch/amtm/amtm && sh amtm installieren ( https://diversion.ch/amtm.html )
    5. nach der Installation von AMTM starten wir ATM mit dem Command /jffs/scripts/amtm
    6. den USB-Stick über das Menü "Run format disk" formatieren (fd ausführen)
    7. USB-Stick nach den empfohlenen Einstellungen formatieren
    8. Anschliessend unter AMTM das "Entware Package" installieren ( https://github.com/Entware/Entware )

    nun ist alles bereit um weitere Addons für den Router zu installieren

    9. Installation von x3mRouting (Menü: 6) ( https://github.com/Xentrk/x3mRouting )
    10. Für das Routing von Netflix habe ich die Methode 3 gewählt, je nach Bedürfnisse könnte auch die Methode 2 für einige eine Option sein.
    11. Wenn die Installation abgeschlossen ist, müssen ein paar Commands ausgeführt werden, dafür können wir AMTM beenden.

    Wichtig ist noch zu verstehen wie die Parameter der Commands lautet:

    0 = WAN / 1 = OVPNC1 / 2 = OVPNC2 / 3 = OVPNC3 / 4 = OVPNC4 / 5 = OVPNC5

    Also in diesem Fall "0" wird der Traffic von Netflix über WAN geleitet, alles andere läuft weiterhin über die definierte VPN Connection 1-5

    Code:
    sh /jffs/scripts/x3mRouting/load_ASN_ipset_iface.sh 0 NETFLIX-812 AS812
    sh /jffs/scripts/x3mRouting/load_ASN_ipset_iface.sh 0 NETFLIX-2906 AS2906
    sh /jffs/scripts/x3mRouting/load_ASN_ipset_iface.sh 0 NETFLIX-14618 AS14618
    sh /jffs/scripts/x3mRouting/load_ASN_ipset_iface.sh 0 NETFLIX-394406 AS394406
    sh /jffs/scripts/x3mRouting/load_AMAZON_ipset_iface.sh 0 AMAZON-GLOBAL GLOBAL
    sh /jffs/scripts/x3mRouting/load_ASN_ipset_iface.sh 0 AMAZON-16509 AS16509
    
    Diese Commands erstellen eine IPSET list. Ob diese erfolgreich war, können wir mit folgenden Commands prüfen (Zahlenwerte können abweichen)

    Code:
    admin@RT-AC86U-3588:/jffs/scripts# liststats
    AMAZON-16509 - 3080
    AMAZON-GLOBAL - 43
    NETFLIX-14618 - 189
    NETFLIX-2906 - 150
    NETFLIX-394406 - 2
    NETFLIX-812 - 574
    die IPTables können wir ebenfalls noch prüfen

    Code:
    admin@RT-AC86U-3588:/jffs/scripts# iptables -nvL PREROUTING -t mangle --line
    Chain PREROUTING (policy ACCEPT 1810 packets, 279K bytes)
    num   pkts bytes target     prot opt in     out     source               destination       
    1    69588   67M MARK       all  --  tun11  *       0.0.0.0/0            0.0.0.0/0            MARK xset 0x1/0x7
    2        0     0 MARK       all  --  br0    *       0.0.0.0/0            0.0.0.0/0            match-set NETFLIX-812 dst MARK or 0x8000
    3        0     0 MARK       all  --  br0    *       0.0.0.0/0            0.0.0.0/0            match-set NETFLIX-2906 dst MARK or 0x8000
    4       47  3226 MARK       all  --  br0    *       0.0.0.0/0            0.0.0.0/0            match-set NETFLIX-14618 dst MARK or 0x8000
    5        0     0 MARK       all  --  br0    *       0.0.0.0/0            0.0.0.0/0            match-set NETFLIX-394406 dst MARK or 0x8000
    6        0     0 MARK       all  --  br0    *       0.0.0.0/0            0.0.0.0/0            match-set AMAZON-GLOBAL dst MARK or 0x8000
    7       16  2832 MARK       all  --  br0    *       0.0.0.0/0            0.0.0.0/0            match-set AMAZON-16509 dst MARK or 0x8000
    wie auch noch die IP-Rule

    Code:
    admin@RT-AC86U-3588:/jffs/scripts# ip rule
    0:    from all lookup local
    9990:    from all fwmark 0x8000/0x8000 lookup main
    10101:    from 192.168.99.160 lookup ovpnc1
    10102:    from 192.168.99.79 lookup ovpnc1
    10103:    from 192.168.99.154 lookup ovpnc1
    10104:    from 192.168.99.104 lookup ovpnc1
    10105:    from 192.168.99.12 lookup ovpnc1
    10106:    from 192.168.99.53 lookup ovpnc1
    10107:    from 192.168.99.51 lookup ovpnc1
    32766:    from all lookup main
    32767:    from all lookup default 
    12. Auf Web-GUI des Router müssen wir zwingend noch folgendes beim entsprechenden VPN Client setzen

    Code:
    Accept DNS Configuration = Exclusive
    Force Internet traffic through tunnel = Police Rules (strict)
    
    Nun kann man testen ob Netflix läuft

    Damit die IPSET list automatisch erstellt wird bei jedem Router Restart empfehlt es sich diese über die nat-start Datei einzutragen

    Code:
    #!/bin/sh
    sh /jffs/scripts/x3mRouting/load_ASN_ipset_iface.sh 0 NETFLIX-812 AS812
    sh /jffs/scripts/x3mRouting/load_ASN_ipset_iface.sh 0 NETFLIX-2906 AS2906
    sh /jffs/scripts/x3mRouting/load_ASN_ipset_iface.sh 0 NETFLIX-14618 AS14618
    sh /jffs/scripts/x3mRouting/load_ASN_ipset_iface.sh 0 NETFLIX-394406 AS394406
    sh /jffs/scripts/x3mRouting/load_AMAZON_ipset_iface.sh 0 AMAZON-GLOBAL GLOBAL
    sh /jffs/scripts/x3mRouting/load_ASN_ipset_iface.sh 0 AMAZON-16509 AS16509
    
    Ich hoffe es funktioniert und ich konnte etwas helfen.

    Gruss
     
    Gerd likes this.
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice