개인 네트워크 네임스페이스에서 wg-quick의 라우팅 규칙을 이해하십니까?

개인 네트워크 네임스페이스에서 wg-quick의 라우팅 규칙을 이해하십니까?

이 문제로 며칠째 고민중이라 그림을 그려봤습니다(포스트 하단에).

문맥

두 개의 네임스페이스가 있는 VPS가 있습니다.

  • 네임스페이스 초기화(루트)
  • 사용자 정의 네임스페이스(내 멋진 네임스페이스)

my cool namespace사고 실험으로서 Wireguard(에서 호스팅됨 )를 통해 연결된 애플리케이션만 10.0.0.0/16 서브넷의 애플리케이션에 액세스하고 서브넷 외부에서 아웃바운드 요청을 할 수 있기를 바랍니다.아직공용 인터넷에 액세스할 수 있습니다.

예를 들어:

  • WG 클라이언트 1 ping 10.0.0.1:8000 -> 애플리케이션 로딩 중
  • WG 클라이언트 1 ping 1.1.1.1 -> 애플리케이션 로딩 중

내가 무슨 직업을 갖고 있지?

를 사용하고 있다는 말로 이 말을 시작해야 합니다. wg-quick모든 라우팅 테이블을 해독하려고 시도한 후에는 네트워크 네임스페이스 내에 고유한 이상한 점이 있지만 거기까지입니다.

  • eth0 + WG 포트의 UDP 트래픽을 내 veth 쌍으로 전달하기 위해 iptables dnat 규칙을 추가했습니다. 이는 피어를 연결하여 네임스페이스에서 호스팅되는 애플리케이션에 액세스할 수 있게 하는 것으로 보입니다. 그러나 클라이언트(또는 서버)에서 외부 세계로 ping을 보낼 수 없습니다.
  • 인터페이스 를 제거하면 wg0(wg-quick down) 외부 세계에 다시 ping을 보낼 수 있습니다.

이는 확실히 라우팅 테이블 문제이며 기본 라우팅 테이블과 wg-quick으로 구축된 wireguard 라우팅 간의 충돌일 가능성이 높다는 것을 알려줍니다.

누군가가 패킷이 어디로 흘러야 하는지, 어디로 리디렉션되어야 하는지, 이 작업을 수행할 때 고려해야 할 IPtables 규칙에 대한 전반적인 정신 모델을 단순화할 수 있기를 바랍니다.

나는 배우고 있기 때문에 veth 쌍과 함께 이 설정을 유지하고 브리지, 튜닝/탭 등을 도입하지 않기를 원합니다.

여기에 이미지 설명을 입력하세요.

관련 정보