참고 : (2016-02-22)이 구성은 VPN을 통해 보내는 대신 일반 WAN을 통해 토런트 추적기에 DNS 쿼리를 유출한다는 것을 알았습니다. 이 문제를 해결하는 방법을 조사 중입니다. 연결 자체가 VPN을 올바르게 사용하기 때문에 구성을 계속 실행하려고합니다.
업데이트 : Beaglebone에서 전송을 밤새 다운로드하도록 설정하면 CPU 사용량이 잠시 후 100 %로 이동합니다. 같은 시간이 지나면 발생하지 않는 것 같습니다. 때로는 밤새 괜찮으며 다른 시간에는 10 분 후에 어려움을 겪습니다. 또한 모든 토런트를 일시 중지하고 CPU로드가 정상으로 돌아 오기를 기다렸다가 다시 시작하여 복구 할 수 있습니다. 아직 조사 중입니다. 해결 방법은 좋지 않지만 정기적으로 급류를 일시 중지했다가 다시 시작하는 것이 좋습니다.
참고 이 단지는 Beaglebone 적용 문제, 그리고 아마도 다른 ARM 장치. x86 CPU 에서이 문제가 발생하지 않았습니다.
소개
BeagleBone Black에서 실행되는 Ubuntu 14.04에 대한이 솔루션을 개발하고 테스트했습니다. 내가 사용하는 VPN 공급자를 ibVPN 이라고 합니다 . OpenVPN 호환 VPN 공급자와 함께 지원되는 모든 하드웨어 (예 : "일반"x86 컴퓨터)에서 작동해야하며 14.10 이상에서 작동해야합니다. 언젠가 우분투가 부팅을 위해 SystemD를 사용할 것이라고 생각합니다. 이것은 여기서 사용 된 Upstart 스크립트를 마이그레이션해야한다는 것을 의미합니다. 업데이트 : Jonas Kalderstam 은 SystemD 사용 에 대한 답변이 아래 에 있습니다. 또한 ufw가 방화벽으로 사용되고 있다고 가정하고 있습니다. 다른 것을 사용하는 경우 여기에서 ufw 명령을 변경해야합니다.
모든 작업은 시스템에 대한 SSH 연결을 통해 수행된다고 가정 하지만 실제 터미널에 입력하면 제대로 작동합니다.
이것은 매우 긴 튜토리얼이므로 먼저 모든 내용을 읽고 수행 할 작업에 익숙해야합니다.
또한 UPnP / NAT-PMP 데이터 전송을 위해 전송이 IP 주소에 올바르게 바인딩되지 않는 것으로 나타났습니다. 예를 들어 토렌트 데이터가 VPN을 올바르게 통과하지만 UPnP 포트 전달이 활성화 된 경우 전송은 로컬 라우터에서 포트 전달을 요청합니다 VPN 서버의 VPN을 통하지 않습니다. 따라서 Upstart 스크립트가 포트 포워딩을 비활성화했습니다. 작동하는 것처럼 보일 수는 있지만 포트 포워딩은 작동하지 않습니다. iptables와 iproute를 사용하여 debian-transmission 사용자의 모든 트래픽을 VPN을 통해 강제로 실행할 수는 있지만 여전히 조사 중입니다. 기본 경로가 VPN을 통해 모든 인터넷 데이터를 보내도록 변경 된 경우에도 작동해야하지만이 서버를 다른 용도로도 사용하기 때문에 그렇게하고 싶지 않으며 모든 시스템 업데이트가 VPN.UPnP가 VPN을 통해 작동하게하려면이 질문에 추가 정보가 있습니다 .
업데이트 : falk0069에는 VPN을 통해 UPnP를 장려하는 데 유용한 환상적인 팁이 있습니다 .
OpenVPN 설치 및 구성
우분투를 사용하기 전에 VPN 연결을 시도하는 것이 좋습니다. 데스크톱에서. 구성이 올 바르고 디버깅에 소요되는 시간이 줄어 듭니다.
먼저 필요한 패키지를 설치하십시오
sudo apt-get install openvpn
다음으로, 구성 파일을 저장할 디렉토리를 만드십시오. / opt / ibVPN을 사용하고 있습니다. 사용중인 제공자이기 때문입니다. 원하는대로 변경하십시오.
sudo mkdir /opt/ibVPN
이 새 디렉토리에서 가장 먼저 할 일은 VPN 클라이언트를 실행하기위한 구성 파일을 작성하는 것입니다. ibVPN은 리눅스 사용자를위한 기본 설정 파일을 제공합니다.
cd /opt/ibVPN
sudo vim config.ovpn
VPN 제공 업체의 설정을 사용하여 편집 한 버전을 vim에 복사하여 붙여 넣습니다. 참고로, Ubuntu 터미널에 붙여 넣기는 Ctrl+Shift+V
입니다. VPN 제공 업체에서이 정보를 얻을 수 있습니다.
remote 888.888.888.888 1194 udp #This address will be different for you
client
dev tap1
resolv-retry infinite
script-security 3 system
explicit-exit-notify 3
persist-key
mute-replay-warnings
ca ibvpn.com.crt
comp-lzo
verb 3
mute 20
ns-cert-type server
fragment 1300
route-delay 2
reneg-sec 0
max-routes 5000
link-mtu 1578
auth-user-pass pass
auth-nocache
persist-tun
route-noexec
lport 1195
lladdr 00:FF:11:AA:BB:CC
route-up "/opt/home/openvpn/route-up.sh"
down "/opt/home/openvpn/down.sh"
vim에 익숙하지 않은 사용자는 Insert
을 눌러 텍스트를 입력하거나 붙여 넣은 다음을 누르고 Escape
입력 :wq
하여 저장하고 종료하십시오. 물론 vim을 사용할 필요는 없습니다. 모든 텍스트 편집기가 작동합니다.
이 구성 파일에 대해 빨리 설명하겠습니다. 처음 18 줄은 서버와 함께 사용할 특정 설정을 지정합니다.이 설정은 ibVPN에서 제공됩니다. 다른 제공 업체가있는 경우 사용자 설정이 약간 다를 수 있습니다. 다음 줄은 내가 지정한 옵션으로 수정되었습니다.
설정 파일에가있는 줄이 있으면 auth-user*
주석 처리하십시오. 이 설정이 자동으로 작동하려면 사용자 이름과 비밀번호가 포함 된 파일이 있어야합니다. 따라서 VPN 제공 업체에 대해 선택한 비밀번호가 강력하고 무작위이며 고유해야합니다.
이 명령 auth-user-pass pass
은 OpenVPN에 pass
사용자 및 암호를 읽기 위해 호출 된 파일을 찾도록 지시 합니다.
auth-nocache
메모리에서 비밀번호를 제거하므로 걱정되는 경우 보안이 약간 향상 될 수 있습니다.
persist-tun
연결이 끊어지면 서버에서 동일한 IP 주소를 유지하려고 시도하므로 전송 데몬 시작 및 중지가 줄어들 것입니다.
route-noexec
OpenVPN 클라이언트가 서버가 제공 한 경로를 자동으로 사용하지 않도록 지시합니다.이 경로는 VPN을 통해 모든 네트워크 트래픽을 가져옵니다. 토렌트 트래픽 만 보내려고하므로 다른 라우팅 설정을 사용해야합니다.
lport 1195
OpenVPN 클라이언트가 1194 대신 포트 1195를 사용하도록 지시합니다. 필자의 경우 동일한 장치에서 OpenVPN 서버를 실행하고 싶습니다. 서버는 포트 1194를 사용해야합니다. OpenVPN 서버를 실행하지 않더라도 OpenVPN 서버는 이 변경을 위해 아프지 않습니다.
별도의 OpenVPN 서버를 실행하기 때문에 다시 OpenVPN에 의해 할당되지 않고 tap1이되도록 가상 회선 dev tap
을으로 변경했습니다 dev tap1
. VPN 서버를 실행하지 않더라도이 변경은 중요하지 않습니다. 방화벽 스크립트는 사용하도록 작성 tap1
되었으므로 다른 장치를 사용하려는 경우 해당 위치에서 해당 스크립트를 변경해야합니다.
lladdr 00:FF:11:AA:BB:CC
이 MAC 주소를 갖도록 탭 인터페이스를 할당하도록 OpenVPN에 지시합니다. 이는 iptables 방화벽 규칙에 유용 할 수 있습니다.
route-up
및 down
실행 스크립트를 시작하고 필요에 따라 전송 - 데몬을 중지합니다 - 그들은 올바른 IP 주소와 포트에 제대로 결합 전송에 필요한 연결에 대한 정보를 포함하는 환경 변수로 실행되기 때문에이 여기에 필요하다.
필자의 경우 VPN 공급자의 서버 인증서가 있는데 구성 파일과 동일한 디렉토리에 있어야합니다.
sudo vim /opt/ibVPN/ibvpn.com.crt
이것을 복사하여 붙여 넣거나 SCP 또는 SSHFS를 통해 이동하십시오.
-----BEGIN CERTIFICATE-----
MIIDeDCCAuGgAwIBAgIJAMVKgpjMPUfxMA0GCSqGSIb3DQEBBQUAMIGFMQswCQYD
VQQGEwJVUzELMAkGA1UECBMCQ0ExFTATBgNVBAcTDFNhbkZyYW5jaXNjbzEVMBMG
A1UEChMMRm9ydC1GdW5zdG9uMRgwFgYDVQQDEw9Gb3J0LUZ1bnN0b24gQ0ExITAf
BgkqhkiG9w0BCQEWEm1lQG15aG9zdC5teWRvbWFpbjAeFw0xMDA3MjExOTU5MzVa
Fw0yMDA3MTgxOTU5MzVaMIGFMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFTAT
BgNVBAcTDFNhbkZyYW5jaXNjbzEVMBMGA1UEChMMRm9ydC1GdW5zdG9uMRgwFgYD
VQQDEw9Gb3J0LUZ1bnN0b24gQ0ExITAfBgkqhkiG9w0BCQEWEm1lQG15aG9zdC5t
eWRvbWFpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAz23m3BXY5Asiw8Dx
T4F6feqsp+pIx6ivftTniyUCbSAxI1J1s1x75DzxmUpIwPu5xavzgPXgZr8FT81X
JGqF9km4AE95iddJawKx0wNgdTo7GximQq9rw0dsQIB5hZZQ9TJwHC3VOnmEic5A
OawKOCybMcRs8saLakZOgh7Xc+UCAwEAAaOB7TCB6jAdBgNVHQ4EFgQUeRhE2N4l
XwL4H1dbjkZ4ou6fj3AwgboGA1UdIwSBsjCBr4AUeRhE2N4lXwL4H1dbjkZ4ou6f
j3ChgYukgYgwgYUxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEVMBMGA1UEBxMM
U2FuRnJhbmNpc2NvMRUwEwYDVQQKEwxGb3J0LUZ1bnN0b24xGDAWBgNVBAMTD0Zv
cnQtRnVuc3RvbiBDQTEhMB8GCSqGSIb3DQEJARYSbWVAbXlob3N0Lm15ZG9tYWlu
ggkAxUqCmMw9R/EwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQASt0pl
WzVseQLTNM8Mlgw4ZnGAv/x2xnijmMqrkE+F7pnaOicGpxgCfMKzjZuJu0TNJqF2
fibE7GhMdomD4dLFgIu8Wb5E7iQ1CSBEOGumRhK8qCsDzjr7WXUdhqA6Xvo+ylU6
DMzy0Wn3NNvfGC+qxOgybYCJwDnVPi0CEDSbzQ==
-----END CERTIFICATE-----
ibVPN 계정을 사용하지 않는 경우 인증서가 달라집니다.
이제 비밀번호 파일을 만들어 봅시다 :
sudo vim /opt/ibVPN/pass
첫 번째 줄은 전체 사용자 이름이어야하고 두 번째 줄은 비밀번호 여야합니다. 이 파일의 유일한 내용이어야합니다.
you@address.com
myBIGstrongpassword1234567890
또한이 파일에 대한 권한을 확보해야합니다. 그렇지 않으면 OpenVPN이 시작되지 않습니다.
sudo chmod 400 pass
이렇게하면 파일을 읽기 전용으로 만들고 소유자 만 사용할 수 있습니다 (즉, 다른 사용자는 전혀 읽을 수 없음)
이 명령은 시작시 실행할 파일을 작성하고 루트에서만 실행할 수 있도록 설정합니다.
sudo touch route-up.sh
sudo touch down.sh
sudo chmod 700 route-up.sh
sudo chmod 700 down.sh
이 시점에서 VPN 연결이 실제로 작동하는지 테스트하는 것이 좋습니다. 다음을 사용하여 연결을 시작하십시오.
sudo openvpn --cd /opt/ibVPN --config config.ovpn
up 및 down 외부 명령을 실행할 수 없다는 경고가 표시되지만 걱정하지 마십시오. 작동 Initialization Sequence Completed
하면 터미널에 표시됩니다. 누르면 Control+C
연결이 종료됩니다. 작동하지 않으면 이유를 조사하고 계속하기 전에 수정해야합니다. 때로는 작업을 시작하는 데 몇 번이 걸렸다는 것을 알았습니다. 비밀번호 파일이 올바른지 확인하십시오. 인터넷에는 OpenVPN에 관한 많은 훌륭한 자료가 있으므로 둘러보십시오.
이 시점에서 Transmission을 시작하고 실행하는 것이 가장 쉬운 방법 일 것입니다. VPN과 전송이 개별적으로 실행될 수 있다고 확신하면 결합 할 수 있습니다.
전송 설치 및 구성
필요한 패키지를 설치하십시오.
sudo apt-get install transmission-daemon
기본적으로 전송은 부팅시 자동으로 실행됩니다. 우리는 결국 OpenVPN을 사용하여 전송을 시작할 것이기 때문에 이것을 비활성화하고 싶습니다. 그렇게하려면 Transmission-daemon에 대한 구성 파일을 편집하십시오.
sudo vim /etc/default/transmission-daemon
그리고 다음 줄을 읽도록 변경하십시오.
ENABLE_DAEMON=0
이제 부팅시 전송이 시작되지 않습니다.
이제 전송 설정이 상주하고 다운로드 한 토렌트가 들어갈 디렉토리를 만들어 봅시다. 이것은 어떤 종류의 디스크를 이미 설정했고 / media / arm-disk /에 마운트되어 있다고 가정합니다. 보안상의 이유로 데몬은 루트 또는 "ubuntu"가 아닌 자체 사용자가 실행합니다. 설치 프로그램이 전송 데몬 "debian-transmission"을 위해 새 사용자를 만듭니다. 이 사용자는 우리가 생성 한 폴더를 소유해야하며 다운로드중인 토렌트의 저장 위치에 대한 읽기 및 쓰기 액세스 권한이 있어야합니다.
sudo mkdir /opt/transmission
sudo chown debian-transmission:debian-transmission /opt/transmission
sudo mkdir /media/arm-disk/torrents-complete
sudo chown debian-transmission:debian-transmission /media/arm-disk/torrents-complete
sudo mkdir /media/arm-disk/torrents-incomplete
sudo chown debian-transmission:debian-transmission /media/arm-disk/torrents-incomplete
이제 간단하게 전송을 시작하여 필요한 설정 파일을 생성해야합니다.
sudo -u debian-transmission -g debian-transmission /usr/bin/transmission-daemon --config-dir /opt/transmission --foreground
이 명령은 debian-transmission 사용자로 transmission-daemon을 시작하고 설정 파일에 / opt / transmission 디렉토리를 사용하도록 지시하고 포 그라운드에서 계속 실행되도록 지시합니다. 몇 초 동안 실행되면를 눌러 Control+C
종료하십시오. 이제 설정 파일을 편집 할 수 있습니다.
sudo -u debian-transmission vim /opt/transmission/settings.json
이제 기본값을 다음 줄로 변경해야합니다.
"download-dir": "/media/arm-disk/torrents-complete",
"incomplete-dir": "/media/arm-disk/torrents-incomplete",
"incomplete-dir-enabled": true,
"rpc-whitelist": "127.0.0.1,192.168.1.*",
저장하고 종료하십시오 (Escape, : wq를 입력하고 Enter를 누르십시오)
가운데 두 개의 편집을 수행하면 "불완전한"디렉토리를 사용하여 완성 된 토런트를 완료되지 않은 토런트와 분리 할 수 있습니다. 이것은 반드시 필요한 것은 아니지만 개인적으로 매우 유용합니다. 마지막 편집을 통해 LAN의 모든 컴퓨터에서 웹 GUI에 액세스 할 수 있습니다 (LAN 서브넷이 192.168.1.0이라고 가정하고 다른 경우이를 수정하십시오).
이제 Transmission을 다시 실행하여 작동하고 실제로 토렌트를 다운로드 할 수 있는지 확인하는 것이 좋습니다. 웹 브라우저 창을 사용하여 GUI에 액세스하고 토렌트를 추가합니다. 먼저 LAN에서 방화벽을 통해 웹 GUI에 액세스 한 다음 전송 데몬을 다시 실행 해 봅시다.
sudo ufw allow in from 192.168.0.0/16 to any port 9091
sudo -u debian-transmission -g debian-transmission /usr/bin/transmission-daemon --config-dir /opt/transmission --foreground
Firefox (또는 선호하는 브라우저)에서이 URL을 방문하십시오 : http://XXX.XXX.XXX.XXX:9091 여기서 XXX는 LAN상의 서버 주소 (예 : 192.168.1.10)로 대체됩니다. 다운로드 할 토렌트를 찾으십시오 (예 : 1080p60hz의 Big Buck Bunny). 이것은 합법적으로 무료로 다운로드 할 수있는 무료 단편 영화입니다. Transmission GUI에서 "Open Torrent"버튼을 클릭 하고이 링크를 붙여 넣습니다. (또는 원하는 다른 토렌트)를 첫 번째 상자에 . 그런 다음 "업로드"를 누르십시오. 전송이 제대로 작동하면 토렌트 다운로드가 시작됩니다. 그렇지 않은 경우 계속하기 전에 이유를 해결해야합니다. 전송 데몬을 사용하기 위해 인터넷에서 사용할 수있는 많은 리소스가 있습니다. 선택한 급류가 작동하지 않을 수도 있습니다. 다른 몇 가지를 먼저 시도하십시오.
다운로드가 완료되면 Control+C
터미널 창 에서을 눌러 전송 데몬을 중지하십시오.
VPN 인터페이스에 바인딩 전송 구성
이제 VPN이 준비되면 전송을 시작하는 데 사용될 Upstart 스크립트를 만들어 봅시다.
sudo mv /etc/init/transmission-daemon.conf /etc/init/transmission-daemon.conf.bak
이것이 불만이더라도 걱정하지 마십시오. Upstart 파일이 존재하는 경우 Upstart 파일을 백업하는 것입니다. 새로운 vim을 편집하기 위해 vim을 열어 봅시다 :
sudo vim /etc/init/transmission-daemon.conf
이것을 편집기에 붙여 넣으십시오.
description "transmission-daemon, attached to OpenVPN tunnel tap1"
start on transmission-daemon-start
stop on runlevel [!2345] or transmission-vpn-down
# This includes the information from OpenVPN into this environment
export LOCAL_IP
env PORT=51413
# give time to send info to trackers
kill timeout 30
# Run as unprivileged user
setuid debian-transmission
setgid debian-transmission
# Start transmission again if it stops for some reason
respawn
# If transmission stops 5 times in a minute, give up trying to respawn it
respawn limit 5 60
exec /usr/bin/nice -15 /usr/bin/transmission-daemon --config-dir /opt/transmission --bind-address-ipv4 $LOCAL_IP --peerport $PORT --no-portmap --foreground
vim을 저장하고 닫습니다. ( Escape
)를 입력 :wq
하십시오. 다시 vim을여십시오 :
sudo vim /etc/init/transmission-up.conf
그리고 이것을 붙여 넣으십시오 :
description "Script to create firewall and routing rules for transmission-daemon"
start on transmission-vpn-up
# This includes the information from OpenVPN into this environment
export VPN_GATEWAY
export LOCAL_IP
env PORT=51413
task
script
# Set up IP route, firewall rules
# It doesn't matter if they already exist, they will be skipped
/sbin/ip route add default via $VPN_GATEWAY dev tap1 table 200
/sbin/ip rule add from $LOCAL_IP table 200
/sbin/ip route flush cache
/usr/sbin/ufw insert 1 reject out on eth0 from any port $PORT
/usr/sbin/ufw insert 1 reject in on eth0 to any port $PORT
/usr/sbin/ufw insert 1 deny in on tap1 to any
/usr/sbin/ufw insert 1 allow in on tap1 to any port $PORT proto udp
# Start the actual transmission-daemon process, in a separate task so that unprivileged user/group can be set
/sbin/initctl emit transmission-daemon-start LOCAL_IP=$LOCAL_IP
end script
다시 vim을 저장하고 닫습니다. ( Escape
)를 입력 :wq
하십시오. 드디어:
sudo vim /etc/init/transmission-down.conf
붙여 넣기
description "Script to remove firewall rules for transmission-daemon"
start on runlevel [!2345] or stopping openvpn-transmission
env PORT=51413
task
script
# Take down IP route, firewall rules
# It doesn't really matter if they don't get taken down, but this will be cleaner
/usr/sbin/ufw delete reject out on eth0 from any port $PORT
/usr/sbin/ufw delete reject in on eth0 to any port $PORT
/usr/sbin/ufw delete deny in on tap1 to any
/usr/sbin/ufw delete allow in on tap1 to any port $PORT proto udp
/sbin/ip route flush cache
end script
이 스크립트는 Upstart에게 "transmission-vpn-up"신호를 수신하도록 지시합니다. 그런 다음 "transmission-up.conf"스크립트는 VPN 인터페이스를 통해 로컬 VPN 주소에서 트래픽을 전송하는 데 필요한 라우팅 규칙을 설정하고 VPN에서 전송을 위해 수신 포트로 트래픽을 허용하도록 방화벽을 설정합니다. 일반 LAN 인터페이스에서 Transmission의 청취 포트로 향하는 트래픽이 차단되었습니다. 그런 다음 "transmission-daemon.conf"스크립트는 필요한 설정으로 전송 데몬을 시작하여 VPN IP 주소에 바인딩합니다. 이 명령은 UPnP / NAT-PMP가 비활성화되도록합니다. 포트 포워딩에 대한 맨 위의 노트를 참조하십시오. "nice -15"는 전송의 우선 순위를 낮게 설정하는데, 이는 낮은 사양의 BeagleBone을 사용할 때 유용하다는 것을 알게되었습니다. 시스템 속도가 느려집니다. 최소한 우선 순위가 낮 으면 더 중요한 시스템 작업을 계속 실행할 수 있습니다. "transmission-down.conf"스크립트는 VPN이 중지 될 때 방화벽 규칙을 제거합니다. 전송 데몬을 권한없는 사용자로 실행할 수 있도록 방화벽 규칙을 루트로 실행할 수 있도록 세 가지 다른 스크립트가 사용됩니다.
이제 OpenVPN 설정으로 돌아가서 "route-up"및 "down"스크립트를 편집하여 Transmission 스크립트 시작 및 중지를 트리거합니다.
sudo vim /opt/ibVPN/route-up.sh
이것을 vim에 붙여 넣으십시오.
#! /bin/bash
/sbin/initctl emit transmission-vpn-up VPN_GATEWAY=$route_vpn_gateway LOCAL_IP=$ifconfig_local
이 스크립트는 Upstart에게 전송 데몬이 시작되어야한다고 말하고 VPN 연결에 연결하는 데 필요한 정보를 제공합니다.
sudo vim /opt/ibVPN/down.sh
다시 더 붙여 넣기 :
#! /bin/bash
/sbin/initctl emit transmission-vpn-down
이 스크립트는 훨씬 더 간단합니다. 전송 데몬이 중지하라는 신호입니다.
이 시점에서 전체 VPN 구성 폴더의 소유자가 루트 사용자인지 확인하는 것이 좋습니다. 이러한 스크립트는 루트로 실행되므로 스크립트를 변경할 수있는 사람은 누구나 루트 사용자로 원하는 것을 실행할 수 있습니다.
sudo chown root:root -R /opt/ibVPN
sudo chmod 700 -R /opt/ibVPN
sudo chmod 400 /opt/ibVPN/pass
이는 이제 루트 사용자 만 VPN 연결 설정을 수정하거나 볼 수 있음을 의미합니다.
좋아, 거의 끝났어! 지금까지 설정이 작동하는지 테스트 해 보겠습니다.
sudo openvpn --cd /opt/ibVPN --config config.ovpn
Transmission 웹 GUI에 다시 연결하고 기존 토렌트를 재개하거나 새 토렌트를 추가하십시오. 피어를 기다리는 몇 분 후에 다운로드 할 수 있어야합니다. 그것이 작동하는지 여부를 테스트 한 멋진 방법은 iftop을 보는 것입니다. iftop을 설치하고 다음을 실행하십시오.
sudo apt-get install iftop
sudo iftop -i tap1
이 화면에는 VPN을 통해 실행중인 모든 연결이 표시됩니다. 토렌트가 다운로드 중이고 VPN을 올바르게 사용하고 있다면 여기에 많은 IP 주소와 호스트 이름이 있습니다. LAN 연결에 대한 iftop도보십시오 :
sudo iftop -i eth0
여기서는 BeagleBone에서 다른 서비스를 실행하지 않는다고 가정 할 때 VPN 서버 인 단일 IP 주소에 대한 대량의 트래픽이 표시되고 다른 LAN 장치에 대한 최소 트래픽 만 표시됩니다.
다음 지침 에 따라 VPN이 작동 중인지 확인할 수 있습니다 .
이 사이트에서는 토런트를 다운로드하여 다른 피어가 귀하에게 연결하는 데 사용하는 IP 주소를 확인할 수 있습니다. 모든 것이 작동하는 경우 자신의 WAN IP 주소가 아닌 VPN IP 주소가됩니다.
문제가 발생하면 다음을 수행하여 Upstart 오류 로그를 볼 수 있습니다.
sudo tail -f /var/log/upstart/transmission-daemon.log
별도의 터미널 / SSH 창에서 위와 같이 VPN 연결을 시작하는 동안 tail 명령을 실행하고 오류 메시지를 찾으십시오. 인터넷을 둘러 보거나 의견을 게시하지 않은 경우 오류 메시지가 표시되어 문제를 해결할 수 있기를 바랍니다.
자동으로 시작되도록 모두 구성
OpenVPN 터널을 시작하는 명령을 수동으로 발행하거나 자신의 스크립트를 사용하여 수행하려는 경우 작업이 완료된 것입니다. 그러나 부팅시 시작하기를 원했기 때문에 OpenVPN을 시작하기 위해 다른 Upstart 스크립트를 만들었습니다.
sudo vim /etc/init/openvpn-transmission.conf
이것은 우리가 마지막으로 붙여야 할 것입니다!
description "OpenVPN client, with attached transmission-daemon"
start on started networking
stop on runlevel [!2345] or stopped networking
# Give time for Transmission to send info to trackers, wait for graceful close
kill timeout 45
# Start the OpenVPN tunnel again if it stops for some reason
respawn
# If it stops 5 times in a minute, give up trying to respawn it
respawn limit 5 60
exec openvpn --cd /opt/ibVPN --config config.ovpn
post-stop script
# Pause for a few seconds, before exiting
/bin/sleep 3s
end script
이 작업은 시스템이 네트워크가 준비되었다는 신호를 보낸 다음 OpenVPN 터널을 시작하여 전송을 시작하기 만하면됩니다. 시스템이 꺼져 있거나 어떤 이유로 네트워킹이 종료되면 Upstart는 방화벽 규칙을 제거하고 전송 데몬을 닫습니다. 단순한! 재부팅 후에도 계속 작동하므로 이제 모두 설정되었습니다.
Transmission과 상호 작용하려면 설정 단계에서했던 것처럼 웹 GUI를 사용하십시오. 포트 전달을 설정하여 인터넷을 통해 GUI에 액세스 할 수도 있습니다. 이 작업을 수행하는 방법에 대한 많은 자습서가 있으므로 여기서는 반복하지 않겠습니다.
BeagleBone에서 다운로드를 완료하기 위해 NFS를 사용하고 있습니다. BeagleBone에서 데스크탑 컴퓨터로 LAN을 통해 복사하는 속도는 약 8MB / s입니다. 이는 저전력 장치에 매우 좋습니다. 우분투는 이것을 설정하기위한 편리한 정보 를 제공 합니다.