Mae'r pwnc yn eithaf curedig, dwi'n gwybod. Er enghraifft, mae yna wych erthygl, ond dim ond rhan IP y rhestr bloc sy'n cael ei ystyried yno. Byddwn hefyd yn ychwanegu parthau.
Oherwydd y ffaith bod y llysoedd a'r RKN yn rhwystro popeth i'r dde ac i'r chwith, ac mae'r darparwyr yn ymdrechu'n galed i beidio â dod o dan y dirwyon a gyhoeddwyd gan Revizorro, mae'r colledion cysylltiedig o rwystro yn eithaf mawr. Ac ymhlith y gwefannau sydd wedi'u blocio'n "gyfreithlon" mae yna lawer o rai defnyddiol (helo, rutracker)
Rwy'n byw y tu allan i awdurdodaeth yr RKN, ond arhosodd fy rhieni, perthnasau a ffrindiau gartref. Felly penderfynwyd meddwl am ffordd hawdd i bobl ymhell o TG i osgoi blocio, yn ddelfrydol heb eu cyfranogiad o gwbl.
Yn y nodyn hwn, ni fyddaf yn disgrifio'r pethau rhwydwaith sylfaenol mewn camau, ond byddaf yn disgrifio egwyddorion cyffredinol sut y gellir gweithredu'r cynllun hwn. Felly mae gwybodaeth am sut mae'r rhwydwaith yn gweithio yn gyffredinol ac yn Linux yn arbennig yn hanfodol.
Mathau o gloeon
Yn gyntaf, gadewch i ni adnewyddu ein cof o'r hyn sy'n cael ei rwystro.
Mae yna sawl math o gloeon yn yr XML sydd wedi'i ddadlwytho o'r RKN:
IP
Enw Parth
URL
Er mwyn symlrwydd, byddwn yn eu lleihau i ddau: IP a pharth, a byddwn yn syml yn tynnu'r parth allan rhag blocio gan URL (yn fwy manwl gywir, maent eisoes wedi gwneud hyn i ni).
pobl dda o Roskomsvoboda sylweddoli gwych API, a thrwy hynny gallwn gael yr hyn sydd ei angen arnom:
I wneud hyn, mae angen rhywfaint o VPS tramor bach arnom, yn ddelfrydol gyda thraffig diderfyn - mae llawer o'r rhain am 3-5 bychod. Mae angen i chi ei gymryd yn agos dramor fel nad yw'r ping yn fawr iawn, ond eto, cymerwch i ystyriaeth nad yw'r Rhyngrwyd a daearyddiaeth bob amser yn cyd-daro. A chan nad oes CLG ar gyfer 5 bychod, mae'n well cymryd 2+ darn gan wahanol ddarparwyr ar gyfer goddef diffygion.
Nesaf, mae angen i ni sefydlu twnnel wedi'i amgryptio o'r llwybrydd cleient i'r VPS. Rwy'n defnyddio Wireguard fel y cyflymaf a'r hawsaf i'w sefydlu. Mae gen i lwybryddion cleient hefyd yn seiliedig ar Linux (APU2 neu rywbeth yn OpenWRT). Yn achos rhai Mikrotik / Cisco, gallwch ddefnyddio'r protocolau sydd ar gael arnynt fel OpenVPN a GRE-over-IPSEC.
Adnabod ac ailgyfeirio traffig o ddiddordeb
Gallwch, wrth gwrs, ddiffodd yr holl draffig Rhyngrwyd trwy wledydd tramor. Ond, yn fwyaf tebygol, bydd cyflymder gweithio gyda chynnwys lleol yn dioddef yn fawr o hyn. Hefyd, bydd y gofynion lled band ar VPS yn llawer uwch.
Felly, bydd angen inni rywsut ddyrannu traffig i safleoedd sydd wedi’u blocio a’i gyfeirio’n ddetholus at y twnnel. Hyd yn oed os yw rhywfaint o'r traffig "ychwanegol" yn cyrraedd yno, mae'n dal yn llawer gwell na gyrru popeth trwy'r twnnel.
Er mwyn rheoli traffig, byddwn yn defnyddio'r protocol BGP ac yn cyhoeddi llwybrau i'r rhwydweithiau angenrheidiol o'n VPS i gleientiaid. Gadewch i ni gymryd BIRD fel un o'r daemonau BGP mwyaf ymarferol a chyfleus.
IP
Gyda blocio gan IP, mae popeth yn glir: rydym yn syml yn cyhoeddi pob IP sydd wedi'i rwystro gyda VPS. Y broblem yw bod tua 600 mil o is-rwydweithiau yn y rhestr y mae'r API yn ei dychwelyd, ac mae'r mwyafrif helaeth ohonynt yn /32 gwesteiwr. Gall y nifer hwn o lwybrau ddrysu llwybryddion cleient gwan.
Felly, wrth brosesu'r rhestr, penderfynwyd crynhoi hyd at y rhwydwaith / 24 os oes ganddo 2 neu fwy o westeion. Felly, gostyngwyd nifer y llwybrau i ~100 mil. Bydd y sgript ar gyfer hyn yn dilyn.
Parthoedd
Mae'n fwy cymhleth ac mae sawl ffordd. Er enghraifft, gallwch osod Squid tryloyw ar bob llwybrydd cleient a gwneud rhyng-gipio HTTP yno a sbecian i mewn i'r ysgwyd llaw TLS er mwyn cael yr URL y gofynnwyd amdano yn yr achos cyntaf a'r parth gan SNI yn yr ail.
Ond oherwydd pob math o TLS1.3 + eSNI newfangled, mae dadansoddiad HTTPS yn dod yn llai a llai real bob dydd. Ydy, ac mae'r seilwaith ar ochr y cleient yn dod yn fwy cymhleth - bydd yn rhaid i chi ddefnyddio OpenWRT o leiaf.
Felly, penderfynais gymryd y llwybr o ryng-gipio ymatebion i ymholiadau DNS. Yma, hefyd, mae unrhyw DNS-over-TLS / HTTPS yn dechrau hofran dros eich pen, ond gallwn (am y tro) reoli'r rhan hon ar y cleient - naill ai ei analluogi neu ddefnyddio'ch gweinydd eich hun ar gyfer DoT / DoH.
Sut i ryng-gipio DNS?
Yma, hefyd, efallai y bydd sawl dull gweithredu.
Rhyng-gipio traffig DNS trwy PCAP neu NFLOG
Mae'r ddau ddull hyn o ryng-gipio yn cael eu gweithredu yn y cyfleustodau sidmat. Ond nid yw wedi'i gefnogi ers amser maith ac mae'r swyddogaeth yn gyntefig iawn, felly mae angen i chi ysgrifennu harnais ar ei gyfer o hyd.
Dadansoddiad o logiau gweinydd DNS
Yn anffodus, nid yw'r ailadroddwyr sy'n hysbys i mi yn gallu logio ymatebion, dim ond ceisiadau. Mewn egwyddor, mae hyn yn rhesymegol, oherwydd, yn wahanol i geisiadau, mae gan atebion strwythur cymhleth ac mae'n anodd eu hysgrifennu ar ffurf testun.
DNSTap
Yn ffodus, mae llawer ohonynt eisoes yn cefnogi DNSTap at y diben hwn.
Beth yw DNSTap?
Mae'n brotocol cleient-gweinydd sy'n seiliedig ar Glustogau Protocol a Ffrydiau Ffrâm ar gyfer trosglwyddo o weinydd DNS i gasglwr ymholiadau ac ymatebion DNS strwythuredig. Yn y bôn, mae'r gweinydd DNS yn trosglwyddo metadata ymholiad ac ymateb (math o neges, IP cleient / gweinydd, ac ati) ynghyd â negeseuon DNS cyflawn yn y ffurflen (deuaidd) y mae'n gweithio gyda nhw dros y rhwydwaith.
Mae'n bwysig deall, yn y patrwm DNSTap, bod y gweinydd DNS yn gweithredu fel cleient a bod y casglwr yn gweithredu fel gweinydd. Hynny yw, mae'r gweinydd DNS yn cysylltu â'r casglwr, ac nid i'r gwrthwyneb.
Heddiw cefnogir DNSTap ym mhob gweinydd DNS poblogaidd. Ond, er enghraifft, mae BIND mewn llawer o ddosbarthiadau (fel Ubuntu LTS) yn aml yn cael ei adeiladu am ryw reswm heb ei gefnogaeth. Felly, gadewch i ni beidio â thrafferthu gyda reassembly, ond yn cymryd recursor ysgafnach a chyflymach - Unbound.
Sut i ddal DNSTap?
Mae rhaimaint Cyfleustodau CLI ar gyfer gweithio gyda ffrwd o ddigwyddiadau DNSTap, ond nid ydynt yn addas ar gyfer datrys ein problem. Felly, penderfynais ddyfeisio fy meic fy hun a fydd yn gwneud popeth sy'n angenrheidiol: dnstap-bgp
Algorithm gwaith:
Pan gaiff ei lansio, mae'n llwytho rhestr o barthau o ffeil testun, yn eu gwrthdroi (habr.com -> com.habr), yn eithrio llinellau toredig, dyblygiadau ac is-barthau (h.y. os yw'r rhestr yn cynnwys habr.com a www.habr.com, dim ond yr un cyntaf y caiff ei lwytho) ac mae'n adeiladu coeden rhagddodiad ar gyfer chwilio'n gyflym trwy'r rhestr hon
Gan weithredu fel gweinydd DNSTap, mae'n aros am gysylltiad gan weinydd DNS. Mewn egwyddor, mae'n cefnogi socedi UNIX a TCP, ond dim ond socedi UNIX y gall y gweinyddwyr DNS rwy'n eu hadnabod ddefnyddio
Mae pecynnau DNSTap sy'n dod i mewn yn cael eu dadgyfrifo'n gyntaf i strwythur Protobuf, ac yna mae'r neges DNS deuaidd ei hun, sydd wedi'i lleoli yn un o'r meysydd Protobuf, yn cael ei dosrannu i lefel cofnodion DNS RR
Mae'n cael ei wirio a yw'r gwesteiwr y gofynnwyd amdano (neu ei riant barth) yn y rhestr wedi'i llwytho, os na, anwybyddir yr ymateb
Dim ond A/AAAA/CNAME RRs sy'n cael eu dewis o'r ymateb ac mae'r cyfeiriadau IPv4/IPv6 cyfatebol yn cael eu tynnu ohonynt
Mae cyfeiriadau IP yn cael eu storio gyda TTL ffurfweddadwy a'u hysbysebu i'r holl gymheiriaid BGP sydd wedi'u ffurfweddu
Wrth dderbyn ymateb sy'n pwyntio at IP sydd eisoes wedi'i storio, mae ei TTL yn cael ei ddiweddaru
Ar ôl i'r TTL ddod i ben, caiff y cofnod ei dynnu o'r storfa ac o gyhoeddiadau BGP
Swyddogaeth ychwanegol:
Yn ailddarllen y rhestr o barthau gan SIGHUP
Cadw'r storfa mewn cydamseriad ag achosion eraill dnstap-bgp trwy HTTP/JSON
Dyblygwch y storfa ar ddisg (yng nghronfa ddata BoltDB) i adfer ei gynnwys ar ôl ailgychwyn
Cefnogaeth ar gyfer newid i ofod enw rhwydwaith gwahanol (disgrifir pam fod angen hyn isod)
Cefnogaeth IPv6
Cyfyngiadau:
Nid yw parthau IDN yn cael eu cefnogi eto
Ychydig o osodiadau BGP
casglais RPM a DEB pecynnau ar gyfer gosod hawdd. Dylai weithio ar bob OSes cymharol ddiweddar gyda systemd. nid oes ganddynt unrhyw ddibyniaethau.
Cynllun
Felly, gadewch i ni ddechrau cydosod yr holl gydrannau gyda'i gilydd. O ganlyniad, dylem gael rhywbeth fel y topoleg rhwydwaith hon:
Mae rhesymeg y gwaith, rwy’n meddwl, yn glir o’r diagram:
Mae gan y cleient ein gweinydd wedi'i ffurfweddu fel DNS, a rhaid i ymholiadau DNS fynd dros y VPN hefyd. Mae hyn yn angenrheidiol fel na all y darparwr ddefnyddio rhyng-gipio DNS i rwystro.
Wrth agor y wefan, mae'r cleient yn anfon ymholiad DNS fel "beth yw IPs xxx.org"
Heb ei rwymo yn datrys xxx.org (neu'n ei gymryd o'r storfa) ac yn anfon ymateb i'r cleient “mae gan xxx.org IP o'r fath ac o'r fath”, gan ei ddyblygu ochr yn ochr trwy DNSTap
dnstap-bgp yn cyhoeddi y cyfeiriadau hyn yn GENI trwy BGP os yw'r parth ar y rhestr sydd wedi'i rhwystro
GENI yn hysbysebu llwybr i'r IPs hyn gyda next-hop self llwybrydd cleient
Mae pecynnau dilynol gan y cleient i'r IPs hyn yn mynd trwy'r twnnel
Ar y gweinydd, ar gyfer llwybrau i safleoedd sydd wedi'u blocio, rwy'n defnyddio tabl ar wahân y tu mewn i BIRD ac nid yw'n croestorri â'r OS mewn unrhyw ffordd.
Mae gan y cynllun hwn anfantais: bydd y pecyn SYN cyntaf gan y cleient, yn fwyaf tebygol, yn cael amser i adael trwy'r darparwr domestig. ni chyhoeddir y llwybr ar unwaith. Ac yma mae opsiynau'n bosibl yn dibynnu ar sut mae'r darparwr yn gwneud y blocio. Os yw'n gollwng traffig yn unig, yna nid oes problem. Ac os yw'n ei ailgyfeirio i ryw DPI, yna (yn ddamcaniaethol) mae effeithiau arbennig yn bosibl.
Mae hefyd yn bosibl nad yw cleientiaid yn parchu gwyrthiau DNS TTL, a all achosi'r cleient i ddefnyddio rhai cofnodion hen o'i storfa pwdr yn lle gofyn Unbound.
Yn ymarferol, nid oedd y cyntaf na'r ail wedi achosi problemau i mi, ond gall eich milltiredd amrywio.
Tiwnio Gweinydd
Er hwylustod rholio, ysgrifennais rôl i Ansible. Gall ffurfweddu gweinyddwyr a chleientiaid yn seiliedig ar Linux (a gynlluniwyd ar gyfer dosbarthiadau sy'n seiliedig ar deb). Mae'r holl leoliadau yn eithaf amlwg ac wedi'u gosod i mewn rhestr eiddo.yml. Mae'r rôl hon wedi'i thorri o fy llyfr chwarae mawr, felly gall gynnwys gwallau - tynnu ceisiadau croeso 🙂
Gadewch i ni fynd drwy'r prif gydrannau.
BGP
Mae gan redeg dau ellyll BGP ar yr un gwesteiwr broblem sylfaenol: nid yw Bird eisiau sefydlu BGP gan edrych ar y localhost (neu unrhyw ryngwyneb lleol). O'r gair o gwbl. Nid oedd googling a darllen rhestrau post yn helpu, maent yn honni bod hyn yn ôl cynllun. Efallai bod rhyw ffordd, ond ni chefais hyd iddo.
Gallwch chi roi cynnig ar ellyll BGP arall, ond rwy'n hoffi BIRD ac fe'i defnyddir ym mhobman gennyf i, nid wyf am gynhyrchu endidau.
Felly, cuddiais dnstap-bgp y tu mewn i ofod enw'r rhwydwaith, sydd wedi'i gysylltu â'r gwraidd trwy'r rhyngwyneb veth: mae fel pibell, y mae ei pennau'n sefyll allan mewn gofodau enwau gwahanol. Ar bob un o'r pennau hyn, rydym yn hongian cyfeiriadau IP p2p preifat nad ydynt yn mynd y tu hwnt i'r gwesteiwr, felly gallant fod yn unrhyw beth. Dyma'r un mecanwaith a ddefnyddir i gyrchu prosesau y tu mewn caru gan bawb Dociwr a chynwysyddion eraill.
Am hyn yr ysgrifennwyd sgript ac ychwanegwyd y swyddogaeth a ddisgrifiwyd eisoes uchod ar gyfer llusgo'ch hun gerfydd eich gwallt i ofod enw arall at dnstap-bgp. Oherwydd hyn, rhaid ei redeg fel gwraidd neu ei roi i'r deuaidd CAP_SYS_ADMIN trwy'r gorchymyn setcap.
Sgript enghreifftiol ar gyfer creu gofod enwau
#!/bin/bash
NS="dtap"
IP="/sbin/ip"
IPNS="$IP netns exec $NS $IP"
IF_R="veth-$NS-r"
IF_NS="veth-$NS-ns"
IP_R="192.168.149.1"
IP_NS="192.168.149.2"
/bin/systemctl stop dnstap-bgp || true
$IP netns del $NS > /dev/null 2>&1
$IP netns add $NS
$IP link add $IF_R type veth peer name $IF_NS
$IP link set $IF_NS netns $NS
$IP addr add $IP_R remote $IP_NS dev $IF_R
$IP link set $IF_R up
$IPNS addr add $IP_NS remote $IP_R dev $IF_NS
$IPNS link set $IF_NS up
/bin/systemctl start dnstap-bgp
router id 192.168.1.1;
table rkn;
# Clients
protocol bgp bgp_client1 {
table rkn;
local as 65000;
neighbor 192.168.1.2 as 65000;
direct;
bfd on;
next hop self;
graceful restart;
graceful restart time 60;
export all;
import none;
}
# DNSTap-BGP
protocol bgp bgp_dnstap {
table rkn;
local as 65000;
neighbor 192.168.149.2 as 65000;
direct;
passive on;
rr client;
import all;
export none;
}
# Static routes list
protocol static static_rkn {
table rkn;
include "rkn_routes.list";
import all;
export none;
}
rkn_routes.list
route 3.226.79.85/32 via "ens3";
route 18.236.189.0/24 via "ens3";
route 3.224.21.0/24 via "ens3";
...
DNS
Yn ddiofyn, yn Ubuntu, mae'r deuaidd Unbound yn cael ei glampio gan broffil AppArmor, sy'n ei wahardd rhag cysylltu â phob math o socedi DNSTap. Gallwch naill ai ddileu'r proffil hwn, neu ei analluogi:
Mae'n debyg y dylid ychwanegu hwn at y llyfr chwarae. Mae'n ddelfrydol, wrth gwrs, cywiro'r proffil a chyhoeddi'r hawliau angenrheidiol, ond roeddwn i'n rhy ddiog.
unbound.conf
server:
chroot: ""
port: 53
interface: 0.0.0.0
root-hints: "/var/lib/unbound/named.root"
auto-trust-anchor-file: "/var/lib/unbound/root.key"
access-control: 192.168.0.0/16 allow
remote-control:
control-enable: yes
control-use-cert: no
dnstap:
dnstap-enable: yes
dnstap-socket-path: "/tmp/dnstap.sock"
dnstap-send-identity: no
dnstap-send-version: no
dnstap-log-client-response-messages: yes
Lawrlwytho a phrosesu rhestrau
Sgript ar gyfer lawrlwytho a phrosesu rhestr o gyfeiriadau IP
Mae'n lawrlwytho'r rhestr, yn crynhoi i'r rhagddodiad pfx. Yn peidiwch_ychwanegu и peidiwch_crynhoi gallwch ddweud wrth yr IPs a rhwydweithiau i hepgor neu beidio crynhoi. Roeddwn i ei angen. roedd is-rwydwaith fy VPS yn y rhestr flociau 🙂
Y peth doniol yw bod API RosKomSvoboda yn blocio ceisiadau gyda'r asiant defnyddiwr Python rhagosodedig. Edrych fel y sgript-kiddy got it. Felly, rydym yn ei newid i Ognelis.
Hyd yn hyn, dim ond gyda IPv4 y mae'n gweithio. mae cyfran IPv6 yn fach, ond bydd yn hawdd ei drwsio. Oni bai bod yn rhaid i chi ddefnyddio bird6 hefyd.
rkn.py
#!/usr/bin/python3
import json, urllib.request, ipaddress as ipa
url = 'https://api.reserve-rbl.ru/api/v2/ips/json'
pfx = '24'
dont_summarize = {
# ipa.IPv4Network('1.1.1.0/24'),
}
dont_add = {
# ipa.IPv4Address('1.1.1.1'),
}
req = urllib.request.Request(
url,
data=None,
headers={
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'
}
)
f = urllib.request.urlopen(req)
ips = json.loads(f.read().decode('utf-8'))
prefix32 = ipa.IPv4Address('255.255.255.255')
r = {}
for i in ips:
ip = ipa.ip_network(i)
if not isinstance(ip, ipa.IPv4Network):
continue
addr = ip.network_address
if addr in dont_add:
continue
m = ip.netmask
if m != prefix32:
r[m] = [addr, 1]
continue
sn = ipa.IPv4Network(str(addr) + '/' + pfx, strict=False)
if sn in dont_summarize:
tgt = addr
else:
tgt = sn
if not sn in r:
r[tgt] = [addr, 1]
else:
r[tgt][1] += 1
o = []
for n, v in r.items():
if v[1] == 1:
o.append(str(v[0]) + '/32')
else:
o.append(n)
for k in o:
print(k)
Sgript i'w diweddaru
Rwy'n ei redeg ar y goron unwaith y dydd, efallai ei bod yn werth ei dynnu bob 4 awr. hwn, yn fy marn i, yw'r cyfnod adnewyddu y mae'r RKN ei angen gan ddarparwyr. Hefyd, mae ganddyn nhw rywfaint o flocio brys arall, a allai gyrraedd yn gyflymach.
Yn gwneud y canlynol:
Yn rhedeg y sgript gyntaf ac yn diweddaru'r rhestr o lwybrau (rkn_routes.list) am ADAR
Ail-lwytho ADAR
Yn diweddaru ac yn glanhau'r rhestr o barthau ar gyfer dnstap-bgp
Ail-lwytho dnstap-bgp
rkn_update.sh
#!/bin/bash
ROUTES="/etc/bird/rkn_routes.list"
DOMAINS="/var/cache/rkn_domains.txt"
# Get & summarize routes
/opt/rkn.py | sed 's/(.*)/route 1 via "ens3";/' > $ROUTES.new
if [ $? -ne 0 ]; then
rm -f $ROUTES.new
echo "Unable to download RKN routes"
exit 1
fi
if [ -e $ROUTES ]; then
mv $ROUTES $ROUTES.old
fi
mv $ROUTES.new $ROUTES
/bin/systemctl try-reload-or-restart bird
# Get domains
curl -s https://api.reserve-rbl.ru/api/v2/domains/json -o - | jq -r '.[]' | sed 's/^*.//' | sort | uniq > $DOMAINS.new
if [ $? -ne 0 ]; then
rm -f $DOMAINS.new
echo "Unable to download RKN domains"
exit 1
fi
if [ -e $DOMAINS ]; then
mv $DOMAINS $DOMAINS.old
fi
mv $DOMAINS.new $DOMAINS
/bin/systemctl try-reload-or-restart dnstap-bgp
Fe'u hysgrifennwyd heb fawr o feddwl, felly os gwelwch rywbeth y gellir ei wella - ewch amdani.
Gosodiad cleient
Yma byddaf yn rhoi enghreifftiau ar gyfer llwybryddion Linux, ond yn achos Mikrotik / Cisco dylai fod hyd yn oed yn haws.
Yn gyntaf, rydym yn sefydlu BIRD:
aderyn.conf
router id 192.168.1.2;
table rkn;
protocol device {
scan time 10;
};
# Servers
protocol bgp bgp_server1 {
table rkn;
local as 65000;
neighbor 192.168.1.1 as 65000;
direct;
bfd on;
next hop self;
graceful restart;
graceful restart time 60;
rr client;
export none;
import all;
}
protocol kernel {
table rkn;
kernel table 222;
scan time 10;
export all;
import none;
}
Felly, byddwn yn cydamseru'r llwybrau a dderbyniwyd gan BGP â'r tabl llwybro cnewyllyn rhif 222.
Ar ôl hynny, mae'n ddigon gofyn i'r cnewyllyn edrych ar y plât hwn cyn edrych ar yr un rhagosodedig:
# ip rule add from all pref 256 lookup 222
# ip rule
0: from all lookup local
256: from all lookup 222
32766: from all lookup main
32767: from all lookup default
Popeth, mae'n dal i fod i ffurfweddu DHCP ar y llwybrydd i ddosbarthu cyfeiriad IP twnnel y gweinydd fel DNS, ac mae'r cynllun yn barod.
Cyfyngiadau
Gyda'r algorithm presennol ar gyfer cynhyrchu a phrosesu'r rhestr o barthau, mae'n cynnwys, ymhlith pethau eraill, youtube.com a'i CDNs.
Ac mae hyn yn arwain at y ffaith y bydd pob fideo yn mynd trwy'r VPN, a all rwystro'r sianel gyfan. Efallai ei bod yn werth llunio rhestr o barthau poblogaidd-gwaharddiadau sy'n rhwystro'r RKN am y tro, mae'r perfedd yn denau. A sgipio nhw wrth dosrannu.
Casgliad
Mae'r dull a ddisgrifir yn caniatáu ichi osgoi bron unrhyw rwystro y mae darparwyr yn ei weithredu ar hyn o bryd.
Yn y bôn, dnstap-bgp gellir ei ddefnyddio at unrhyw ddiben arall lle mae angen rhywfaint o reolaeth traffig yn seiliedig ar yr enw parth. Cofiwch, yn ein hamser ni, y gall mil o safleoedd hongian ar yr un cyfeiriad IP (y tu ôl i rai Cloudflare, er enghraifft), felly mae gan y dull hwn gywirdeb eithaf isel.
Ond ar gyfer anghenion cloeon osgoi, mae hyn yn ddigon.