Not: (2016-02-22) Bu yapılandırmanın, VPN üzerinden göndermek yerine normal WAN üzerinden torrent izleyicilere DNS sorguları sızdırdığını fark ettim. Bunu nasıl düzelteceğimi araştırıyorum. Bağlantının kendisi VPN'yi doğru kullandığından yapılandırmamı kullanmaya devam edeceğim.
Güncelleme: Transmission'u bir gecede Beaglebone'a indirilecek şekilde ayarladığımda CPU kullanımının bir süre sonra% 100'e çıktığını fark ettim. Aynı süre sonra gerçekleşmiyor gibi görünüyor, bazen bütün gece iyi, diğer zamanlarda 10 dakika sonra mücadele ediyor. Ayrıca, tüm torrentleri duraklatarak ve CPU yükünün normale dönmesini bekleyip tekrar başlayarak da iyileşebilir. Hala araştırıyorum. Geçici bir çözüm, çok iyi bir geçici çözüm olmasa da, torrentleri periyodik olarak duraklatmak ve devam ettirmek olabilir.
Bu sorunun yalnızca Beaglebone ve muhtemelen diğer ARM cihazları için geçerli olduğunu unutmayın . Bu sorunu hiç x86 işlemcide yaşamadım.
Giriş
Bu çözümü bir BeagleBone Black üzerinde çalışan Ubuntu 14.04 için geliştirdim ve test ettim. Kullandığım VPN sağlayıcısına ibVPN deniyor . Yine de desteklenen herhangi bir donanımla (yani "normal" x86 bilgisayarında), herhangi bir OpenVPN uyumlu VPN sağlayıcısıyla çalışmalı ve muhtemelen 14.10 veya üstü için çalışmalıdır. Bir noktada Ubuntu'nun önyükleme için SystemD kullanacağına inanıyorum, bu da burada kullanılan Upstart komut dosyalarının taşınması gerektiği anlamına gelir. Güncelleme: Jonas Kalderstam'ın SystemD'i kullanmak için aşağıda bir cevabı var . Ayrıca ufw güvenlik duvarı olarak kullanıldığını varsayıyorum, farklı bir şey kullanıyorsanız, burada ufw komutlarının değiştirilmesi gerekecektir.
Tüm işlerin sisteme bir SSH bağlantısı üzerinden yapıldığını varsayıyorum, ancak fiziksel bir terminale yazıldığında da işe yarayacaktır.
Bu oldukça uzun bir öğreticidir, lütfen önce hepsini okuyun ve ne yapacağınızdan emin olun.
İletimin UPnP / NAT-PMP verilerini göndermek için bir IP adresine düzgün bir şekilde bağlanmadığını da fark ettim - yani torrent verileri VPN'den doğru bir şekilde geçiyor, ancak UPnP bağlantı noktası iletme etkinse İletim bağlantı noktasını yerel yönlendiriciden iletmeyi isteyecek VPN sunucusundaki VPN üzerinden değil. Bu nedenle, Upstart komut dosyasını bağlantı noktası yönlendirmeyi devre dışı bıraktım, çünkü çalışmış gibi görünebilir, ancak çalışmadı. Debian iletim kullanıcısından VPN üzerinden tüm trafiği zorlamak için iptables ve iproute kullanmak mümkün olmalı, ancak hala buna bakıyorum. Varsayılan yol tüm Internet verilerini VPN üzerinden göndermek için değiştirilmişse de çalışmalıdır, ancak bunu yapmak istemedim çünkü bu sunucuyu başka şeyler için de kullanıyorum ve bu da tüm sistem güncellemelerinin VPN.UPnP'nin VPN üzerinde çalışmasını gerçekten istiyorsanız, bu sorunun daha fazla bilgisi vardır .
Güncelleme: falk0069, VPN üzerinden UPnP'yi teşvik etmek için aşağıda harika bir ipucuna sahiptir .
OpenVPN'i kurma ve yapılandırma
VPN bağlantınızı Ubuntu'yu kullanarak burada (yani bir masaüstünden) çalışmaya başlamadan önce çalıştırmayı denemenizi tavsiye ederim. Bu, doğru yapılandırmaya sahip olduğunuzu doğrular ve hata ayıklama için harcanan zamanı azaltır.
İlk olarak, gerekli paketleri yükleyin
sudo apt-get install openvpn
Ardından, yapılandırma dosyalarını depolamak için bir dizin oluşturun. / Opt / ibVPN kullanıyorum, çünkü kullandığım sağlayıcı bu. İstediğiniz gibi değiştirin.
sudo mkdir /opt/ibVPN
Bu yeni dizinde yapılacak ilk şey, VPN istemcisini çalıştırmak için yapılandırma dosyası oluşturmaktır. ibVPN, Linux kullanıcıları için çoğunlukla kopyalayıp yapıştırdığım temel bir yapılandırma dosyası sağlar.
cd /opt/ibVPN
sudo vim config.ovpn
VPN sağlayıcınızın ayarlarını kullanarak düzenlenmiş sürümünüzü kopyalayıp vim'e yapıştırın. (FYI, Ubuntu terminaline yapıştırın Ctrl+Shift+V
) Bunu VPN sağlayıcınızdan alabilmelisiniz.
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 bilgisi olmayanlar basın Insert
yazmak için ya sonra basın metni yapıştırın Escape
ve yazın :wq
kaydedip çıkmak için. Tabii ki, vim kullanmak zorunda değilsiniz - herhangi bir metin editörü çalışacaktır.
Bu yapılandırma dosyasını hızlı bir şekilde açıklayacağım: İlk 18 satır, sunucuyla kullanılacak belirli ayarları belirtir, bunlar ibVPN'den geldi - farklı bir sağlayıcınız varsa muhtemelen sizinki biraz farklı olacaktır. Sonraki satırlar, belirttiğim değiştirilmiş seçenekler.
Ayarlar dosyanızda herhangi bir satır varsa auth-user*
bunları yorumlayın. Bu kurulumun otomatik olarak çalışması için, içinde kullanıcı adı ve şifre bulunan bir dosyaya ihtiyacımız var - bu yüzden VPN sağlayıcısı için seçtiğiniz şifrenin güçlü, rastgele ve benzersiz olduğundan emin olun.
auth-user-pass pass
Adlı bir dosyayı bakmak için OpenVPN'i söyler pass
kullanıcıyı ve parola okumak için.
auth-nocache
şifreyi bellekten kaldırır, bu da endişelenirseniz güvenliği biraz artırabilir.
persist-tun
bağlantınız kesilirse aynı IP adresini sunucudan tutmaya çalışacaktır, bu da İletim-arka plan programının daha az başlatılması ve durdurulması anlamına gelecektir.
route-noexec
OpenVPN istemcisine, sunucunun sağladığı tüm ağ trafiğini VPN üzerinden çekecek yolları otomatik olarak kullanmamasını söyler. Sadece torrent trafiği göndermek istiyoruz, bu yüzden farklı yönlendirme ayarları kullanmamız gerekecek.
lport 1195
OpenVPN istemcisine 1194 yerine 1195 bağlantı noktasını kullanmasını söyler - benim durumumda da aynı cihazda bir OpenVPN sunucusu çalıştırmak istiyorum ve sunucunun 1194 bağlantı noktasını kullanması gerekecek. Bir OpenVPN sunucusu çalıştırmasanız bile, bu değişikliği yapmak acıtmaz.
Ben çizgi değişti dev tap
etmek dev tap1
, TAP1 olmak yerine yine çünkü ayrı OpenVPN sunucusu çalışan, OpenVPN tarafından atandığı sanal cihazı zorlamak için. Bir VPN sunucusu çalıştırmasanız bile, bu değişiklik önemli değil. Güvenlik duvarı komut dosyaları kullanılmak üzere yazılmıştır tap1
, bu nedenle başka bir aygıt kullanmayı tercih ederseniz, uygun olduğunda bu komut dosyalarını değiştirmeyi unutmayın.
lladdr 00:FF:11:AA:BB:CC
OpenVPN'e musluk arayüzünü iptables güvenlik duvarı kuralları için yararlı olabilecek bu MAC adresine sahip olarak atamasını söyler.
route-up
ve down
İletim-arka plan programını gerektiği şekilde başlatmak ve durdurmak için komut dosyalarını çalıştırın - bunlar burada gereklidir, çünkü bunlar İletimi doğru IP adresine ve bağlantı noktasına doğru şekilde bağlamak için gerekli olan bağlantı hakkında bilgi içeren ortam değişkenleriyle çalışır.
Benim durumumda, VPN sağlayıcısından bir sunucu sertifikası aldım - bu da yapılandırma dosyasıyla aynı dizinde olmalıdır.
sudo vim /opt/ibVPN/ibvpn.com.crt
Bunu kopyalayıp yapıştırın veya SCP veya SSHFS ile taşıyın.
-----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-----
Açıkçası bir ibVPN hesabı kullanmıyorsanız, sertifikanız farklı olacaktır.
Şimdi şifre dosyasını yapalım:
sudo vim /opt/ibVPN/pass
İlk satırın tam kullanıcı adı, ikinci satırın şifre olması gerekir. Bu, dosyanın yalnızca içeriği olmalıdır.
you@address.com
myBIGstrongpassword1234567890
Ayrıca bu dosyadaki izinleri korumalıyız, aksi takdirde OpenVPN başlamaz.
sudo chmod 400 pass
Bu, dosyayı salt okunur ve yalnızca sahip için yapar (başka bir kullanıcı dosyayı hiç okuyamaz)
Bu komutlar başlangıçta çalıştırılacak dosyaları oluşturur ve bunları yalnızca kök tarafından çalıştırılabilir olacak şekilde ayarlar.
sudo touch route-up.sh
sudo touch down.sh
sudo chmod 700 route-up.sh
sudo chmod 700 down.sh
Bu noktada, VPN bağlantısının gerçekten çalışıp çalışmadığını test etmek muhtemelen iyi bir fikirdir. Bağlantıyı şununla başlatın:
sudo openvpn --cd /opt/ibVPN --config config.ovpn
Yukarı ve aşağı harici komutların çalıştırılamayacağına dair uyarılar görürsünüz, ancak bunun için endişelenmeyin. Çalışırsa Initialization Sequence Completed
terminalde göreceksiniz . Control+C
Bağlantıyı bitirmek için tuşuna basın . Eğer işe yaramazsa, nedenini araştırmamalı ve devam etmeden önce düzeltmelisiniz. Bazen çalışmaya başlamak birkaç zaman aldı. Şifre dosyanızın doğru olduğundan emin olun. İnternette OpenVPN hakkında birçok harika kaynak var, bu yüzden etrafa bir göz atın.
Bu noktada, muhtemelen İletimi çalıştırmaya başlamak en kolay yoldur. Hem VPN'nin hem de İletimin ayrı çalışabileceğinden emin olduktan sonra birleştirilebilirler.
İletimi Yükleme ve Yapılandırma
Gerekli paketleri kurun:
sudo apt-get install transmission-daemon
Varsayılan olarak, İletim önyüklemede otomatik olarak çalışır. Nihayetinde İletimi başlatmak için OpenVPN kullanacağımızdan, bunu devre dışı bırakmak istiyoruz. Bunu yapmak için Transmission-daemon için yapılandırma dosyasını düzenleyin
sudo vim /etc/default/transmission-daemon
Ve okumak için aşağıdaki satırı değiştirin:
ENABLE_DAEMON=0
Şimdi İletim önyüklemede başlamayacak.
Şimdi İletim ayarlarının ikamet etmesi ve indirilen torrentlerin girmesi için bir dizin oluşturalım. Bu, zaten bir tür disk kurduğunuzu ve / media / arm-disk / dizinine monte edildiğini varsayar. Güvenlik amacıyla, arka plan programı "root" veya "ubuntu" yerine kendi kullanıcısı tarafından çalıştırılır. Yükleyici tarafından iletim-arka plan programı, "debian-transmission" için yeni bir kullanıcı oluşturulur. Bu kullanıcının oluşturduğumuz klasöre sahip olması ve indirilen torrentler için depolama konumuna okuma ve yazma erişimi olması gerekir.
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
Şimdi iletimi başlatmamız gerekiyor, sadece kısaca, ihtiyacımız olan ayarlar dosyasını oluşturuyor:
sudo -u debian-transmission -g debian-transmission /usr/bin/transmission-daemon --config-dir /opt/transmission --foreground
Bu komut debian-transmission kullanıcısı olarak transmission-daemon uygulamasını başlatır, ona ayarlar dosyaları için / opt / transmission dizinini kullanmasını söyler ve ön planda çalışmaya devam etmesini söyler. Birkaç saniye çalıştıktan sonra, Control+C
bitirmek için tuşuna basın . Şimdi ayarlar dosyasını düzenleyebiliriz.
sudo -u debian-transmission vim /opt/transmission/settings.json
Şimdi okumak için varsayılanlarından aşağıdaki satırlara geçmemiz gerekiyor:
"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.*",
Kaydet ve çık (Escape, wq yazıp Enter tuşuna basın)
Ortadaki iki düzenleme, "tamamlanmamış" dizininin kullanılmasını sağlayarak, tamamlanmış torrentlerinizi bitmemiş olanlardan ayırır. Bu tamamen gerekli değil, ama kişisel olarak son derece yararlı buluyorum. Son düzenleme, web GUI'ye LAN üzerindeki herhangi bir bilgisayar tarafından erişilmesini sağlar (LAN alt ağınızın 192.168.1.0 olduğunu varsayarsak, farklıysa bunu değiştirin).
Transmission'ı tekrar çalıştırmak, çalışıp çalışmadığını ve gerçekten bir torrent indirip indiremeyeceğini görmek iyi bir fikirdir. GUI'ye erişmek ve bir torrent eklemek için bir web tarayıcı penceresi kullanacağız. İlk olarak, LAN'dan güvenlik duvarı üzerinden web GUI'ye erişime izin verelim, sonra iletim-arka plan programını tekrar çalıştıralım.
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'ta (veya hangi tarayıcıyı tercih ederseniz edin) bu URL'yi ziyaret edin: http://XXX.XXX.XXX.XXX:9091 ; burada XXX, LAN üzerindeki sunucunuzun adresi ile değiştirilir (ör. 192.168.1.10). İndirmek için bir torrent bulun, örneğin 1080p60hz'de Big Buck Bunny. Bu yasal olarak ücretsiz olarak indirilebilecek ücretsiz kısa bir film. İletim GUI'sinde "Torrent'i Aç" düğmesini tıklayın ve bu bağlantıyı (veya istediğiniz diğer torrentleri) ilk kutuya yapıştırın . Ardından "Yükle" düğmesine basın. Transmission düzgün çalışıyorsa, torrent indirilmeye başlayacaktır. Değilse, devam etmeden önce nedenini bulmanız gerekecektir. İnternette iletim-arka plan programı kullanmak için birçok kaynak bulunmaktadır. Ayrıca seçtiğiniz torrent çalışmıyor olabilir, önce birkaç tane daha deneyin.
İndirme işlemi tamamlandıktan sonra Control+C
iletim penceresini durdurmak için terminal penceresinde tuşuna basın .
VPN arayüzüne bağlanma iletimini yapılandırın
Şimdi VPN hazır olduğunda İletimi başlatmak için kullanılacak bir Upstart komut dosyası yapalım.
sudo mv /etc/init/transmission-daemon.conf /etc/init/transmission-daemon.conf.bak
Bu şikayet ederse endişelenmeyin, sadece Upstart dosyasının bir yedeğini almak, eğer varsa, olmayabilir - olmayabilir. Yenisini düzenlemek için vim'i açalım:
sudo vim /etc/init/transmission-daemon.conf
Bunu editöre yapıştırın:
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'i kaydedin ve kapatın. ( Escape
yazın :wq
). Yine, açık vim:
sudo vim /etc/init/transmission-up.conf
Ve bunu yapıştırın:
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
Tekrar vim kaydedin ve kapatın. ( Escape
yazın :wq
). En sonunda:
sudo vim /etc/init/transmission-down.conf
Bunu yapıştırın:
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
Bu komut dosyaları Upstart'a "transmission-vpn-up" sinyalini dinlemesini söyler. "Transmission-up.conf" betiği daha sonra VPN arayüzü üzerinden yerel VPN adresinden trafik göndermek için gerekli yönlendirme kurallarını belirler ve güvenlik duvarını VPN'den İletim için dinleme bağlantı noktasına trafikte izin verecek şekilde ayarlar. Normal LAN arabiriminden Şanzıman'ın dinleme bağlantı noktasına yönlendirilen trafik engellendi. Daha sonra "transmission-daemon.conf" betiği, iletim-daemon'u VPN IP adresine bağlamak için gerekli ayarlarla başlatır. Bu komutun UPnP / NAT-PMP'nin devre dışı bırakılmasını da sağlayacağını unutmayın; bağlantı noktası yönlendirme hakkındaki en üstteki notuma bakın. "Güzel -15", İletimi daha düşük bir önceliğe sahip olarak ayarlar. bu da sistemi yavaşlatır. En azından düşük bir öncelikle, daha önemli sistem görevleri devam edebilir. "Transmission-down.conf" betiği, VPN durdurulduğunda güvenlik duvarı kurallarını kaldırır. İletim-arka plan programının ayrıcalıksız bir kullanıcı olarak çalıştırılabilmesi için üç farklı komut dosyası kullanılır, ancak güvenlik duvarı kuralları kök olarak çalıştırılabilir.
Şimdi OpenVPN ayarlarına geri dönelim ve İletim komut dosyamızın başlatılmasını ve durdurulmasını tetiklemek için "rota" ve "down" komut dosyalarını düzenleyelim.
sudo vim /opt/ibVPN/route-up.sh
Bunu vim'e yapıştırın:
#! /bin/bash
/sbin/initctl emit transmission-vpn-up VPN_GATEWAY=$route_vpn_gateway LOCAL_IP=$ifconfig_local
Tüm bu komut dosyasının Upstart'a aktarım-arka plan programının başlaması gerektiği ve VPN bağlantısına eklemek için gereken bilgileri verdiği söylenir.
sudo vim /opt/ibVPN/down.sh
Yine, daha fazla yapıştırma:
#! /bin/bash
/sbin/initctl emit transmission-vpn-down
Bu komut dosyası daha da basittir - iletim arka plan programının durması için sinyal verir.
Bu noktada, tüm VPN yapılandırma klasörünün sahibinin kök kullanıcı olduğundan emin olmak iyi bir fikirdir - bu komut dosyaları kök olarak çalıştığından, bunları değiştirebilen herkes kök kullanıcı olarak istedikleri her şeyi çalıştırabilir.
sudo chown root:root -R /opt/ibVPN
sudo chmod 700 -R /opt/ibVPN
sudo chmod 400 /opt/ibVPN/pass
Bu, artık yalnızca kök kullanıcının VPN bağlantı ayarlarını değiştirebileceği veya görüntüleyebileceği anlamına gelir.
Tamam, neredeyse bitti! Kurulumumuzun şu ana kadar çalışıp çalışmadığını test edelim:
sudo openvpn --cd /opt/ibVPN --config config.ovpn
İletim web GUI'sine tekrar bağlanın ve mevcut torrent'i devam ettirin veya yeni bir tane ekleyin. Belki akranları bekledikten birkaç dakika sonra indirebilmelidir. Çalışıp çalışmadığını test etmenin şık bir yolu iftop'a bakmaktır. İftop'u yükleyin ve çalıştırın:
sudo apt-get install iftop
sudo iftop -i tap1
Bu ekran VPN üzerinden çalışan tüm bağlantıları gösterecektir. Torrent'iniz indiriyorsa ve VPN'yi doğru şekilde kullanıyorsa, burada çok sayıda IP adresi ve ana bilgisayar adı olacaktır. Ayrıca LAN bağlantısı için iftop'a bakın:
sudo iftop -i eth0
Burada, tek bir IP adresine, VPN sunucusu olarak büyük miktarda trafik görmeli ve daha sonra BeagleBone cihazınızda başka hizmetler çalıştırmadığınız varsayılarak diğer LAN cihazlarına yalnızca minimum trafik görmelisiniz.
Bu talimatları uygulayarak VPN'nin çalıştığını doğrulayabilirsiniz .
Bu site, diğer eşlerin size bağlanmak için kullandıkları IP adresini görmek için bir torrent indirmenize izin verir - her şey çalışıyorsa, bu kendi WAN IP adresiniz değil, VPN IP adresi olacaktır.
Sorun yaşıyorsanız, Upstart hata günlüğünü aşağıdakileri yaparak görebilirsiniz:
sudo tail -f /var/log/upstart/transmission-daemon.log
Ayrı bir terminal / SSH penceresinde, VPN bağlantısını yukarıdaki gibi başlatırken tail komutunu çalıştırmayı deneyin ve hata mesajlarını arayın. İnşallah, internette bir kazma yoksa, sorunu hata mesajlarını görmekten çözebilir veya yorum gönderebilirsiniz.
Tümünü otomatik olarak başlayacak şekilde yapılandırın
OpenVPN tünelini başlatma komutunu manuel olarak vermekten memnunsanız veya bunu kendi komut dosyanızla yapmak istiyorsanız, işiniz bitti demektir. Ama önyüklemede başlamasını istedim, bu yüzden OpenVPN'i başlatmak için başka bir Upstart betiği yaptım.
sudo vim /etc/init/openvpn-transmission.conf
Yapmamız gereken son şey bu!
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
Tüm bunlar, sistemin ağın hazır olduğunu bildirmesini beklemek ve daha sonra OpenVPN tünelini başlatacak - bu da İletimi başlatacak. Sistem kapatıldığında veya bir nedenle ağ iletişimi kapatılırsa, Upstart güvenlik duvarı kurallarını kaldırır ve iletim arka plan programını kapatır. Basit! Bu, yeniden başlatmadan sonra da çalışmaya devam edecektir, bu yüzden artık hazırsınız.
İletim ile etkileşime geçmek için, kurulum aşamasında yaptığımız gibi web GUI'sini kullanın. Bağlantı noktası yönlendirmeyi ayarlayarak GUI'yi İnternet üzerinden erişilebilir hale getirmek de mümkündür. Bunun nasıl yapılacağı konusunda çok sayıda öğretici var, bu yüzden burada tekrar etmeyeceğim.
Tamamlanan indirmeleri BeagleBone'dan almak için NFS kullanıyorum. BeagleBone'dan masaüstü bilgisayarıma LAN üzerinden yaklaşık 8 MB / s kopyalama hızı elde edebilirim - bu, düşük güçlü bir cihaz için oldukça iyidir. Ubuntu, bunu ayarlamak için bazı kullanışlı bilgiler sağlar .