Weiterleitungsbefehl zur Verwendung eines Platzhalters

0

Ich habe eine Reihe von Routen zu meiner LAN-Leitung, die sich nicht über mein WLAN auflösen lassen (das als erste Bestellung festgelegt ist).

sudo route add 10.999.999.999 10.888.888.888

Ich habe viel mehr, aber das ist nur ein Beispiel. Das funktioniert prima, aber manchmal muss ich auf ein anderes Netzwerk-Asset zugreifen, was bedeutet, dass ich es erneut zur Liste hinzufügen muss.

Kann ich es so einrichten, dass jede IP-Adresse, die mit 10 beginnt, über den LAN-Router umgeleitet wird?

Etwas wie das:

sudo route add 10.* 10.888.888.888

DAS FUNKTIONIERT NICHT

Mein Setup:

Ich habe zwei Internetverbindungen.

  1. WiFi - keine Firewalls - kein Zugriff auf Netzwerkressourcen
  2. LAN - Firewalls - Zugriff auf Netzwerkressourcen

Ich stelle WiFi als erstes in meiner Rangfolge ein und erzwinge bestimmte Domänen über die LAN-Verbindung, indem ich meine Host-Datei verwende, um die IP-Adressen aufzulösen, und eine Routentabelle, um diese IPs über meinen LAN-Router zu leiten.

Grundsätzlich will ich meinen Kuchen und esse ihn auch.


Hier ist, was ich am Ende hatte:

#! /bin/bash    
sudo route -n flush
sudo route add -net 10 10.255.255.255    
networksetup -setairportpower en0 off    
sleep 2    
networksetup -setairportpower en0 on

Dadurch wird die Routentabelle 10.geleert, der gesamte Datenverkehr beginnend mit der IP-Adresse an den Router meiner LAN-Verbindung weitergeleitet und der WLAN-Router neu gestartet ( en0).

iambriansreed
quelle
1
Die dreistelligen Zahlen in einer IPv4-Adresse gehen nur an 255, nicht an 999. 10.999.999.999 ist keine gültige IP-Adresse.
SDMEYERS
Vielen Dank. Ich habe meine IP-Adressen nicht richtig eingegeben. Ich hätte wohl sagen können, dass dies nur Platzhalter-IP-Adressen sind, aber ich nahm an, dass dies offensichtlich ist.
iambriansreed
1
Wie wäre es mit Bash-Erweiterung? Sie können so etwas schreiben wie: 10.{0..255}.{0..255}.{0..255}Es wird auf alle IPs erweitert, die mit Nummer 10 beginnen.
Mateusz Szlosek
@MateuszSzlosek Jetzt testen!
iambriansreed
@MateuszSzlosek 'Argumentliste zu lang'
iambriansreed

Antworten:

3

Das richtige Formular zum Hinzufügen einer Netzroute lautet

route add -net 10 $GW

Offensichtlich müssen Sie $GWmit der IP-Adresse Ihres Gateways ersetzen .


quelle
Verdammt, das macht viel mehr Sinn. Danke für Ihre Geduld . Offensichtlich kenne ich Bash-Skripte überhaupt nicht.
iambriansreed
2

Sie können forSchleifen verwenden. Hier ist ein Beispiel:

for i in {0..255}; do
    for j in {0..255}; do
        for k in {0..255}; do
            sudo route add 10.$i.$j.$k 10.888.888.888
        done;
    done;
done
Mateusz Szlosek
quelle
Entspricht das nicht Ihrem Kommentar zur Erweiterung?
iambriansreed
Nein, das ist nicht der Fall, da der routeBefehl derzeit für jede IP-Adresse separat ausgeführt wird.
Mateusz Szlosek
1
Ich denke, dies beantwortet die Frage, aber 16 Millionen Iterationen scheinen etwas übertrieben. Wenn ich der Fragesteller wäre, würde ich dies auf eine andere Weise tun.
Jonescb
Genau. Musste es bei *. *. 4.255
stoppen
bitte tu das nicht