특정 프로그램에 대해 VPN을 통한 트래픽

특정 프로그램에 대해 VPN을 통한 트래픽

Deluge의 트래픽은 VPN(OpenVPN)만 통과하고 다른 트래픽은 iptables를 통과하지 못하게 할 수 있나요?

답변1

Deluge User Guide에는 이에 대한 페이지가 있습니다.VPN으로 Deluge 설정. 기본 Torrent-VPN 설정을 위한 스크립트는 다음에서 찾을 수 있습니다.이 GitHub 저장소. README.md 파일에는 OpenVPN에 대한 일부 내용도 포함되어 있습니다.

OpenVPN에서 이러한 스크립트를 사용하려면 저장소를 복제하고 vpn_base.sh. openvpn 클라이언트 구성을 편집하고 다음 줄을 추가합니다.

up "/path/to/repo/link_up_user_filter.sh"

openvpn 클라이언트를 시작할 때 외부 스크립트의 자동 실행을 허용하려면 매개변수를 사용하여 openvpn을 실행 --script-security 2하거나 클라이언트 구성에 다음 줄을 추가하세요.

script-security 2

그들이 말하는 '가치' vpn_base.sh는 다음과 같습니다.

VPNIF="tun0"
NETIF="eth1"
VPNUSER="vpnuser"
TABLE_ID=42
MARK_ID=0x10

나는 이 스크립트에 익숙하지 않지만 다음과 일치한다고 생각합니다.

  • VPN 트래픽용 네트워크 인터페이스입니다.
  • 인터넷에 연결하는 네트워크 인터페이스입니다.
  • VPN 소프트웨어를 실행하는 사용자( openvpn귀하의 경우?)
  • 사용 가능한 라우팅 테이블 ID입니다.
  • 사용 가능한 패킷 태그 ID입니다.

설정이 완료되면 스크립트는 일부 라우팅/방화벽 규칙을 설정해야 하며 Deluge 트래픽은 OpenVPN을 통과해야 합니다.

그러나 다음과 같은 경고의 말씀이 있습니다.이러한 스크립트는 IPTables의 및 테이블 nat을 새로 고치는 것으로 나타나 지금까지 구성한 모든 IPTables 구성을 지웁니다.manglefilter

iptables -F -t nat
iptables -F -t mangle
iptables -F -t filter

iptables-save먼저 양식을 저장하거나 user_filter/iptables_user_filter.sh파일을 편집 하세요 .

더 자세히 알아보고 싶다면 다음 링크를 참조하세요.

답변2

애플리케이션을 구체적으로 대상으로 지정할 수 없으므로 종속성이 없는 유일한 솔루션은 모든 포트를 VPN으로 연결하는 iptables 구성을 만드는 것입니다. 하지만 무엇을 전달할지 알아야 하며 실수하기 쉽습니다.

더 나은 솔루션은 Linux 컨테이너를 사용하고 그 안에서 애플리케이션을 실행하는 것입니다. 그런 다음 컨테이너의 네트워크 카드가 모든 트래픽을 VPN으로 전달하도록 합니다. 이것은 Arch에 대한 튜토리얼이지만 기본 개념은 모든 배포판에 적용됩니다.

https://wiki.archlinux.org/index.php/OpenVPN_in_Linux_containers

관련 정보