여러 서브넷 간 라우팅

여러 서브넷 간 라우팅

4개의 서브넷이 있는 내부 네트워크를 만들고 싶다고 가정해 보겠습니다. 중앙 라우터나 스위치가 없습니다. 4개의 서브넷(192.168.0.0/24) 모두에서 게이트웨이를 연결하는 데 사용할 수 있는 "관리 서브넷"이 있습니다. 일반적인 다이어그램은 다음과 같습니다.

10.0.1.0/24 <-> 10.0.2.0/24 <-> 10.0.3.0/24 <-> 10.0.4.0/24

즉, 각 서브넷에 2개의 인터페이스(10.0.x.1 및 192.168.0.x)가 있는 단일 Linux 상자를 구성합니다. 이는 각 서브넷의 게이트웨이 장치로 작동합니다. 각 10.x/24 서브넷에는 여러 호스트가 있습니다. 다른 호스트에는 10.0.xx로 사용할 수 있는 인터페이스가 1개만 있습니다.

각 호스트가 다른 서브넷에 있는 다른 호스트를 ping할 수 있기를 바랍니다. 내 질문은 첫 번째입니다. 이것이 가능합니까? 둘째, 그렇다면 iptables 및/또는 경로를 구성하는 데 도움이 필요합니다. 나는 이것을 실험해 왔지만 한 방향으로의 핑을 허용하는 솔루션만 생각해낼 수 있었습니다(icmp 패킷은 단지 예일 뿐이며 궁극적으로 호스트 간의 전체 네트워크 기능(예: ssh, telnet, ftp 등)을 원합니다) .

답변1

좋습니다. 5개의 네트워크 10.0.1.0/24, 10.0.2.0/24, 10.0.3.0/24, 10.0.4.0/24192.168.0.0/24, 그리고 이들 사이에 라우팅되는 4개의 상자가 있습니다. 라우팅 박스의 주소가 10.0.1.1/192.168.0.1, 10.0.2.1/192.168.0.2, 10.0.3.1/192.168.0.3및 이라고 가정해 보겠습니다 10.0.4.1/192.168.0.4.

10.0.x.0/24다음과 같은 명령을 사용하여 각 라우터 상자의 다른 네트워크에 고정 경로를 추가해야 합니다 (수정됨!).

# on the 10.0.1.1 box
ip route add 10.0.2.0/24 via 192.168.0.2
ip route add 10.0.3.0/24 via 192.168.0.3
ip route add 10.0.4.0/24 via 192.168.0.4

그리고 다른 라우터 박스의 해당 경로. 인터페이스가 하나만 있는 비라우팅 상자에서는 기본 경로를 를 가리키도록 설정합니다 10.0.x.1. 물론 모든 인터페이스에 정적 주소와 넷마스크도 추가해야 합니다.

또한 Linux는 기본적으로 라우터로 작동하지 않으므로 다음을 사용하여 패킷 전달을 활성화해야 합니다.

echo 1 > /proc/sys/net/ipv4/ip_forward

위의 명령 ip은 설정을 영구적으로 만들지 않으며, 이를 수행하는 방법은 배포에 따라 다릅니다.

내가 말했듯이, 나는 이것을 테스트하지 않았으며 뭔가를 잊었을 수도 있습니다.

답변2

이전에 허용된 대답은 4개의 호스트 각각에 2개의 인터페이스만 있는 경우 중앙 라우터나 스위치가 없으면 2개의 네트워크에만 직접 연결할 수 있다는 사실을 무시하는 것입니다.

이 두 인터페이스 중 하나를 사용하여 자체 서브넷의 클라이언트에 연결하는 경우 다른 세 호스트에 연결하는 인터페이스는 하나만 있습니다.

따라서 이 4개의 호스트 사이를 이동하려면 중앙 라우터나 스위치가 필요하거나 각 호스트에 더 많은 인터페이스가 필요합니다.

관련 정보