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 구성을 지웁니다.mangle
filter
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