여러 서브넷 간 라우팅


10

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 및 / 또는 route를 구성하는 데 도움이 필요합니다. 나는 이것을 시험해 보았지만 한 방향으로 핑을 허용하는 솔루션 만 생각해 낼 수 있습니다 (icmp 패킷은 단지 예일뿐입니다. 궁극적으로 ssh, telnet, ftp 등 호스트 간의 완전한 네트워크 기능을 원합니다) .

답변:


8

다섯 개 네트워크를 그래서 좋아, 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. 물론 모든 인터페이스에 정적 주소와 넷 마스크를 추가해야합니다.

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

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

ip위 의 명령은 설정을 영구적으로 만들지 않으므로 배포 방법에 따라 다릅니다.

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


도움을 주셔서 감사합니다. 라우터에 라우터를 핑 (10.0.1.1 ~ 10.0.2.1) 할 때 조언하지만 다른 호스트를 핑 할 때는 작동하지 않습니다. 예를 들어, 10.0.1.1에서 10.0.2.2로 핑을 수행하면 트래픽이 10.0.2.2 호스트로 라우팅되지 않습니다. 어떻게 든 iptables 조작을 제안 하시겠습니까? 나는 며칠 동안 이것을 실험했지만 아무 소용이 없습니다.
greyline

표준 라우팅 기술이면 충분합니다. 점검 목록은 다음과 같습니다. 1. 모든 주소는 호스트에 설정해야합니다 (예 : ip addr add 10.0.2.2/24 dev eth0). 2. 위와 같이 4 개의 라우터 상자에 경로를 설정해야합니다. 3. 기본 경로 비 라우터 박스에서 네트워크의 라우팅 박스를 가리 키도록 설정해야합니다 (예 : 10.0.1.1을 통한 ip route 추가 기본값). 4. 4 개의 라우터 박스에서 cat / proc / sys / net / ipv4 / ip_forward "1"을 인쇄하십시오.
Johan Myréen

위의 ip route 명령에서 실수를 수정했습니다. 또한 실제로이 설정을 테스트했지만 10.0.x.0쪽에 2 개의 라우팅 상자와 2 개의 호스트가있는 4 개의 컴퓨터 만 있습니다. 효과가있다!
Johan Myréen

Johan, 추가 의견을 보내 주셔서 감사합니다. 이 설정이 작동합니다. 내가 사용하고있는 Linux 이미지에 문제가있는 기본 iptables 규칙이 있음이 밝혀졌습니다. 이것에 대한 나의 학습에 도움을 주셔서 감사합니다.
greyline
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.