전달할 라우터로서의 Linux

전달할 라우터로서의 Linux

OpenStack 인스턴스가 OpenStack 인스턴스가 아니지만 동일한 LAN에 있는 다른 Linux 시스템으로 경로를 전달하도록 만드는 방법은 무엇입니까?

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.

PC_B가 PC_A를 통해 연결되기를 원합니다 10.26.14.16/25.

참고: PC_B는 OpenStack 인스턴스입니다. 사설IP는 192.168.118.10/27, 공인IP는 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에는 10.26.14.16/25경로가 있습니다. PC_B에는 경로가 없습니다 10.26.14.16/25. PC_B가 PC_A를 통해 연결되기를 원합니다 10.26.14.16/25.

답변1

PC_B가 192.168.1.* 네트워크에 직접 액세스할 수 없는 경우 누락된 경로를 PC_B가 아닌 OpenStack 네트워크 설정에 추가해야 합니다.

답변2

쉬워 보이지만 그렇지 않습니다. 나를 믿어!

서버 측 구성 [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

클라이언트 측 구성 [PC_B]

PC_B는 OpenStack의 인스턴스입니다. 그 사설IP는 이고 192.168.118.10/27, 공인IP는 입니다 192.168.1.140/27.

문제:

[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

SIOCADDRT: Network is unreachable? 앞서 언급했듯이 PC_B의 공개 IP는 192.168.1.140/27[OpenStack Instance]이고 비공개 IP는 입니다 192.168.118.10/27.

관련 정보