여러 서브넷 간 라우팅


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/24와 192.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.