systemd-networkd를 사용하여 외부 IP의 모든 트래픽을 KVM 게스트로 직접 라우팅합니다.

systemd-networkd를 사용하여 외부 IP의 모든 트래픽을 KVM 게스트로 직접 라우팅합니다.

Debian Buster를 실행하는 전용 서버가 있습니다. 단일 네트워크 인터페이스를 통해 연결하고 있으며 서버 공급자에게 추가 IP를 주문했습니다.

추가 IP를 직접 사용할 KVM 게스트를 설정하고 싶습니다. 나는 이 문제를 검색하여 브릿지를 사용할 수 있는 몇 가지 방법을 찾았습니다. 그러나 호스트와 게스트가 동일한 시스템에서 실행 중이라는 정보가 유출되는 것을 방지하기 위해 보조 IP 주소(게스트)에 대한 트래픽이 호스트를 통과하지 않도록 하고 싶습니다.

내 생각에는 방화벽 규칙을 사용하는 것이지만 나는 iptables 전문가가 아니며 보안상의 이유로 잘못 구성하고 싶지 않습니다.

트래픽을 게스트로 직접 라우팅하고 호스트 시스템에 도달하지 않도록 하는 가장 좋은 전략은 무엇입니까?

스택의 이더넷 수준에서 트래픽을 라우팅할 수 있습니까?

호스트는 네트워크 구성을 위해 Firewalld 및 systemd-networkd 단위 파일을 사용합니다. 호스트 IP와 추가 IP가 모두 동일한 서브넷에 있습니다. 게스트는 Debian KVM 머신이 됩니다.

편집: 트래픽 라우팅과 관련하여 호스트 방화벽(커널 네트워크 스택)을 통과한 다음 방화벽을 통과했다는 단서를 남기지 않고 게스트에게만 라우팅한다면 괜찮습니다. 이는 두 번째 IP를 통해 호스트의 서비스를 사용할 수 없음을 의미합니다.

답변1

호스트의 소프트웨어 브리지는 간단히 브리지에 호스트 IP를 구성하여 이 기능을 제공할 수 있습니다. (내부 브리지 포트에 해당하는 게스트 인터페이스에 추가 IP가 구성되어 있으며 호스트에는 보이지 않습니다.) 브리지는 이더넷 레벨(L2) 장치이며 IP 레벨(L3)에서 별도의 홉으로 나타나지 않습니다. 라우팅.

관련 정보