Dídènà port ìwọlé Transmission kì í ṣe ìlànà VPN. Torrent client ń ṣí àwọn ìsopọ̀ jáde sí àwọn ẹlẹ́gbẹ́ àti àwọn olùtọ́pa, ó ń yanjú orúkọ, ó sì lè fi olùgbọ́ fún ìṣàkóso jíjìn hàn, gbogbo èyí sì lè jáde nípasẹ̀ interface tí o kò ní lọ́kàn. Lọ nípasẹ̀ àwọn àyẹ̀wò márùn-ún lẹ́sẹẹsẹ kí o sì ka ìlànà firewall, kì í ṣe àwọn ètò client, sí ààlà. Àwọn àyẹ̀wò méjì tí ó kẹ́yìn ni àwọn tí àwọn ènìyàn ń fò, wọ́n sì ń pinnu bóyá ìdánilójú yóò dúró nígbà tí tunnel bá ṣubú.

Dárúkọ ìlànà tí ó ní ìgbékalẹ̀ náà

Ìlànà desktop àti daemon ẹ̀rọ ń ṣiṣẹ́ lábẹ́ àwọn àkọsílẹ̀ ọ̀tọ̀ọ̀tọ̀, ìlànà tí ó dá lórí ẹni tí ó ní í ń tẹ̀lé àkọsílẹ̀ dípò orúkọ ètò. Wádìí èwo nínú àwọn méjèèjì ń ṣiṣẹ́ kí o tó kọ ìlànà kankan. Àkọsílẹ̀ iṣẹ́ àkànṣe ń fún ìlànà ní kókó pàtó, nígbà tí olùlò desktop ń pín ìdánimọ̀ rẹ̀ pẹ̀lú browser, olùṣàtúnṣe àti gbogbo nǹkan mìíràn nínú ìpàdé. Jẹ́rìí sí UID dípò rò pé orúkọ àkọsílẹ̀ láti inú package ni èyí tí a ń lò.

systemctl status transmission-daemon
ps -o user=,pid=,cmd= -C transmission-daemon

Tí àkọsílẹ̀ kò bá tíì sí, dá a sílẹ̀ fún ète yìí kí o má sì fún un ní nǹkan mìíràn láti ṣiṣẹ́. Kọ àkọsílẹ̀ àti UID sínú àkọsílẹ̀ ìlànà, nítorí ìlànà tí kò ní kókó jẹ́ ìlànà tí ẹnikẹ́ni kò lè ṣàtúnṣe láìsí ewu.

Ya àwọn pápá olùgbọ́ kúrò nínú ọ̀nà

Transmission 4.x ṣe àkọsílẹ̀ àwọn àdírẹ́sì ìgbọ́rọ̀ ẹlẹ́gbẹ́ lọ́tọ̀ sí rpc-bind-address, ìyàtọ̀ sì ṣe pàtàkì. Ètò RPC ń ṣàkóso olùgbọ́ ìṣàkóso jíjìn nìkan, nítorí náà yíyí padà kò yan ọ̀nà fún ìrìnàjò ẹlẹ́gbẹ́. Kíkà àwọn ètò méjèèjì bí ọ̀kan ni ìdí tí ó wọ́pọ̀ jù fún ìgbékalẹ̀ tí ó dàbí ẹni tí ó ṣọ́ra tí ó ṣì ń tú. Ìwé-ìtọ́sọ́nà kan náà ṣàpèjúwe ìpadàsẹ́yìn nígbà tí àdírẹ́sì ìgbọ́rọ̀ ẹlẹ́gbẹ́ kò bá wúlò, nítorí náà àdírẹ́sì tí kò sí jẹ́ ọ̀ràn ìpadàsẹ́yìn tí a kọ sílẹ̀, kì í ṣe ìkọ̀ tí a dáhùn.

grep -E '"(peer-port|rpc-bind-address|bind-address-ipv4)"' /var/lib/transmission-daemon/.config/transmission-daemon/settings.json

Lo àwọn ìdarí client fún ohun tí wọ́n jẹ́, kí o sì fi ìdánilójú sínú firewall. Ètò olùgbọ́ ṣì lè tọ́ sí ṣíṣe, ṣùgbọ́n kò fìdí rẹ̀ múlẹ̀ pé ìfararọ pẹ̀lú olùtọ́pa, ìwárí ìbílẹ̀ tàbí ìwádìí tí a ránṣẹ́ gbogbo wọn ń jáde nípasẹ̀ tunnel. Nígbà tí àwọn méjèèjì kò bá gbà, firewall ni ó ń pinnu.

Kọ ìbámu ẹni-tí-ó-ní sínú ẹ̀wọ̀n tí ó tọ́

Ìwé ìtọ́sọ́nà Netfilter nípa ìbámu ẹni-tí-ó-ní ṣàlàyé bí a ṣe ń so àwọn packet tí a dá ní ìbílẹ̀ mọ́ olùlò tàbí ẹgbẹ́ tí ó ní fáìlì socket. Ìsopọ̀ yẹn kò kọjá sí ìrìnàjò tí a rán síwájú, ìbámu àwọn ẹgbẹ́ àfikún sì nílò àṣàyàn tí ó yé. Ka ìwé ìtọ́sọ́nà fún àfikún tí o ń lò gan-an dípò àpẹẹrẹ àkọ́kọ́ tí o bá rí.

iptables -A OUTPUT -m owner --uid-owner transmission -o tun0 -j ACCEPT
iptables -A OUTPUT -m owner --uid-owner transmission -j REJECT
ip6tables -A OUTPUT -m owner --uid-owner transmission -o tun0 -j ACCEPT
ip6tables -A OUTPUT -m owner --uid-owner transmission -j REJECT

Ìtòlẹ́sẹẹsẹ ṣe pàtàkì bí ìbámu. Ìgbàwọlé gbòòrò ní ìbẹ̀rẹ̀ ẹ̀wọ̀n ń pa ìkọ̀ pàtó ní ìparí run, nítorí náà ṣàyẹ̀wò gbogbo ẹ̀wọ̀n dípò kíkún ìlànà kan kí o sì retí. Fi àwọn ẹbí àdírẹ́sì méjèèjì kún un tí host bá ń ṣiṣẹ́ IPv6, nítorí ìlànà v4 nìkan ń fi ọ̀nà sílẹ̀ tí ẹnìkankan kò ń ṣọ́. Jẹ́ kí àwọn ìlànà wà ní ipò nípasẹ̀ àwọn ìtúnbẹ̀rẹ̀ client àti tunnel.

Pinnu ohun tí yóò ṣẹlẹ̀ nígbà tí tun0 bá lọ

Ìlànà ìkùnà ni kókó ẹ̀kọ́ yìí. Tí tunnel bá lọ tí hook kan náà sì yọ àwọn ìlànà kúrò, client ní òmìnira láti lo interface ti ara títí nǹkan mìíràn yóò fi dá a dúró. Àpẹẹrẹ ààbò ń tọ́jú àwọn ìlànà kí ó sì jẹ́ kí wọ́n kọ̀, ìyẹn sì ni ó ń sọ ààlà di ohun tí kò sinmi lórí ìlera tunnel. Hook ìwópalẹ̀ tí ó tún pa àwọn ìlànà ni ìdàkejì ìlànà ìkùnà.

ip link show tun0
iptables -S OUTPUT

Dán an wò lẹ́mìí: dá tunnel dúró, bẹ̀rẹ̀ ìgbékalẹ̀ tí ó ní ààbò láti fi sílẹ̀ kí o sì wo bóyá nǹkan kan jáde. Lẹ́yìn náà dá tunnel padà kí o sì jẹ́rìí pé ọ̀nà tí a pinnu ń ṣiṣẹ́ lẹ́ẹ̀kan sí i.

Bo àwọn ọ̀nà tí ìlànà kò lè rí

Ìyánjú orúkọ lè jẹ́ kí ìlànà olùyánjú ọ̀tọ̀ ṣe é, namespace tàbí ẹnubodè àkànṣe lè pèsè ààlà mìíràn tí a bá ṣe àwọn ọ̀nà pínpín àti ìbẹ̀rẹ̀ rẹ̀ fún ìyẹn. Pinnu ẹya tí ó ní DNS àti bóyá ó tẹ̀lé ìlànà ìjáde kan náà. Lẹ́yìn náà wo RPC: tí a bá ń lo rpc-whitelist, nẹ́tíwọ́kì ìṣàkóso tí a fọwọ́ sí jẹ́ apá kan náà nínú àdéhùn, ṣùgbọ́n ipín RFC1918 gbòòrò kì í ṣe bẹ́ẹ̀.

ss -tunp | grep -i transmission

Àwọn olùkà interface lè fọwọ́ sí àkíyèsí, ṣùgbọ́n wọn kò lè fi hàn ẹni tí ó ṣe àwọn byte náà. Ṣe ìgbékalẹ̀ tí a gbà ọ́ láyè láti fi sílẹ̀: kọ́kọ́ lórí ọ̀nà tí ń ṣiṣẹ́, lẹ́yìn náà láìsí tunnel nígbà ìbẹ̀rẹ̀, lẹ́yìn náà nípasẹ̀ ìdádúró, àtúnso pọ̀ àti interface tuntun tí a ṣẹ̀ṣẹ̀ dá. Dán gbìyànjú tuntun àti ìsopọ̀ tí ó ti ṣí wò, nítorí ó lè jẹ́ pé ìlànà kò tíì kan socket àtijọ́. Kọ ọjọ́, àkọsílẹ̀ àti èsì pẹ̀lú ìdánwò náà.

Lílẹ̀ àpẹẹrẹ tí ó fọ̀ gbogbo ẹ̀wọ̀n ń pààrọ̀ ihò kan fún ọ̀pọ̀lọpọ̀, nítorí náà fi àwọn ìlànà kún un dípò pípa wọ́n. Nígbà tí gbogbo àwọn àyẹ̀wò márùn-ún bá kọjá, ìdánilójú yé: ìrìnàjò client ń jáde nípasẹ̀ tunnel tàbí kò jáde rárá, ìlànà tí ó ń fipá mú ìyẹn sì ń yege nígbà ìkùnà tunnel fúnra rẹ̀.

Àwọn àpilẹ̀kọ tó jọra