Linux als Router zur Weiterleitung

Linux als Router zur Weiterleitung

Wie kann man eine OpenStack-Instanz dazu bringen, die Route an eine andere Linux-Maschine weiterzuleiten, die keine OpenStack-Instanz ist, sich aber im selben LAN befindet?

PC_A has 192.168.1.133/27.
PC_B has 192.168.1.140/27.

PC_A has 10.26.14.16/25 route. 
PC_B has no 10.26.14.16/25 route.

Ich möchte, dass PC_B über PC_A erreicht wird 10.26.14.16/25.

Hinweis: PC_B ist eine OpenStack-Instanz. Die private IP ist 192.168.118.10/27 und die öffentliche IP ist 192.168.1.140/27.

  FW----------PC_A--------------PC_B    
      [192.168.1.133/27]    [192.168.1.140/27]  Public  IP of B
                            [192.168.118.10/27] Private IP of B              

PC_A hat 10.26.14.16/25eine Route. PC_B hat keine 10.26.14.16/25Route. Ich möchte, dass PC_B über PC_A ankommt 10.26.14.16/25.

Antwort1

Wenn PC_B keinen direkten Zugriff auf das Netzwerk 192.168.1.* hat, muss die fehlende Route den OpenStack-Netzwerkeinstellungen hinzugefügt werden, nicht in PC_B als solches.

Antwort2

Sieht einfach aus, ist es aber nicht. Glauben Sie mir!

Serverseitige Konfiguration [PC_A]

[PC_A ~]# nano /etc/sysctl.conf 
net.ipv4.ip_forward = 1


[PC_A ~]# iptables -t nat -A POSTROUTING ! -d 192.168.1.127/27 -o ens160 -j MASQUERADE

Clientseitige Konfiguration [PC_B]

PC_B ist eine Instanz von OpenStack. Seine private IP ist 192.168.118.10/27und seine öffentliche IP ist 192.168.1.140/27.

Problem:

[PC_B ~]$ sudo route add default gw 192.168.1.133 eth0

SIOCADDRT: Network is unreachable


[PC_B ~]$ route

default         host-192-168-10 0.0.0.0         UG    0      0        0 eth0

192.168.118.0   0.0.0.0         255.255.255.240 U     0      0        0 eth0

Warum SIOCADDRT: Network is unreachable? Wie ich bereits erwähnt habe, ist die öffentliche IP von PC_B 192.168.1.140/27[OpenStack-Instanz] und seine private IP ist 192.168.118.10/27.

verwandte Informationen