네트워크 네임스페이스에서 루트 네임스페이스로 LAN 트래픽만 전달

네트워크 네임스페이스에서 루트 네임스페이스로 LAN 트래픽만 전달

튜토리얼에 따라 머신을 설정했습니다.여기Wireguard 인터페이스를 유일한 인터페이스로 만듭니다. 따라서 모든 응용 프로그램은 이를 사용하여 인터넷에 액세스할 수 있습니다.

이는 의도한 대로 작동하지만 이제 LAN(192.168.0.0/16)을 LAN에서 제외하여 SSH를 통해 액세스하고 HTTP(S) 역방향 프록시 등을 사용할 수 있도록 하려고 합니다.

IP를 처음 사용하면서 (vethVPN/vethPhys) 쌍을 설정 veth하고 vethPhys IP를 통해 192.168.0.0/16에 대한 경로를 설정해 보았습니다.

ip link add name vethVPN type veth peer name vethPhys
ip link set vethPhys netns physical
ip -n physical addr add 10.0.0.1/32 dev vethPhys
ip -n physical link set vethPhys up
ip link set vethVPN up
ip -n physical route 192.168.0.0/16 via 10.0.0.1

내가 뭘 잘못한 걸까요? 이 작업을 수행하는 올바른 방법은 무엇입니까?

답변1

매우 간략하게:

LAN에서 기본 네트워크 네임스페이스의 연결을 끊으면 더 이상 LAN의 "일부"로 만들 수 없습니다.

메인 네임스페이스를 LAN과 다른 세그먼트로 처리하고 "물리적" 네임스페이스를 사용하여 LAN과 LAN 사이를 라우팅할 수 있지만, 이를 위해서는 LAN에 연결된 다른 모든 머신(예: 배포할 수 있음)에 대한 올바른 라우팅이 필요합니다. DHCP 서버가 실행되는 장치가 이를 수행할 수 있는 경우).

또는 다른 설정 을 사용할 수 있습니다. 메인 네임스페이스를 LAN에 연결한 상태로 유지하고, macvlan 및 wireguard 프로세스를 사용하여 "wireguard" 네임스페이스를 만들고, 인터페이스를 wg0해당 메인스페이스에서 메인 네임스페이스로 이동하고,wg0기본 게이트웨이.

그러면 LAN을 제외한 모든 대상 주소가 와이어가드 인터페이스를 통과하게 됩니다.

관련 정보