나는 2개의 인터페이스 myvpnserver
와 다음 을 갖춘 Debian Linux VPN 라우터를 가지고 있습니다 eno1
:eno2
eno1
LAN 및 인터넷 라우터에 연결합니다. 고정 IP 주소가 있는 이 인터페이스에는myvpnserver
기본 게이트웨이(인터넷으로 연결)가 있습니다. OpenVPN은 이 인터넷 연결을 사용하여 VPN 서버에 연결합니다.eno2
스위치에 연결되었습니다. DHCP 서버는 이 인터페이스에서 실행됩니다. 연결된 클라이언트의 모든 트래픽이eno2
VPN/tun0을 통해 라우팅되기를 원합니다 .
기본 설정이 잘 작동합니다. 내가 연결된 호스트에서 eno2
VPN LAN의 원격 호스트(예 10.123.0.0/24
: )에 액세스할 수 있습니다.
다음 목표는 myvpnserver
소스 주소나 인터페이스를 기반으로 라우팅하는 것입니다.
myvpnserver
인터넷(예 ftp.debian.org
: VPN 호스트) 에 연결되어 있는 경우 기본 게이트웨이를 사용해야 합니다 eno1
. 연결하려는 클라이언트가 eno2
동일한 인터넷 호스트(예: ftp.debian.org
)에 연결하려는 경우 트래픽은 기본 게이트웨이 tun0
가 아닌 VPN/을 통해 myvpnserver
라우팅되어야 합니다.
// For Incoming Traffic:
If( InputInterface = eno2 ) Then
default_gateway = 172.17.100.1
Else
default_gateway = gateway as declared in /etc/network/interfaces
End If
내가 찾은정책 기반 라우팅가야 할 길인 것 같습니다. "일반" 라우팅은 대상에만 기반을 두는 반면, 정책 기반 라우팅은 입력 인터페이스나 소스 IP 범위와 같은 다른 측면을 고려할 수 있다고 합니다.
어떤 조치를 취해야 합니까? (저는 Debian 11/Bulseye를 사용하고 있습니다.)
1000 vpntunnel
1.) 에 한 줄을 추가했습니다 /etc/iproute2/rt_tables
.
무엇 향후 계획? 구성 예를 들어주실 수 있나요?
어떤 조언이라도 진심으로 감사드립니다!
답변1
다음 단계는 정책 규칙과 라우팅 테이블 항목을 추가하는 것만큼 간단할 수 있습니다.
당신은 시도 할 수 있습니다:
ip route add default via 172.17.100.1 table 1000
ip rule add type unicast iif eno2 table 1000 pref 30000
나는 172.17.100.1이 VPN 터널의 다른 쪽 끝이라고 가정합니다. 표에서는 값 1000을 사용했지만 "vpntunnel"이라는 항목을 추가했으므로 해당 이름을 사용할 수 있습니다.
VPN에 내 권장 사항과 충돌할 수 있는 일부 구성 설정이 이미 있을 수 있습니다. " ip rule show
" 및 " " 의 출력이 ip route show table all
이 문제에 유용할 수 있습니다. 또한 기존 iptables 구성을 권장 솔루션으로 변경해야 할 수도 있습니다.