열려 있는 VPN에서 토렌트 자동 종료

열려 있는 VPN에서 토렌트 자동 종료

저는 Ubuntu 초보자이고 많은 멀티미디어 컨텐츠를 다운로드하기 위해 많은 토렌트를 사용합니다.

VPN 클라이언트를 켤 때 토렌트와 같은 프로그램을 자동으로 닫는 방법이 있나요? 그리고 VPN 클라이언트를 끄면 토렌트를 다시 열 수 있나요?

답변1

요청에 따라 cgroup을 사용하여 특정 프로세스가 VPN을 우회하도록 하는 예는 다음과 같습니다.

필요한 도구를 설치합니다: sudo apt-get install cgroup-lite cgroup-tools

그런 다음 이 기능을 원하는 각 부팅 시 터미널 셸에서 이 작업을 수행합니다.

sudo su
./cgroup_setup.bash
exit

cgroup_setup에 다음과 같은 내용이 포함되어 있는 경우(myuser, mynetworkdevice 및 mygatewayip를 적절하게 변경):

#!/bin/bash

# Define a control group named novpn with a classid of 11:11
sudo cgcreate -a $USER:$USER -t $USER:$USER -g net_cls:novpn
echo 0x00110011 > /sys/fs/cgroup/net_cls/novpn/net_cls.classid

# Change ownership so myuser can run processes bypassing the vpn
sudo chown myuser:myuser /sys/fs/cgroup/net_cls/novpn
sudo chown myuser:myuser /sys/fs/cgroup/net_cls/novpn/*

# Add mark 11 on packets of classid 0x00110011
iptables -t mangle -A OUTPUT -m cgroup --cgroup 0x00110011 -j MARK --set-mark 11

# Force the packets to exit through my interface (mynetworkdevice) with NAT
iptables -t nat -A POSTROUTING -m cgroup --cgroup 0x00110011 -o mynetworkdevice -j MASQUERADE

# Define a new "novpn" routing table
# This is persistent so it does not actually need to be done each time in script...
echo 11 novpn >> /etc/iproute2/rt_tables

# Packets with mark 11 will use novpn
ip rule add fwmark 11 table novpn

# Add a route for default gateway for novpn
ip route add default via mygatewayip table novpn

# Unset reverse path filtering for all interfaces
for i in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $i; done

# Create control group
cgcreate -t $USER:$USER -a $USER:$USER -g net_cls:novpn

이제 cgexec를 사용하여 VPN을 우회하는 프로세스를 실행할 수 있습니다. 예:

killall firefox
cgexec -g net_cls:novpn firefox

VPN이 실행 중인 상태에서 Firefox를 정상적으로 실행하는 경우 공용 IP가 VPN IP임을 확인해야 합니다. 그러나 VPN을 우회하는 cgexec를 사용하면 실제 홈 IP인지 확인할 수 있습니다.

관련 정보