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

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

튜토리얼에 따라 머신을 설정했습니다.여기Wireguard 인터페이스를 유일한 인터페이스로 만드세요. 그러면 모든 애플리케이션이 인터넷에 액세스하는 데만 Wireguard 인터페이스를 사용할 수 있습니다.

예상대로 작동하지만 이제 LAN(192.168.0.0/16)을 LAN(192.168.0.0/16)에서 제외하여 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를 통해(DHCP 서버를 실행하는 장치가 이를 수행할 수 있는 경우)

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

이렇게 하면 LAN 이외의 모든 대상 주소가 Wireguard 인터페이스를 통과하게 됩니다.

관련 정보