여러 개의 가상 IP(192.168.11.X)를 라우팅하여 테스트 서버(192.168.10.246)에 연결

여러 개의 가상 IP(192.168.11.X)를 라우팅하여 테스트 서버(192.168.10.246)에 연결

다중 연결/메시지 처리를 시뮬레이션하기 위해 서버 테스트용 테스트벤치를 설정하려고 하며 가상 IP에서 테스트 서버에 연결하려고 합니다.

클라이언트 컴퓨터(Debian)에서 "/etc/network/interfaces"를 통해 가상 IP 생성

allow-hotplug eth0
iface eth0 inet dhcp (192.168.10.2)

auto eth0:1
allow-hotplug eth0:1
iface eth0:1 inet static
address 192.168.11.1
netmask 255.255.0.0
gateway 192.168.11.1

auto eth0:5
allow-hotplug eth0:5
iface eth0:5 inet static
address 192.168.11.5
netmask 255.255.255.0
gateway 192.168.11.1


auto eth0:6
allow-hotplug eth0:6
iface eth0:6 inet static
address 192.168.11.6
netmask 255.255.255.0
gateway 192.168.11.1

서버 IP: 192.168.10.246

우리가 사용하는 테스트 클라이언트와 함께"eth0.6"서버에 연결했지만 연결에 실패했습니다.

안내를 요청했는데 라우팅 구성이 누락되었나요?

답변1

eth0:1등은 단일 인터페이스에 여러 IP 주소를 할당하는 오래된 방법입니다. 새로운 도구( ip addr)는 IP 목록만 표시합니다. 결코 "가상 인터페이스"가 아닙니다.

단일 인터페이스에 여러 개의 IPv4 주소가 있으면 각 애플리케이션에 특정 IP 주소에만 바인딩하도록 지시하지 않는 한 큰 문제가 발생할 수 있습니다(많은 애플리케이션이 이를 수행할 수 없음).

어떤 프로토콜을 테스트하고 있는지는 밝히지 않았지만 단일 시스템에서 더 복잡한 네트워크 아키텍처를 시뮬레이션하는 더 간단한 방법은 다음과 같습니다.네트워크 네임스페이스. 필요한 만큼 클라이언트를 생성하고, 가상 이더넷 쌍으로 연결하고, 각각에서 하나 이상의 클라이언트를 실행하여 테스트하려는 항목을 테스트하세요.

네트워크 네임스페이스를 설정하는 방법에 대한 튜토리얼은 Google에서 찾아볼 수 있으며 많은 튜토리얼이 있습니다. 네임스페이스당 하나 이상의 xterm을 실행하는 것이 좋습니다. 이렇게 하면 프로그램 시작이 간단해집니다.

답변2

네트워크 간에 IP 패킷을 라우팅/전달할 수 있도록 활성화된 시스템의 IP 전달 기능이 없습니다.

파일을 편집 /etc/sysctl.conf하고 다음을 추가하세요.

net.ipv4.ip_forward=1

그런 다음 다음을 수행하십시오.

sudo sysctl -p

설정에 따라 여전히 필요한지 잘 모르겠습니다./etc/sysctl.conf

net.ipv4.conf.all.rp_filter=0

또한 이 질문을 살펴보십시오.커널 IP 전달이란 무엇입니까?

관련 정보