여러 서브넷 간 라우팅

여러 서브넷 간 라우팅

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

10.0.1.0/24좋습니다. 5개의 네트워크 , 10.0.2.0/24, 10.0.3.0/24및 , 그리고 이들 사이에 라우팅되는 4개의 상자가 있습니다 . 라우팅 박스의 주소가,,,,이라고 가정합니다.10.0.4.0/24192.168.0.0/2410.0.1.1/192.168.0.110.0.2.1/192.168.0.210.0.3.1/192.168.0.310.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개의 호스트 사이에서 실행되는 중앙 라우터나 스위치가 필요하거나 각 호스트에 더 많은 인터페이스가 필요합니다.

관련 정보