시스템 전체 VPN에 자주 연결하는데 특정 애플리케이션이 해당 VPN을 우회해야 합니다. 내 홈 네트워크에서는 현재 내가 사용하는 다른 상자(예: 별도의 "VPN 없음" Firefox 프로필)에서 SOCKS 프록시를 실행하고 있습니다. 나에게 필요한 것은 인터페이스 수준에서 모든 LAN에서 이 작업을 수행할 수 있는 독립적인 방법이지만 반드시 그런 것은 아닙니다.
- 이러한 인터페이스를 생성하고 사용 가능한 "상위" 연결(이더넷, WiFi)을 사용하려면 어떻게 해야 합니까? 이것은 TUN/TAP입니까? 다리?
- 라우터에서 얻은 원래(VPN 없음) 기본 경로를 이 인터페이스에 적용하여 트래픽이 VPN의 새 기본 경로를 우회할 수 있도록 하는 방법이 있습니까? 예를 들어, 호텔 WiFi에서 "그냥 작동"하려면 이 기능이 필요합니다.
VirtualBox에는 자체 MAC/IP를 사용하여 LAN에 있는 별도의 물리적 장치처럼 보이는 멋진 "브리지" 네트워크 어댑터가 있습니다. 어쩌면 그것을 복제하는 방법이 있을까요?
특정 ip
명령이나 NetworkManager 지시문(Debian KDE 실행)을 찾으십시오.
답변1
네트워크 네임스페이스에 무언가를 구체적으로 추가하려면 macvlan
또는 ipvlan
인터페이스를 만드세요. 이는 VirtualBox의 "브리지 네트워킹" 네트워크 탭 드라이버가 작동하는 방식과 가장 가까운 기본 제공 기능입니다. macvlan은 자체 MAC 주소를 가지며 상위 인터페이스에 대한 브리지 역할을 하는 반면 ipvlan은 원래 MAC 주소를 공유합니다.
Macvlan 인터페이스는 MAC 주소를 지원하지 않습니다위장VirtualBox는 Wi-Fi 네트워크에 연결된 경우에도 이 작업을 수행하므로(연결된 클라이언트당 하나의 MAC로 제한됨) ipvlan이 더 유용한 옵션이 될 것입니다.
(또는 veth
-pair를 생성하여 기본 네임스페이스와 별도의 네임스페이스 사이의 케이블 역할을 할 수 있습니다. 패킷은 호스트의 라우팅 테이블을 따르며, 여기서 "정책 라우팅"을 사용하여 veth0의 모든 항목이 특정 테이블을 사용하도록 지시할 수 있습니다. )
다른 모든 경우에 이 가상 인터페이스는 가상 인터페이스와 정확히 동일한 작업만 수행하므로 실제로 유용하지 않습니다.진짜인터페이스도 마찬가지입니다. 원래 eth0
인터페이스는 wlan0
로컬 네트워크에 대한 액세스 권한을 잃지 않았으므로 실용적인 유일한 방법인 새 ipvlan 인터페이스를 생성했더라도 새 인터페이스는 필요하지 않습니다.사용이는 기본적으로 이미 수행한 것과 동일한 프로세스를 수행하는 것입니다.
즉, VPN이 활성화되어 있어도여전히 소프트웨어에 소켓을 wlan0에 바인딩하도록 지시할 수 있습니다.또는 wlan0의 IP 주소는 가상 인터페이스를 사용하는 것과 같습니다. 어느 쪽이든 사용할 기본 경로에 영향을 미치는 것은 인터페이스가 아닌 라우팅 테이블입니다. "정책 라우팅"을 망쳐야 합니다. 작동시키려면 작동하므로 실제 인터페이스를 사용하여 수행하는 것이 더 좋습니다.