몇 가지 관련 질문을 찾았지만 그 중 어느 것도 내 특정 문제를 해결하지 못하는 것 같습니다.
하나의 서버가 켜져 10.a.b.1
있고 다른 서버가 에 있습니다 10.c.d.2
. 우리는 AWS EC2 클래식을 사용하고 있으며 내부 IP를 제어할 수 없으므로 중간 옥텟은 다르지만 관련이 없습니다.
서버 2는 OpenVPN을 실행 중이며 다른 네트워크에 대해 알고 있습니다 10.10.10.0/24
. 서버 1이 해당 네트워크에 액세스할 수 있기를 바랍니다. 이는 서버 1과 다른 네트워크의 관련 서버에서 경로를 업데이트한다는 의미입니다.
즉, 서버 1은 10.10.10.0/24 트래픽을 서버 2로 보내야 하고, 다른 네트워크의 서버는 10.ab1 트래픽을 서버 2로 보내야 합니다. 서버 2에 변경 사항이 필요한지 확실하지 않습니다. 실제로 트래픽을 전달하기 위해 IP 전달 또는 iptables가 필요할 수 있습니다.
이제 서버 1에 갇혔습니다.
server1$ ip route add 10.10.10.0/24 via 10.c.d.2 dev eth0
불행하게도 이것은 실패합니다: RTNETLINK answers: Network is unreachable
.
10.cd2에서 서버 1에서 서버 2로의 경로를 성공적으로 ping하고 추적할 수 있는데 왜 이 경로를 추가할 수 없는지 혼란스럽습니다.
답변1
10.ab1과 10.cd2는 같은 네트워크에 있지 않습니까?
접두사 길이가 충분히 짧은 경우(예: /8) 동일한 네트워크에 있을 수 있습니다. 접두사 길이를 지정하지 않았지만 그렇게 짧지도 않고 실제로 동일한 네트워크에 있지도 않은 것 같습니다.
경로는 로컬 링크의 다음 홉만 대상으로 지정할 수 있습니다. 따라서 트래픽을 server2에 한 홉 더 가깝게 가져오는 라우터를 가리키는 servr1에 10.10.10.0/24에 대한 경로를 설치할 수 있습니다. 그렇다면 이 라우터는 트래픽을 어떻게 처리할까요? server2에 한 단계 더 가까워지려면 라우팅을 통해 어디로 보낼지 알아야 합니다. 등. 그러나 중간 라우터를 제어할 수 없으므로 아마도 그렇게 할 수 없을 것입니다.
server1에서 server2로 트래픽을 라우팅하려는 경우(로컬 링크를 통해 10.10.10.0/24로 연결될 수 있음) 가장 좋은 옵션은 트래픽을 터널링하는 것입니다. server1과 server2 사이에 터널(GRE 등...)을 생성하거나 더 간단하게는 server1과 10.10.10.0/24 사이에 터널을 생성합니다.