nach Jahren der eigenen Recherche und Praktischen Tests bzw Versuche, komme ich bei einer Sache nicht mehr ganze weiter.
Wie oben erwähnt habe ich nach diesen TuT https://help.ubuntu.com/community/SSH_VPN eine SSH Verbindung zum Server aufgenommen und ein virtuelles Interface erstellt.
Maschine A(Client): 10.0.0.100
Maschine B(Server): 10.0.0.200
Das Anpingen der beiden Maschinen funktioniert super nach dem das geregelt war habe ich auf dem Maschine B(Server) mein Netzwerk geroutet.
ip route add 192.168.0.0/24 via 10.0.0.200
das anpingen meiner lokalen Maschnen funktioniert auch einwandfrei. Nun steht in diesen Tutorial das man die Internet IP von Maschine A nehme soll und als standart gateway einträgt. Das funktioniert leider nicht weil Maschine B(Server) keine Ausgehende Verbindung stellen kann somit bricht auf dem Server die Internetverbindung zusammen und ich muss diesen neustarten, zur erklärung es ist ein Server von Trystack. Also wollte ich jetzt das der gesamte Internetverkehr über das virtuelle Interface funkiert und nur die SSH verbindung über das Standart gateway läuft.
Wenn ich jetzt zum Beispiel ein:
ip route add 91.0.0.0/8 via 10.0.0.200
Mache kann ich sogar über apt-get update die Pakete installieren von meiner Internet Verbindung aus, also das dürfte also gehen.
Nun wollte ich per iproute2 http://www.thomas-krenn.com/de/wiki/Zwe ... nem_System ein anderes Gateway erschaffen und mit iptables die Ports auf mein virtuelles Interface weitleiten nur funktioniert keine Anweisung. Linux nimmt diese zwar alles an aber immer wenn ich versuche über traceroute http://www.heise.de den weg zufinden nimmt linux den standart gateway.
Hier mal meine bissherige Konfiguration
Code: Alles auswählen
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 8.21.28.17 0.0.0.0 UG 100 0 0 eth0
8.0.0.0 * 255.0.0.0 U 0 0 0 eth0
10.0.0.100 * 255.255.255.255 UH 0 0 0 tun0
192.168.0.0 10.0.0.200 255.255.255.0 UG 0 0 0 tun0
Code: Alles auswählen
root@server:~# ip rule add from 10.0.0.200 lookup admin prio 1000
root@server:~# ip rule show
0: from all lookup local
1000: from 10.0.0.100 lookup admin
32766: from all lookup main
32767: from all lookup default
Code: Alles auswählen
root@server:~# ip route show
default via 8.21.28.17 dev eth0 metric 100
8.0.0.0/8 dev eth0 proto kernel scope link src 8.21.28.106
10.0.0.100 dev tun0 proto kernel scope link src 10.0.0.200
192.168.0.0/24 via 10.0.0.200 dev tun0
Code: Alles auswählen
root@server:~# ip route add default via 10.0.0.200 dev tun0 table admin
root@server:~# ip route show table admin
default via 10.0.0.200 dev tun0
Update:
Habe jetzt ein wenig weiter geschaut, dabei ist mir aufgefallen das man nur eine Route zum virtuellen Interface braucht und der Rest die iptables -t mangle ... macht
Code: Alles auswählen
ip route add default via 10.0.0.200 dev tun0 table admin
## Wichtig! damit linux weiß ab wann er die Route benutzen soll
ip rule add to 192.168.0.0/24 dev tun0 table admin
## hiermit werden jetzt alle icmp Pakete für google.de markiert
iptables -t mangle -A OUTPUT -p icmp -d 74.125.226.95 -j MARK --set-mark 0x54
# Damit können jetzt die Pakete weitergeleitet werden mit 'dev tun0' gehts nicht
ip rule add fwmark 0x54 table admin
VG und danke schonmal im vorraus.