Niedawno nabyłem BeagleBone Black, na którym zainstalowałem Ubuntu przy użyciu tej metody . Do tej pory wszystko działało. Chcę używać mojego BeagleBone jako torrenta, ale nie chcę tego robić bezpośrednio przez moje połączenie internetowe (nie sądzę, aby mój ISP to polubił) - więc kupiłem subskrypcję VPN z europejskiego serwera . Ręcznie podłączyłem laptopa do tej sieci VPN i uruchomiłem Transmisję. Wiem, że połączenie VPN działa w systemie Ubuntu, a host zapewnia informacje o konfiguracji OpenVPN. Irytujące, dynamiczny charakter przypisanego adresu IP oznacza, że często się zmieniał, więc kiedy korzystałem z laptopa z VPN, ręcznie ustawiałem adres nasłuchiwania w Transmisji na wymaganą wartość.
Idealnie chciałbym następującą konfigurację:
- Transmisja odbywa się tylko przez VPN i zabrania się uruchamiania torrentów przez normalne połączenie WAN
- Tylko ruch skierowany do Transmisji zostanie zaakceptowany lub wysłany przez VPN, cały pozostały niezamówiony ruch zostanie odrzucony
- Transmisja używa odpowiedniego portu do nasłuchiwania, na podstawie przypisanego adresu IP
- OpenVPN uruchamia się automatycznie podczas rozruchu, który następnie rozpoczyna transmisję
- Do internetowego interfejsu GUI transmisji można uzyskać dostęp przez sieć LAN i ewentualnie przez Internet z mojego połączenia WAN (tj. Nie z powrotem przez VPN)
źródło
Odpowiedzi:
Uwaga: (2016-02-22) Zdałem sobie sprawę, że ta konfiguracja przecieka zapytania DNS do trackerów torrentowych przez normalną sieć WAN, zamiast wysyłać je przez VPN. Badam, jak to naprawić. Będę jednak nadal uruchamiać konfigurację, ponieważ samo połączenie prawidłowo korzysta z VPN.
Aktualizacja: Zauważyłem, że kiedy ustawiam Transmission na pobieranie z Beaglebone na noc, użycie procesora po pewnym czasie spada do 100%. Wydaje się, że nie dzieje się to po tym samym czasie, czasem jest w porządku przez całą noc, innym razem walczy po 10 minutach. Można go również odzyskać, zatrzymując wszystkie torrenty i czekając, aż obciążenie procesora powróci do normy, a następnie uruchom ponownie. Nadal badam. Obejściem może być okresowe wstrzymywanie i wznawianie torrentów, chociaż nie jest to zbyt dobre obejście. Uwaga: ten problem dotyczy tylko Beaglebone i prawdopodobnie innych urządzeń ARM. Nigdy nie miałem tego problemu na procesorze x86.
Wprowadzenie
Opracowałem i przetestowałem to rozwiązanie dla Ubuntu 14.04, działającego na BeagleBone Black. Dostawca VPN, którego używam, nazywa się ibVPN . Powinien jednak działać z każdym obsługiwanym sprzętem (tj. Na „normalnym” komputerze x86), z dowolnym dostawcą VPN zgodnym z OpenVPN - i prawdopodobnie powinien działać dla wersji 14.10 lub nowszej. W pewnym momencie wierzę, że Ubuntu użyje SystemD do rozruchu, co oznacza, że skrypty Upstart użyte tutaj będą musiały zostać zmigrowane. Aktualizacja: Jonas Kalderstam ma poniżej odpowiedź dotyczącą używania SystemD. Zakładam również, że jako zapora ogniowa używana jest ufw, jeśli używasz czegoś innego, musisz zmienić polecenia ufw tutaj.
Zakładam, że cała praca jest wykonywana przez połączenie SSH z systemem, choć równie dobrze działałoby, gdyby zostało wpisane w fizycznym terminalu.
To dość długi samouczek, przeczytaj go najpierw i upewnij się, że czujesz się dobrze z tym, co będziesz robić.
Zauważyłem również, że Transmisja nie wiąże się poprawnie z adresem IP do wysyłania danych UPnP / NAT-PMP - tzn. Dane torrentów poprawnie przechodzą przez VPN, ale jeśli przekierowanie portów UPnP jest włączone Transmisja zażąda przekazania portu z routera lokalnego , nie przez VPN z serwera VPN. Dlatego skrypt Upstart wyłącza przekierowywanie portów, ponieważ może się wydawać, że działał, ale nie działał. Powinno być możliwe użycie iptables i iproute, aby wymusić cały ruch od użytkownika transmisji debian przez VPN, ale nadal się tym zajmuję. Powinno to również działać, jeśli domyślna trasa została zmieniona, aby wysyłać wszystkie dane internetowe przez VPN, ale nie chciałem tego robić, ponieważ używam tego serwera również do innych rzeczy, a to również spowodowałoby, że wszystkie aktualizacje systemu przeszłyby przez VPN.To pytanie zawiera dodatkowe informacje, jeśli naprawdę chcesz, aby UPnP działał przez VPN . Aktualizacja: falk0069 ma fantastyczną wskazówkę poniżej, która pomaga zachęcić UPnP przez VPN.
Instalowanie i konfigurowanie OpenVPN
Zalecam, aby spróbować uruchomić połączenie VPN przy użyciu Ubuntu, zanim spróbujesz go uruchomić tutaj - tj. Z komputera. Potwierdzi to prawidłową konfigurację i skróci czas debugowania.
Najpierw zainstaluj wymagane pakiety
Następnie utwórz katalog, w którym będą przechowywane pliki konfiguracyjne. Używam / opt / ibVPN, ponieważ to jest dostawca, którego używam. Zmień to na co tylko chcesz.
Pierwszą rzeczą do zrobienia w tym nowym katalogu jest utworzenie pliku konfiguracyjnego do uruchomienia klienta VPN. ibVPN zapewnia podstawowy plik konfiguracyjny dla użytkowników Linuksa, który w większości właśnie skopiowałem i wkleiłem.
Skopiuj i wklej edytowaną wersję do vima, korzystając z ustawień swojego dostawcy VPN. (FYI, wklej w terminalu Ubuntu jest
Ctrl+Shift+V
) Powinieneś być w stanie uzyskać to od swojego dostawcy VPN.Dla tych, którzy nie znają vima, naciśnij,
Insert
aby wpisać lub wkleić tekst, a następnie naciśnijEscape
i wpisz,:wq
aby zapisać i wyjść. Oczywiście nie musisz używać vima - dowolny edytor tekstu będzie działał.Wyjaśnię szybko ten plik konfiguracyjny: pierwsze 18 wierszy określa konkretne ustawienia, które mają być używane z serwerem, pochodzą one z ibVPN - twoje będą prawdopodobnie nieco inne, jeśli masz innego dostawcę. Kolejne wiersze to zmodyfikowane opcje, które określiłem.
Jeśli plik ustawień zawierał jakieś wiersze
auth-user*
, skomentuj je. Aby ta konfiguracja działała automatycznie, musimy mieć plik z nazwą użytkownika i hasłem - upewnij się więc, że hasło wybrane dla dostawcy VPN jest silne, losowe i unikalne.auth-user-pass pass
Mówi OpenVPN szukać pliku o nazwiepass
czytać użytkownika i hasła.auth-nocache
usuwa hasło z pamięci, co może nieco zwiększyć bezpieczeństwo, jeśli się o to martwisz.persist-tun
spróbuje zachować ten sam adres IP z serwera, jeśli połączenie zostanie przerwane, co, miejmy nadzieję, powinno oznaczać mniej uruchamiania i zatrzymywania demona transmisji.route-noexec
mówi klientowi OpenVPN, aby nie korzystał automatycznie z tras dostarczonych przez serwer - co spowodowałoby zatrzymanie całego ruchu sieciowego przez VPN. Chcemy tylko wysłać ruch torrentowy, więc będziemy musieli użyć różnych ustawień routingu.lport 1195
mówi klientowi OpenVPN, aby używał portu 1195 zamiast 1194 - w moim przypadku chcę również uruchomić serwer OpenVPN na tym samym urządzeniu, a serwer będzie musiał użyć portu 1194. Nawet jeśli nie korzystasz z serwera OpenVPN, to nie zaszkodzi dokonać tej zmiany.Zmieniłem linię
dev tap
nadev tap1
, aby zmusić urządzenie wirtualne do tap1 zamiast przypisywania przez OpenVPN, ponownie z powodu uruchomienia osobnego serwera OpenVPN. Nawet jeśli nie korzystasz z serwera VPN, ta zmiana nie powinna mieć znaczenia. Skrypty zapory zostały napisane do użyciatap1
, więc jeśli wolisz korzystać z innego urządzenia, pamiętaj o zmianie tych skryptów w razie potrzeby.lladdr 00:FF:11:AA:BB:CC
mówi OpenVPN, aby przypisał interfejs tap do tego adresu MAC, co może być przydatne w regułach zapory iptables.route-up
idown
uruchamiaj skrypty, aby uruchamiać i zatrzymywać demona transmisji zgodnie z wymaganiami - są one potrzebne tutaj, ponieważ działają ze zmiennymi środowiskowymi zawierającymi informacje o połączeniu, które są potrzebne do prawidłowego powiązania transmisji z odpowiednim adresem IP i portem.W moim przypadku miałem certyfikat serwera od dostawcy VPN - który również musi znajdować się w tym samym katalogu co plik konfiguracyjny.
Skopiuj i wklej to lub przenieś za pomocą SCP lub SSHFS.
Oczywiście, jeśli nie korzystasz z konta ibVPN, twój certyfikat będzie inny.
Stwórzmy teraz plik haseł:
Pierwszy wiersz musi być pełną nazwą użytkownika, następnie drugi wiersz musi być hasłem. To musi być jedyna zawartość tego pliku.
Musimy również zabezpieczyć uprawnienia do tego pliku, w przeciwnym razie OpenVPN nie uruchomi się.
Spowoduje to, że plik będzie tylko do odczytu i tylko dla właściciela (tzn. Żaden inny użytkownik nie będzie mógł go odczytać)
Te polecenia utworzą pliki, które będą uruchamiane podczas uruchamiania, i ustawią je tak, aby były uruchamialne tylko przez root.
W tym momencie prawdopodobnie dobrym pomysłem jest sprawdzenie, czy połączenie VPN faktycznie działa. Rozpocznij połączenie z:
Zobaczysz ostrzeżenia, że nie można uruchomić zewnętrznych poleceń w górę iw dół, ale nie martw się tym. Jeśli to zadziała, zobaczysz
Initialization Sequence Completed
na terminalu. Naciśnij,Control+C
aby zakończyć połączenie. Jeśli to nie zadziała, będziesz musiał dowiedzieć się, dlaczego nie i naprawić, zanim przejdziesz dalej. Przekonałem się, że czasami zajęło kilka minut, aby zacząć działać. Upewnij się, że plik hasła jest poprawny. Istnieje wiele wspaniałych zasobów w Internecie na temat OpenVPN, więc rozejrzyj się.W tym momencie prawdopodobnie najłatwiej jest przejść do uruchomienia Transmission. Gdy masz pewność, że zarówno VPN, jak i Transmisja mogą działać osobno, można je połączyć.
Instalowanie i konfigurowanie transmisji
Zainstaluj wymagane pakiety:
Domyślnie skrzynia biegów uruchomi się automatycznie podczas rozruchu. Ponieważ w końcu będziemy używać OpenVPN do rozpoczęcia transmisji, chcemy to wyłączyć. W tym celu edytuj plik konfiguracyjny dla Transmission-daemon
I zmień następujący wiersz, aby przeczytać:
Teraz transmisja nie rozpocznie się przy rozruchu.
Utwórzmy teraz katalog, w którym będą przechowywane ustawienia transmisji i do których będą pobierane torrenty. Zakłada się, że już skonfigurowałeś jakiś dysk i jest on zamontowany w / media / arm-disk /. Ze względów bezpieczeństwa demon będzie uruchamiany przez własnego użytkownika, a nie jako root lub „ubuntu”. Instalator tworzy nowego użytkownika dla demona transmisji „debian-transmisja”. Ten użytkownik musi być właścicielem folderu, który tworzymy, oraz mieć dostęp do odczytu i zapisu w miejscu przechowywania pobieranych torrentów.
Teraz musimy krótko rozpocząć transmisję, aby utworzyć potrzebny plik ustawień:
Ta komenda uruchamia demona transmisji jako użytkownik debian-transmisji, mówi mu, aby używał katalogu / opt / transmisja dla plików ustawień i każe mu kontynuować działanie na pierwszym planie. Po kilku sekundach naciśnij,
Control+C
aby zakończyć. Możemy teraz edytować plik ustawień.Musimy teraz przejść do następujących wierszy z ich ustawień domyślnych, aby przeczytać:
Zapisz i wyjdź (Escape, wpisz: wq i naciśnij Enter)
Dwie środkowe zmiany umożliwią użycie katalogu „niekompletnego”, oddzielając gotowe torrenty od niedokończonych. Nie jest to całkowicie konieczne, ale osobiście uważam to za niezwykle przydatne. Ostatnia edycja umożliwia dostęp do internetowego interfejsu GUI z dowolnego komputera w sieci LAN (zakładając, że twoja podsieć LAN to 192.168.1.0, zmień ją, jeśli jest inna).
Teraz dobrym pomysłem jest ponowne uruchomienie Transmission, aby sprawdzić, czy działa i czy rzeczywiście może pobrać torrent. Użyjemy okna przeglądarki internetowej, aby uzyskać dostęp do GUI i dodać torrent. Najpierw zezwólmy na dostęp do GUI przez zaporę sieci LAN, a następnie ponownie uruchom demona transmisji.
Odwiedź ten adres URL w przeglądarce Firefox (lub dowolnej innej przeglądarce): http://XXX.XXX.XXX.XXX:9091 , gdzie XXX jest zastąpiony adresem Twojego serwera w sieci LAN (tj. 192.168.1.10). Znajdź torrenta do pobrania, na przykład Big Buck Bunny w 1080p60hz. Jest to darmowy film krótkometrażowy, legalnie dostępny do pobrania za darmo. W interfejsie GUI transmisji kliknij przycisk „Otwórz torrent” i wklej ten link (lub dowolny inny torrent, który chcesz) do pierwszego pola. Następnie naciśnij „Prześlij”. Jeśli Transmisja działa poprawnie, torrent zacznie się pobierać. Jeśli tak się nie stanie, musisz dowiedzieć się, dlaczego, zanim przejdziesz dalej. W Internecie dostępnych jest wiele zasobów do używania demona transmisji. Może to być również torrent, który wybrałeś nie działa, wypróbuj najpierw kilka innych.
Po zakończeniu pobierania naciśnij
Control+C
w oknie terminala, aby zatrzymać demona transmisji.Skonfiguruj transmisję wiązania do interfejsu VPN
Teraz stwórzmy skrypt Upstart, który będzie używany do rozpoczęcia Transmisji, gdy VPN będzie gotowy.
Nie martw się, jeśli to narzeka, wystarczy wykonać kopię zapasową pliku Upstart, jeśli taki istniał - może nie mieć. Otwórzmy vima, aby edytować nowy:
Wklej to do edytora:
Zapisz i zamknij vim. (
Escape
, a następnie wpisz:wq
). Ponownie otwórz vim:I wklej to:
Ponownie zapisz i zamknij vim. (
Escape
, a następnie wpisz:wq
). Wreszcie:Wklej to:
Skrypty te informują Upstart, aby nasłuchiwał sygnału „transmisja-VPN-up”. Skrypt „Transmission-up.conf” następnie konfiguruje wymagane reguły routingu, aby wysyłać ruch z lokalnego adresu VPN za pośrednictwem interfejsu VPN, i ustawia zaporę sieciową, aby zezwalać na ruch z VPN do portu nasłuchiwania dla transmisji. Ruch kierowany do portu nasłuchiwania transmisji z normalnego interfejsu LAN jest blokowany. Następnie skrypt „transmisja-daemon.conf” uruchamia demona transmisji z ustawieniami wymaganymi do powiązania go z adresem IP VPN. Zauważ, że to polecenie zapewni również wyłączenie UPnP / NAT-PMP - patrz moja uwaga na górze na temat przekierowywania portów. „Ładne -15” ustawia Transmission na niższy priorytet, co uważam za użyteczne przy użyciu BeagleBone o niższej specyfikacji - czasami Transmisja może pochłaniać zasoby, co spowalnia system. Przynajmniej z niskim priorytetem mogą nadal działać ważniejsze zadania systemowe. Skrypt „transmisja-w dół.conf” usunie reguły zapory, gdy VPN zostanie zatrzymany. Wykorzystywane są trzy różne skrypty, dzięki którym demon transmisji może być uruchamiany jako użytkownik nieuprzywilejowany, ale reguły zapory można uruchamiać jako root.
Teraz wróćmy do ustawień OpenVPN i edytuj skrypty „route-up” i „down”, aby uruchomić uruchamianie i zatrzymywanie naszego skryptu Transmission.
Wklej to do vima:
Wszystko, co robi ten skrypt, mówi Upstartowi, że demon transmisji powinien się uruchomić, i dostarcza mu informacji potrzebnych do przyłączenia się do połączenia VPN.
Ponownie, więcej wklejania:
Ten skrypt jest jeszcze prostszy - sygnalizuje zatrzymanie demona transmisji.
W tym momencie prawdopodobnie dobrym pomysłem jest upewnienie się, że właścicielem całego folderu konfiguracji VPN jest użytkownik root - ponieważ te skrypty działają jako root, każdy, kto mógłby je zmienić, może uruchomić wszystko, co chce jako użytkownik root.
Oznacza to teraz, że tylko użytkownik root może modyfikować lub przeglądać ustawienia połączenia VPN.
OK, już prawie gotowe! Sprawdźmy, czy nasza konfiguracja działa do tej pory:
Połącz się ponownie z internetowym interfejsem GUI Transmission i wznów istniejący torrent lub dodaj nowy. Powinien być w stanie pobrać, może po kilku minutach oczekiwania na rówieśników. Sprytny sposób na sprawdzenie, czy działa, to sprawdzenie iftop. Zainstaluj iftop i uruchom:
Ten ekran pokaże wszystkie połączenia działające przez VPN. Jeśli Twój torrent pobiera i poprawnie korzysta z VPN, będzie tutaj wiele adresów IP i nazw hostów. Zobacz także iftop dla połączenia LAN:
Tutaj powinieneś zobaczyć dużą ilość ruchu do jednego adresu IP, będącego serwerem VPN, a następnie tylko minimalny ruch do innych urządzeń LAN - zakładając, że nie korzystasz z innych usług na BeagleBone.
Możesz potwierdzić, że VPN działa, postępując zgodnie z tymi instrukcjami .
Ta strona pozwala ci pobrać torrent, aby zobaczyć adres IP, z którego korzystają inni rówieśnicy, aby się z tobą połączyć - jeśli wszystko działa, będzie to adres IP VPN, a nie twój własny adres IP WAN.
Jeśli masz problemy, możesz wyświetlić dziennik błędów Upstart, wykonując:
W osobnym oknie terminalu / SSH spróbuj uruchomić komendę tail podczas uruchamiania połączenia VPN jak wyżej i poszukaj komunikatów o błędach. Mamy nadzieję, że uda Ci się rozwiązać problem, wyświetlając komunikaty o błędach, jeśli nie masz dostępu do Internetu lub opublikujesz komentarz.
Skonfiguruj wszystko, aby uruchamiało się automatycznie
Jeśli jesteś zadowolony z ręcznego wydania polecenia uruchomienia tunelu OpenVPN lub chcesz to zrobić za pomocą własnego skryptu, to koniec. Ale chciałem, żeby zaczął się przy rozruchu, więc stworzyłem kolejny skrypt Upstart, aby uruchomić OpenVPN.
To ostatnia rzecz, którą musimy wkleić!
Wystarczy poczekać, aż system zasygnalizuje, że sieć jest gotowa, a następnie uruchomi tunel OpenVPN - co z kolei rozpocznie transmisję. Gdy system zostanie wyłączony lub z jakiegoś powodu sieć zostanie zamknięta, Upstart usunie reguły zapory i zamknie demona transmisji. Prosty! To będzie nadal działać po ponownym uruchomieniu, więc teraz wszystko jest gotowe.
Aby wchodzić w interakcje z transmisją, użyj internetowego interfejsu GUI, tak jak w fazie konfiguracji. Możliwe jest również udostępnienie interfejsu GUI przez Internet poprzez skonfigurowanie przekierowania portów. Istnieje wiele samouczków, jak to zrobić, więc nie powtórzę tego tutaj.
Jeśli chodzi o pobieranie ukończonych pobrań z BeagleBone, używam NFS. Mogę uzyskać prędkość około 8 MB / s kopiowania przez sieć LAN z BeagleBone na mój komputer stacjonarny - co jest całkiem dobre w przypadku tak słabego urządzenia. Ubuntu zawiera przydatne informacje na temat konfiguracji.
źródło
Właśnie uruchomiłem ten system za pomocą SystemD, więc pomyślałem, że się podzielę. Umieściłem wszystkie moje skrypty, konfiguracje i certyfikaty w tym samym katalogu, do którego będę się odnosił
/etc/openvpn/myprovider
Konfiguracja OpenVPN
Zależy to od konkretnej sieci VPN, ale jedna różnica w porównaniu z konfiguracją @ seanlano polega na tym, że używam tylko
route-up
skryptu. Więc oprócz potrzebnej konfiguracji pod warunkiem , potrzebujesz:Gdzie umieścisz
transmission-route-up.sh
skrypt gdziekolwiek chcesz. Zwróć uwagę na brakdown
skryptu. (Moja sieć VPN już używała niestandardowego skryptu wyłączania, więc i tak byłaby w konflikcie)./etc/openvpn/myprovider/transmission-route-up.sh:
printenv
Ważna jest pierwsza linia . Umieść go w dowolnym miejscu, będzie później używany w usłudze SystemD. Umieszczam go w tym samym katalogu, co moja konfiguracja VPN.Zastąp 24328 dowolnym portem, na którym demon transmisji powinien nasłuchiwać. Używam iptables (używam Debiana), więc prawdopodobnie możesz zamienić te linie na linie ufw z konfiguracji @ seanlano.
Usługa SystemD VPN
Jest to usługa, która automatycznie uruchamia dla nas VPN. Sprawdź, czy ścieżka do openvpn jest poprawna na twoim komputerze, a także czy ścieżka do pliku konfiguracyjnego jest poprawna. Państwo musi podać pełne ścieżek w usługach Systemd.
/etc/systemd/system/my-vpn.service:
Włącz usługę VPN za pomocą:
I przetestuj za pomocą:
Jeśli jest uruchomiony / działa, jesteś dobry.
SystemD Transmission-daemon.service
Ten skrypt wymaga usługi VPN, więc jeśli VPN ulegnie awarii, demon transmisji również ulegnie awarii. Jest to przydatne, jeśli VPN zostanie zrestartowane, a otrzymasz nowy adres IP, ponieważ transmisja będzie musiała się zrestartować i ponownie powiązać, co powinno być obsługiwane automatycznie. Zauważ, że korzystamy ze zmiennych środowiskowych, które wydrukowaliśmy
route-up
wcześniej w skrypcie./etc/systemd/system/transmission-daemon.service:
Odblokuj to
I zacznij to
Po ponownym uruchomieniu wszystko powinno rozpocząć się automatycznie (w kolejności!). Zauważ, że używanie
Type=simple
w usłudze VPN powoduje pewne problemy z czasem zamawiania skryptów, dlatego zalecam używanieforking
zamiast tego.Możesz podać rzeczywisty adres IP dla,
rpc-bind-address
jeśli chcesz być bardziej restrykcyjny (jest to adres nasłuchiwania w GUI sieci, który nie powinien być twoim VPN-ip). A jeśli chcesz ładnie uruchomić transmisję, po prostu zmieńExecStart
linię i dodaj/usr/bin/nice -n15
do początku.Obsługa zmian adresu
Z czasem zauważyłem, że jeśli połączenie VPN z jakiegoś powodu otrzyma nowy adres IP, transmisja będzie nadal wiązana ze starym adresem i przestanie działać. I po prostu robienie
systemctl restart transmission-daemon.service
tego nie ogranicza. Musi się całkowicie zatrzymać, a następnie zacząć od nowa.Nie mam pojęcia dlaczego, ale z tego powodu dodałem następujące wiersze do mojej root crontab (
sudo crontab -e
):źródło
Zauważyłem, że wspomniałeś, że transmisja nie przechodzi przez VPN dla UPnP / NAT-PMP. Zauważyłem to również i stworzyłem łatkę do Transmisji, która honoruje ustawienie bind-address-ipv4 dla UPnP. NAT-PMP jest nieco trudniejszy do wdrożenia, ponieważ musisz określić domyślną bramę. UPnP jest jednak głównym obecnie używanym, więc prawdopodobnie jest wystarczająco dobry. Zalogowałem to jako błąd na stronie trac.transmissionbt i podałem łatkę. Mam nadzieję, że zostanie włączony do przyszłej wersji. https://trac.transmissionbt.com/ticket/5990
Inną opcją dla teraz, jeśli nie chcesz ponownej kompilacji, jest ręczne uruchomienie upnpc z pakietu miniupnpc. Na przykład
Gdzie 10.10.10.51 to Twój adres IP VPN, a 51515 to żądany port TCP / UDP.
Nie jestem pewien, na jak długo spedycja jest dobra. Możesz także użyć opcji „-d”, aby usunąć port podczas odłączania. Odkryłem, że jeśli tego nie zrobię, nie będę mógł uzyskać tego samego portu, jeśli ponownie zaloguję się do sieci VPN.
Twoje zdrowie
źródło
miniupnpc
! Mam nadzieję, że łatka zostanie scalona i ten problem zostanie rozwiązany na zawsze. W międzyczasie na pewno będę próbował użyć twojej przydatnej wskazówki.