![Linux 클러스터 네트워크 토폴로지를 재구성하기 위한 Python 스크립트 [닫기]](https://linux55.com/image/123002/Linux%20%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%20%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC%20%ED%86%A0%ED%8F%B4%EB%A1%9C%EC%A7%80%EB%A5%BC%20%EC%9E%AC%EA%B5%AC%EC%84%B1%ED%95%98%EA%B8%B0%20%EC%9C%84%ED%95%9C%20Python%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%20%5B%EB%8B%AB%EA%B8%B0%5D.png)
설정: 집에는 홈 네트워크의 스위치(일반 라우터)를 통해 상호 연결된 라즈베리 파이 4개가 있습니다. 이제 내 컴퓨터에서 해당 파일에 액세스하고 SSH를 사용할 수 있습니다.
내가 원하는 것: 작은 "클러스터"의 네트워크 토폴로지를 자동으로 재구성하는 Python 스크립트를 작성하고 싶습니다. 물리적으로는 모두 서로 연결되어 있지만 1 -> 2 -> 3 -> 4 -> 1의 링 토폴로지로 통신하도록 노드를 구성하고 싶습니다. 다른 토폴로지도 가능합니다.
목적: 그런 다음 네트워크 토폴로지를 쉽게 재구성한 다음 클러스터에서 분산 애플리케이션을 테스트하고 어떻게 작동하는지 확인할 수 있습니다.
질문: 우선, Linux에서 네트워크 토폴로지를 재구성하려면 어떤 구성 파일을 터치해야 하는지 알고 싶습니다. 저는 Linux를 알고 있지만 전문가는 아니기 때문에 몇 가지 팁을 모으고 싶습니다. 좋은 아이디어는 먼저 수동으로 구성한 다음 스크립트를 사용할 수 있다는 것입니다. 예를 들어, 내 생각은 클러스터의 각 노드에 라우팅 테이블 항목을 추가하여 노드 x가 소스 노드와 대상 노드를 기반으로 들어오는 패킷을 다음 홉으로 전달하도록 하는 것입니다. 완전히 새로운 라우팅/전달을 통해 새로운 네트워크 토폴로지를 구축할 수 있습니다. 예를 들어 링 토폴로지에서 노드 1은 패킷을 노드 3으로 보내려면 노드 2로 패킷을 전달해야 합니다. 따라서 중간에 추가 노드/홉이 있습니다.