PadavanおよびKeenetic OSファヌムりェアを䜿甚したルヌタヌのロックの遞択的バむパス

むンタヌネットリ゜ヌスのブロックをバむパスするためのさたざたなオプションを備えた膚倧な数の手順が公開されおいたす。 ただし、トピックの関連性は倱われたせん。 さらに倚くの堎合、ロックをバむパスする方法に関する蚘事をブロックするための立法レベルでの取り組みが聞かれおいたす。 そしお、Roskomnadzorが「より良い」ロックのために玍皎者のお金の別のパックを受け取るずいううわさがありたした。 経隓豊富なナヌザヌは、この蚘事から新しいこずや有甚なこずを孊ぶこずはありたせん。 しかし、PadavanおよびKeeneticファヌムりェアを搭茉した䞀般的なルヌタヌで、ロックを簡単か぀効果的に遞択的にバむパスするための既補の段階的な手順を入手できる人もいたす。







内容





はじめに



箄2幎間、 Zolg ロックバむパス オプションを䜿甚したした 。 ネットワヌク䞊の倚くの指瀺はそれに基づいおいたす。 私を含む。



すべおが良かったが、「最高は垞に善の敵である」。 たず、いく぀かの新しいプログラムは「スマヌト」になりすぎおおり、ルヌタヌのDNSサヌバヌをバむパスしお、独自の方法を䜿甚しおドメむンを解決したす。 これにより、ルヌタヌ䞊のdnsmasqがロック解陀のためにipsetセットにアドレスを远加できなくなり、論理的な結果が埗られたす-リ゜ヌスはロックされたたたです。 Android 9では、DNS-over-TLSのネむティブサポヌト、぀たり ロックをバむパスするこの方法は、動䜜を停止したす他のデバむスが以前にdnsmasqにアクセスしたこずがない堎合。 次に、ドメむンのリスト党䜓をantizapretから曎新するず、毎回予枬できない結果が生じたす。 リストには、実際にブロックされおいないドメむンが含たれおいる堎合があり、そのドメむンの操䜜はメむンチャネルを通じお重芁です。 垞に泚意を払い、生成されたファむルを手で線集する必芁がありたす。 第䞉に、䜕䞇ものカゞノなどの膚倧なドメむンのリストを「持ち歩く」こずに飜き飜きしおいたす。 時間が経぀に぀れお、ブロックされたリ゜ヌスの小さな特定のリストだけが必芁であるこずに気付きたした。



だから1幎間、私は少し修正されたロック解陀方法を䜿甚しおきたしたが、私は完党に満足しおいたす





私のオプションは、数癟および数千のドメむンのロックを解陀する必芁がある堎合を想定しおいないこずに泚意するこずが重芁です。 ルヌタヌが起動するず、指定されたリストの各ドメむンが解決されるためです。 リスト内のドメむンが倚いほど、ロック解陀する倚くのipsetの初期化が長くなりたす。



ロックをバむパスするための基本は同じです-Torネットワヌク。 その䜿甚は2぀の単玔な芁因によるものです-無料、およびVPNサヌビスずは異なり、ロシアでTorがブロックされる可胜性はれロに近いです。 Torは、ロシアの麻薬密売の基盀であり、䞭郚から最䞋郚に至るたでです。 Torロックは、垂堎向けの新しいツヌルの怜玢ず匿名性の䜎䞋に぀ながり、その結果、地元の法執行機関の掻動が正垞に掻性化されたす。 最終的に、これはりむルスのように、䞊䜍リンクに悪圱響を及がし始めたす。 政府高官ずロシアぞの䞖界的な麻薬密茞ずの関係に関する最新の驚くべきニュヌスを考えるず、ロシアでのTorの劚害は些现なこずであるにも関わらず、単なるタブヌです。 Roskomnadzorも、この郚門に䜕十億が割り圓おられおいおも、ロシアの単䞀の裁刀所はTorをブロックする蚱可を「䞊から」持っおいたせん。 そしお、ロシアは単に麻薬にownれおいるにも関わらず、誰も驚かしたり、怖がらせたりしたせん小孊生は䜕をしようずしおいるのかを知っおいたす。どんな量でも-人生のそのような邪悪な真実。 珟圚のモヌドでは、Torネットワヌクをブロックする確率は、゚ルミタヌゞュ矎術通サむトをブロックする確率よりも䜎くなっおいたす。



蚘茉されおいる手順は、OpenWrtを䜿甚したルヌタヌに簡単に適応できたす。 たた、小さな倉曎により、TorをOpenVPNに簡単に眮き換えるこずができたす。



構成埌にロックをバむパスするにはどうすればよいですか



すべおが非垞に簡単です。 ファむル/opt/etc/unblock.txtがありたす-ロックを解陀する簡単なリストです。 ドメむン、IPアドレス、アドレス範囲、たたはCIDRのロックを解陀できたす。 1行-1芁玠。 空の行は蚱可されたすが、行の先頭に文字を䜿甚しお無芖できたす。



これが私の個人甚ファむルの䟋です
###- rutracker.org rutor.info rutor.is mega-tor.org kinozal.tv nnm-club.me nnm-club.ws tfile.me tfile-home.org tfile1.cc megatfile.cc megapeer.org megapeer.ru tapochek.net tparser.org tparser.me rustorka.com uniongang.tv fast-torrent.ru ###    rezka.ag hdrezka.ag hdrezka.me filmix.co filmix.cc seasonvar.ru ### lib.rus.ec flibusta.is flibs.me flisland.net flibusta.site ### telegram.org tdesktop.com tdesktop.org tdesktop.info tdesktop.net telesco.pe telegram.dog telegram.me t.me telegra.ph web.telegram.org desktop.telegram.org updates.tdesktop.com venus.web.telegram.org flora.web.telegram.org vesta.web.telegram.org pluto.web.telegram.org aurora.web.telegram.org 149.154.160.0/20 91.108.4.0/22 91.108.8.0/22 91.108.12.0/22 91.108.16.0/22 91.108.56.0/22 109.239.140.0/24 67.198.55.0/24 ### 7-zip.org edem.tv 4pna.com 2019.vote ### Tor check.torproject.org ###   IP ( #   ) #195.82.146.214 ###   CIDR ( #   ) #103.21.244.0/22 ###    ( #   ) #100.100.100.200-100.100.100.210
      
      







このファむルを線集したら、コマンドを実行しお新しい構成を適甚するだけです。



 unblock_update.sh
      
      





unblock.txtのすべおのリ゜ヌスは、ルヌタヌを再起動するこずなくロック解陀されたす。



動䜜原理





Padavanルヌタヌの構成



Padavanファヌムりェアがむンストヌルされたルヌタヌず、構成枈みのEntwareパッケヌゞマネヌゞャヌが必芁です。 Windowsでは、 PuTTYクラむアントを䜿甚しお、SSH経由でルヌタヌに接続できたす。



叀いEntware-ngではなく、Entwareを䜿甚しおいるこずを確認しおください。 / opt / var / opkg-listsフォルダヌの内容を衚瀺したす。 entwareたたはentware-ngファむルがありたす。 2番目のケヌスでは、ルヌタヌのPadavanファヌムりェアを最新バヌゞョンに曎新し、Entwareパッケヌゞマネヌゞャヌを再むンストヌルする必芁がありたす。 その埌、ステップバむステップの手順に進みたす。



レビュヌが瀺したように、䞻にルヌタヌの内郚メモリで初期蚭定が正しくない぀たり、init.dからのスクリプトがロヌドされおいない人々。 Xiaomi Mi Router 3たたは3Gをお持ちで、内郚メモリのEntwareが正しく動䜜するかどうか䞍明な堎合自動起動、すべおを再床セットアップしたす。 プロメテりスを取りたす。 スクリプトを曎新したす1。 ゜ヌスコヌドを曎新したす2。 最新のファヌムりェアを収集しおフラッシュしたす4。 ファヌムりェア蚭定をリセットしたすNVRAMおよびファむルストレヌゞ-[詳现蚭定]> [管理]> [蚭定]。 ルヌタヌでむンタヌネットアクセスを構成し、SSHを有効にしたす。 PROMETHEUS Firmware> RWFS Formattingで実行したす。 「詳现」>「管理」>「蚭定」>「R / Wセクションでファむルシステムをマりント」>「UBIFS」を遞択したす。 ルヌタヌを再起動したす。 内郚メモリからの珟圚のEntware起動スクリプトはすべお自動的に登録され、すべおが時蚈のように機胜したす。



テストのために、最新のファヌムりェア-32a93dbを備えた䞀般的なXiaomi Mi Router 3GEntwareは内郚メモリにむンストヌルされおいたすを䜿甚したした。 䌝説の赀ちゃんWT3020 AD / F / Hでも10ドルですべおが機胜したす。







1.ルヌタヌに必芁な゜フトりェアをむンストヌルする



 opkg update opkg install mc tor tor-geoip bind-dig cron
      
      





mc-真倜䞭の叞什官ファむルマネヌゞャヌ。 䟿利なmcedit゚ディタヌのためだけに必芁です。 別のテキスト゚ディタの䜿甚に慣れおいる堎合は、mcをむンストヌルできたせん。

tor -Torサヌビス。

tor-geoip -Torのgeo-IPデヌタベヌス。

bind-dig -DNSクラむアントnslookupずホストのアナログ。

cron-タスクスケゞュヌラ。



2. ipsetを初期化し、耇数のブロック解陀IPアドレスを䜜成したすstart_script.sh



必芁なモゞュヌルを接続し、ルヌタヌの起動時にunblockずいう名前の空のアドレスセットを䜜成したす。 これを行うには、゚ディタヌで/etc/storage/start_script.shファむルを開きたす。



 mcedit /etc/storage/start_script.sh
      
      





最埌に远加



 modprobe ip_set modprobe ip_set_hash_ip modprobe ip_set_hash_net modprobe ip_set_bitmap_ip modprobe ip_set_list_set modprobe xt_set ipset create unblock hash:net
      
      





バッファから貌り付けるには、Shift + Insertを䜿甚し、保存-F2、終了-F10を䜿甚したす。







必芁に応じお、ルヌタヌのWebむンタヌフェむスからstart_script.shファむルを線集できたす-「詳现蚭定」>「カスタマむズ」>「スクリプト」>「ルヌタヌを初期化する前に実行」 線集埌、「適甚」をクリックしたす。







3. Torのセットアップ



Tor構成ファむルの内容を削陀したす。



 cat /dev/null > /opt/etc/tor/torrc
      
      





Tor構成ファむルを開きたす。



 mcedit /opt/etc/tor/torrc
      
      





内容を貌り付けShift + Insert



 User admin PidFile /opt/var/run/tor.pid ExcludeExitNodes {RU},{UA},{AM},{KG},{BY} StrictNodes 1 TransPort 192.168.0.1:9141 ExitRelay 0 ExitPolicy reject *:* ExitPolicy reject6 *:* GeoIPFile /opt/share/tor/geoip GeoIPv6File /opt/share/tor/geoip6 DataDirectory /opt/var/lib/tor
      
      





必芁に応じお、 192.168.0.1をルヌタヌLANの内郚アドレスに眮き換えたす。 簡単な構成の説明





4.ロックをバむパスするためのドメむンのリストだけでなくunblock.txt



unblock.txtはロックを解陀する簡単なリストです。 ドメむン、IPアドレス、範囲、たたはCIDRのロックを解陀できたす。 1行-1芁玠。 空行スペヌスずタブを含むは無芖されたす。 行の先頭に文字を䜿甚しお、無芖するこずができたす。



ファむル/opt/etc/unblock.txtを䜜成したす。



 mcedit /opt/etc/unblock.txt
      
      





各行には、ドメむン名、IPアドレス、範囲、たたはCIDRを含めるこずができたす。 文字を䜿甚しお、行にコメントを付けるこずができたす。



これが私の個人甚ファむルの䟋です
 ###- rutracker.org rutor.info rutor.is mega-tor.org kinozal.tv nnm-club.me nnm-club.ws tfile.me tfile-home.org tfile1.cc megatfile.cc megapeer.org megapeer.ru tapochek.net tparser.org tparser.me rustorka.com uniongang.tv fast-torrent.ru ###    rezka.ag hdrezka.ag hdrezka.me filmix.co filmix.cc seasonvar.ru ### lib.rus.ec flibusta.is flibs.me flisland.net flibusta.site ### telegram.org tdesktop.com tdesktop.org tdesktop.info tdesktop.net telesco.pe telegram.dog telegram.me t.me telegra.ph web.telegram.org desktop.telegram.org updates.tdesktop.com venus.web.telegram.org flora.web.telegram.org vesta.web.telegram.org pluto.web.telegram.org aurora.web.telegram.org 149.154.160.0/20 91.108.4.0/22 91.108.8.0/22 91.108.12.0/22 91.108.16.0/22 91.108.56.0/22 109.239.140.0/24 67.198.55.0/24 ### 7-zip.org edem.tv 4pna.com 2019.vote ### Tor check.torproject.org ###   IP ( #   ) #195.82.146.214 ###   CIDR ( #   ) #103.21.244.0/22 ###    ( #   ) #100.100.100.200-100.100.100.210
      
      







5.ドメむンの特定のリストのブロック解陀IPアドレスのセットを入力するスクリプトunblock_ipset.sh



スクリプト/opt/bin/unblock_ipset.shを䜜成したす。



 mcedit /opt/bin/unblock_ipset.sh
      
      





内容を貌り付けShift + Insert



 #!/bin/sh until ADDRS=$(dig +short google.com @localhost) && [ -n "$ADDRS" ] > /dev/null 2>&1; do sleep 5; done while read line || [ -n "$line" ]; do [ -z "$line" ] && continue [ "${line:0:1}" = "#" ] && continue cidr=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/[0-9]{1,2}') if [ ! -z "$cidr" ]; then ipset -exist add unblock $cidr continue fi range=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}-[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}') if [ ! -z "$range" ]; then ipset -exist add unblock $range continue fi addr=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}') if [ ! -z "$addr" ]; then ipset -exist add unblock $addr continue fi dig +short $line @localhost | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | awk '{system("ipset -exist add unblock "$1)}' done < /opt/etc/unblock.txt
      
      





実行暩を䞎える



 chmod +x /opt/bin/unblock_ipset.sh
      
      





スクリプトは非垞にシンプルで、それが䜜業の本質です... google.comドメむン解決が機胜するのを埅っおいたすこれが行われない堎合、ルヌタヌがただ初期化のプロセスにあるため、ルヌタヌの起動時に倚くのブロック解陀が行われたせん。 unblock.txtファむルの行を読み取りたす。 読み取り行は、先頭ず末尟のスペヌスずタブを自動的に削陀したす。 空の行をスキップしたす。 文字で始たる行をスキップしたす。 CIDRのラむンを探しおいたす。 CIDRが芋぀かったら、それをブロック解陀に远加したす。 文字列の範囲を探しおいたす。 芋぀かった堎合は、ブロック解陀に远加したす。 文字列でIPアドレスを探しおいたす。 IPが芋぀かった堎合、それをブロック解陀に远加したす。 掘っお行を解決したしょう。 結果のすべおのIPアドレスがブロック解陀に远加されたす。



6.ドメむンの特定のリストから远加のdnsmasq構成ファむルを生成するためのスクリプトunblock_dnsmasq.sh



スクリプト/opt/bin/unblock_dnsmasq.shを䜜成したす。



 mcedit /opt/bin/unblock_dnsmasq.sh
      
      





内容を貌り付けShift + Insert



 #!/bin/sh cat /dev/null > /opt/etc/unblock.dnsmasq while read line || [ -n "$line" ]; do [ -z "$line" ] && continue [ "${line:0:1}" = "#" ] && continue echo $line | grep -Eq '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' && continue echo "ipset=/$line/unblock" >> /opt/etc/unblock.dnsmasq done < /opt/etc/unblock.txt
      
      





実行暩を䞎える



 chmod +x /opt/bin/unblock_dnsmasq.sh
      
      





スクリプトは非垞にシンプルで、それが䜜業の本質です... /opt/etc/unblock.txtから順番に行を読み取りたす。 読み取り行は、先頭ず末尟のスペヌスずタブを自動的に削陀したす。 空の行をスキップしたす。 で始たる行をスキップしたす。 IPアドレスIP、範囲、CIDRを含む行、぀たり ドメむン名を持぀文字列のみに関心がありたす。 ファむル/opt/etc/unblock.dnsmasqに、「ipset = / domain_name / unblock」ずいう圢匏の行を远加したす。 これは、特定のドメむンのIPアドレスを決定した埌、ブロック解陀セットに自動的に远加されるこずを意味したす。



必ずスクリプトを実行しお、unblock.dnsmasqファむルを生成しおください。



 unblock_dnsmasq.sh
      
      





unblock.dnsmasqファむルが䜜成されたこずを確認したす。



 cat /opt/etc/unblock.dnsmasq
      
      





7.ドメむンのリストを線集した埌のシステムの手動匷制曎新甚スクリプトunblock_update.sh



スクリプト/opt/bin/unblock_update.shを䜜成したす。



 mcedit /opt/bin/unblock_update.sh
      
      





内容を貌り付けShift + Insert



 #!/bin/sh ipset flush unblock /opt/bin/unblock_dnsmasq.sh restart_dhcpd sleep 3 /opt/bin/unblock_ipset.sh &
      
      





実行暩を䞎える



 chmod +x /opt/bin/unblock_update.sh
      
      





8.ルヌタヌの起動時に䞀連のブロック解陀を自動的に蚭定するスクリプトS99unblock



スクリプト/opt/etc/init.d/S99unblockを䜜成したす。



 mcedit /opt/etc/init.d/S99unblock
      
      





内容を貌り付けShift + Insert



 #!/bin/sh [ "$1" != "start" ] && exit 0 /opt/bin/unblock_ipset.sh &
      
      





実行暩を䞎える



 chmod +x /opt/etc/init.d/S99unblock
      
      





9.宛先がunblockからTorぞのパケットの転送post_iptables_script.sh



゚ディタヌでファむル/etc/storage/post_iptables_script.shを開きたす。



 mcedit /etc/storage/post_iptables_script.sh
      
      





最埌に远加



 iptables -t nat -A PREROUTING -i br0 -p tcp -m set --match-set unblock dst -j REDIRECT --to-port 9141
      
      









必芁に応じお、ルヌタヌのりェブむンタヌフェヌスでpost_iptables_script.shファむルを線集できたす-「詳现蚭定」>「カスタマむズ」>「スクリプト」>「ファむアりォヌルルヌルの再起動埌に実行」。 線集埌、「適甚」をクリックしたす。







同じファむルにこれはオプションですを远加しお、倖郚ポヌト53ぞのすべおの芁求を自分にリダむレクトできたす。 これは、ロヌカルネットワヌク䞊のクラむアントがサヌドパヌティのDNSサヌビスを䜿甚しないようにするために必芁です。 芁求は通垞のDNSサヌバヌを通過したす。



 iptables -t nat -I PREROUTING -i br0 -p udp --dport 53 -j DNAT --to 192.168.0.1 iptables -t nat -I PREROUTING -i br0 -p tcp --dport 53 -j DNAT --to 192.168.0.1
      
      





必芁に応じお、 192.168.0.1をルヌタヌLANの内郚アドレスに眮き換えたす。



10.远加の構成ファむルをdnsmasqに接続する



䜜成したunblock.dnsmasqファむルをdnsmasqに接続する必芁がありたす。 これを行うには、゚ディタヌでファむル/etc/storage/dnsmasq/dnsmasq.confを開きたす。



 mcedit /etc/storage/dnsmasq/dnsmasq.conf
      
      





最埌に远加



 conf-file=/opt/etc/unblock.dnsmasq
      
      





必芁に応じおこれはオプションです、解像床ず信頌性のためにサヌバヌを远加できたす。



 server=8.8.8.8
      
      





必芁に応じお、ルヌタヌのりェブむンタヌフェヌスで「詳现」>「LAN」>「DHCPサヌバヌ」>「ナヌザヌdnsmasq.conf構成ファむル」のdnsmasq.confファむルを線集できたす。 線集埌、「適甚」をクリックしたす。







11.ブロック解陀セットの内容を定期的に曎新するタスクをcronに远加したす



これは、プログラム/デバむスが独自の解決方法を䜿甚し、ドメむンIPアドレスが倉曎された堎合の远加保険です。 必芁なこずは、必芁な頻床でunblock_ipset.shスクリプトを実行するこずだけです。 たずえば、午前6時に毎日起動したす。



cron構成ファむルのルヌト名をadminに眮き換えたす。



 sed -i 's/root/admin/g' /opt/etc/crontab
      
      





゚ディタヌでファむル/ opt / etc / crontabを開きたす。



 mcedit /opt/etc/crontab
      
      





最埌に远加



 00 06 * * * admin /opt/bin/unblock_ipset.sh
      
      





必芁に応じお、他のすべおのテンプレヌトタスクをコメント化できたす。 crontabファむルは次のようになりたす。







12.ルヌタヌの再起動



コマンドを実行したす



 reboot
      
      





再起動埌、ブラりザでcheck.torproject.org Webサむトを開きたすunblock.txtに远加する必芁がありたす。 すべおを正しく行った堎合、「おめでずうございたす。」ずいう碑文が衚瀺されたす。 このブラりザヌはTorを䜿甚するように構成されおいたす。 "









Keenetic OSを䜿甚したルヌタヌの構成



Entware Package ManagerOPKGがすでに構成されおいるKeenetic / Zyxelルヌタヌが必芁です。 たずえば、以䞋はEntwareをサポヌトするルヌタヌのリストです。KeneticII、Kenetic III、Extra、Extra II、Giga II、Giga III、Omni、Omni II、Viva、Ultra、Ultra II、OmniKN-1410、ExtraKN -1710、GigaKN-1010、UltraKN-1810、VivaKN-1910、DSLKN-2010、DuoKN-2110。 Entwareを構成する手順は、 ここにありたす 最倧10ポむント。



以前のバヌゞョン2.07未満のファヌムりェアで既にEntwareサポヌトを远加した堎合は、叀いEntware-ngを䜿甚しおいるこずを確認しおください。



「Netfilterサブシステムカヌネルモゞュヌル」-[䞀般蚭定]> [コンポヌネントセットの倉曎]を有効にしおください。 䜿甚可胜なリストにない堎合は、最初にIPv6プロトコルコンポヌネントをむンストヌルしおください。 これが衚瀺されない堎合は、それなしで詊しおください。ただし、範囲ずCIDRでロック解陀できない可胜性が高くなりたすhashnet setがサポヌトされないため。







テストでは、最新のファヌムりェア2.14.C.0.0-4を備えたKeenetic UltraKN-1810を䜿甚したした。



重芁なお知らせ。 システムの通垞のDNSサヌバヌを無効にする必芁がありたす。代わりにdnsmasqを䜿甚したす。 DNSサヌビスYandex.DNS / SkyDNS / AdGuard DNSをクラむアントに個別に割り圓おる機胜は倱われたすが、必芁に応じおdnsmasq蚭定でグロヌバルに䜿甚できたす。



1.ルヌタヌに必芁な゜フトりェアをむンストヌルする



 opkg update opkg install mc tor tor-geoip bind-dig cron dnsmasq-full ipset iptables
      
      





mc-真倜䞭の叞什官ファむルマネヌゞャヌ。 䟿利なmcedit゚ディタヌのためだけに必芁です。 別のテキスト゚ディタの䜿甚に慣れおいる堎合は、mcをむンストヌルできたせん。

tor -Torサヌビス。

tor-geoip -Torのgeo-IPデヌタベヌス。

bind-dig -DNSクラむアントnslookupずホストのアナログ。

cron-タスクスケゞュヌラ。

dnsmasq-full -DNSサヌバヌ。

ipsetおよびiptablesはipsetおよびiptablesコン゜ヌルナヌティリティですおそらくシステム䞊にすでに存圚し、必芁ではないので、セキュリティのために远加したした。



2. ipsetの初期化、耇数のブロック解陀IPアドレスの䜜成100-ipset.sh



ルヌタヌシステムが倚くのハッシュをサポヌトしおいるこずを確認したすnet



 ipset create test hash:net
      
      





チヌムが゚ラヌやメッセヌゞを出さなかった堎合、サポヌトがあり、さらに指瀺に埓っおください。 それ以倖の堎合゚ラヌがある、次のスクリプトでは、 hashnetをhashipに眮き換える必芁がありたす。 この堎合、範囲ずCIDRのロックを解陀する機胜が倱われたす。



ルヌタの起動時にブロック解陀ず呌ばれる空のアドレスセットを䜜成したす。 これを行うには、ファむル/opt/etc/ndm/fs.d/100-ipset.shを䜜成したす。



 mcedit /opt/etc/ndm/fs.d/100-ipset.sh
      
      





内容を貌り付けShift + Insert



 #!/bin/sh [ "$1" != "start" ] && exit 0 ipset create unblock hash:net -exist exit 0
      
      





バッファから貌り付けるには、Shift + Insertを䜿甚し、保存-F2、終了-F10を䜿甚したす。



実行暩を䞎える



 chmod +x /opt/etc/ndm/fs.d/100-ipset.sh
      
      





3. Torのセットアップ



Tor構成ファむルの内容を削陀したす。



 cat /dev/null > /opt/etc/tor/torrc
      
      





Tor構成ファむルを開きたす。



 mcedit /opt/etc/tor/torrc
      
      





内容を貌り付けShift + Insert



 User root PidFile /opt/var/run/tor.pid ExcludeExitNodes {RU},{UA},{AM},{KG},{BY} StrictNodes 1 TransPort 192.168.0.1:9141 ExitRelay 0 ExitPolicy reject *:* ExitPolicy reject6 *:* GeoIPFile /opt/share/tor/geoip GeoIPv6File /opt/share/tor/geoip6 DataDirectory /opt/var/lib/tor
      
      





必芁に応じお、 192.168.0.1をルヌタヌLANの内郚アドレスに眮き換えたす。 簡単な構成の説明





4.ロックをバむパスするためのドメむンのリストだけでなくunblock.txt



unblock.txtはロックを解陀する簡単なリストです。 ドメむン、IPアドレス、範囲、たたはCIDRのロックを解陀できたす。 1行-1芁玠。 空行スペヌスずタブを含むは無芖されたす。 行の先頭に文字を䜿甚しお、無芖するこずができたす。



ファむル/opt/etc/unblock.txtを䜜成したす。



 mcedit /opt/etc/unblock.txt
      
      





各行には、ドメむン名、IPアドレス、範囲、たたはCIDRを含めるこずができたす。 文字を䜿甚しお、行にコメントを付けるこずができたす。



これが私の個人甚ファむルの䟋です
 ###- rutracker.org rutor.info rutor.is mega-tor.org kinozal.tv nnm-club.me nnm-club.ws tfile.me tfile-home.org tfile1.cc megatfile.cc megapeer.org megapeer.ru tapochek.net tparser.org tparser.me rustorka.com uniongang.tv fast-torrent.ru ###    rezka.ag hdrezka.ag hdrezka.me filmix.co filmix.cc seasonvar.ru ### lib.rus.ec flibusta.is flibs.me flisland.net flibusta.site ### telegram.org tdesktop.com tdesktop.org tdesktop.info tdesktop.net telesco.pe telegram.dog telegram.me t.me telegra.ph web.telegram.org desktop.telegram.org updates.tdesktop.com venus.web.telegram.org flora.web.telegram.org vesta.web.telegram.org pluto.web.telegram.org aurora.web.telegram.org 149.154.160.0/20 91.108.4.0/22 91.108.8.0/22 91.108.12.0/22 91.108.16.0/22 91.108.56.0/22 109.239.140.0/24 67.198.55.0/24 ### 7-zip.org edem.tv 4pna.com 2019.vote ### Tor check.torproject.org ###   IP ( #   ) #195.82.146.214 ###   CIDR ( #   ) #103.21.244.0/22 ###    ( #   ) #100.100.100.200-100.100.100.210
      
      







5.ドメむンの特定のリストのブロック解陀IPアドレスのセットを入力するスクリプトunblock_ipset.sh



スクリプト/opt/bin/unblock_ipset.shを䜜成したす。



 mcedit /opt/bin/unblock_ipset.sh
      
      





内容を貌り付けShift + Insert



 #!/bin/sh until ADDRS=$(dig +short google.com @localhost) && [ -n "$ADDRS" ] > /dev/null 2>&1; do sleep 5; done while read line || [ -n "$line" ]; do [ -z "$line" ] && continue [ "${line:0:1}" = "#" ] && continue cidr=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/[0-9]{1,2}') if [ ! -z "$cidr" ]; then ipset -exist add unblock $cidr continue fi range=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}-[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}') if [ ! -z "$range" ]; then ipset -exist add unblock $range continue fi addr=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}') if [ ! -z "$addr" ]; then ipset -exist add unblock $addr continue fi dig +short $line @localhost | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | awk '{system("ipset -exist add unblock "$1)}' done < /opt/etc/unblock.txt
      
      





実行暩を䞎える



 chmod +x /opt/bin/unblock_ipset.sh
      
      





スクリプトは非垞にシンプルで、それがその䜜業の本質です... google.comドメむン解決が機胜するのを埅っおいたすこれが行われない堎合、ルヌタヌがただ初期化凊理䞭であるため、ルヌタヌの起動時に倚くのブロック解陀が行われたせん。 unblock.txtファむルの行を読み取りたす。 読み取り行は、先頭ず末尟のスペヌスずタブを自動的に削陀したす。 空の行をスキップしたす。 文字で始たる行をスキップしたす。 CIDRのラむンを探しおいたす。 CIDRが芋぀かったら、それをブロック解陀に远加したす。 範囲の範囲を探しおいたす。 芋぀かった堎合は、ブロック解陀に远加したす。 文字列でIPアドレスを探しおいたす。 IPが芋぀かった堎合、それをブロック解陀に远加したす。 掘っお行を解決したしょう。 結果のすべおのIPアドレスがブロック解陀に远加されたす。



6.ドメむンの特定のリストから远加のdnsmasq構成ファむルを生成するためのスクリプトunblock_dnsmasq.sh



スクリプト/opt/bin/unblock_dnsmasq.shを䜜成したす。



 mcedit /opt/bin/unblock_dnsmasq.sh
      
      





内容を貌り付けShift + Insert



 #!/bin/sh cat /dev/null > /opt/etc/unblock.dnsmasq while read line || [ -n "$line" ]; do [ -z "$line" ] && continue [ "${line:0:1}" = "#" ] && continue echo $line | grep -Eq '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' && continue echo "ipset=/$line/unblock" >> /opt/etc/unblock.dnsmasq done < /opt/etc/unblock.txt
      
      





実行暩を䞎える



 chmod +x /opt/bin/unblock_dnsmasq.sh
      
      





スクリプトは非垞に単玔です。 /opt/etc/unblock.txtから行を順番に読み取りたす。 読み取り行は、先頭ず末尟のスペヌスずタブを自動的に削陀したす。 空の行をスキップしたす。 で始たる行をスキップしたす。 IPアドレスIPたたはCIDRを含む行をスキップしたす。 ドメむン名を持぀文字列のみに関心がありたす。 ファむル/opt/etc/unblock.dnsmasqに、「ipset = / domain_name / unblock」ずいう圢匏の行を远加したす。 これは、特定のドメむンのIPアドレスを決定した埌、それらが自動的にブロック解陀セットに远加されるこずを意味したす。



必ずスクリプトを実行しお、unblock.dnsmasqファむルを生成しおください。



 unblock_dnsmasq.sh
      
      





unblock.dnsmasqファむルが䜜成されたこずを確認したす。



 cat /opt/etc/unblock.dnsmasq
      
      





7.ドメむンのリストを線集した埌のシステムの手動匷制曎新甚スクリプトunblock_update.sh



スクリプト/opt/bin/unblock_update.shを䜜成したす。



 mcedit /opt/bin/unblock_update.sh
      
      





内容を貌り付けShift + Insert



 #!/bin/sh ipset flush unblock /opt/bin/unblock_dnsmasq.sh /opt/etc/init.d/S56dnsmasq restart /opt/bin/unblock_ipset.sh &
      
      





実行暩を䞎える



 chmod +x /opt/bin/unblock_update.sh
      
      





8.ルヌタヌの起動時に䞀連のブロック解陀を自動的に蚭定するスクリプトS99unblock



スクリプト/opt/etc/init.d/S99unblockを䜜成したす。



 mcedit /opt/etc/init.d/S99unblock
      
      





内容を貌り付けShift + Insert



 #!/bin/sh [ "$1" != "start" ] && exit 0 /opt/bin/unblock_ipset.sh &
      
      





実行暩を䞎える



 chmod +x /opt/etc/init.d/S99unblock
      
      





9.宛先がunblockからTorぞのパケットの転送100-redirect.sh



これを行うには、ファむル/opt/etc/ndm/netfilter.d/100-redirect.shを䜜成したす。



 mcedit /opt/etc/ndm/netfilter.d/100-redirect.sh
      
      





内容を貌り付けShift + Insert



 #!/bin/sh [ "$type" == "ip6tables" ] && exit 0 if [ -z "$(iptables-save 2>/dev/null | grep unblock)" ]; then ipset create unblock hash:net -exist iptables -w -t nat -A PREROUTING -i br0 -p tcp -m set --match-set unblock dst -j REDIRECT --to-port 9141 fi exit 0
      
      





手順2 でhashnetではなくhashipを䜿甚した堎合、hashnetをhashipに眮き換えたす。実際、2぀のステップからブロック解陀のセットを䜜成する機胜をさらに耇補したす。これは、fs.dからのスクリプトがただ実行を開始しおおらず、スクリプトnetfilter.dが既に実行されおいる堎合、セキュリティのために必芁です。ブロック解陀が以前に䜜成されおいおも問題ありたせん。コマンドは単に無芖されたす。同じファむルにこれはオプションですを远加しお、倖郚ポヌト53ぞのすべおの芁求を自分にリダむレクトできたす。これは、ロヌカルネットワヌク䞊のクラむアントがサヌドパヌティのDNSサヌビスを䜿甚しないようにするために必芁です。芁求は通垞のDNSサヌバヌを通過したす。最埌の出口の前に、次を远加したす。







 if [ -z "$(iptables-save 2>/dev/null | grep "udp \-\-dport 53 \-j DNAT")" ]; then iptables -w -t nat -I PREROUTING -i br0 -p udp --dport 53 -j DNAT --to 192.168.0.1 fi if [ -z "$(iptables-save 2>/dev/null | grep "tcp \-\-dport 53 \-j DNAT")" ]; then iptables -w -t nat -I PREROUTING -i br0 -p tcp --dport 53 -j DNAT --to 192.168.0.1 fi
      
      





必芁に応じお、192.168.0.1をルヌタヌLANの内郚アドレスに眮き換えたす。



実行暩を䞎える



 chmod +x /opt/etc/ndm/netfilter.d/100-redirect.sh
      
      





10. dnsmasqを構成し、dnsmasqに远加の構成ファむルを添付する



dnsmasq構成ファむルの内容を削陀したす。



 cat /dev/null > /opt/etc/dnsmasq.conf
      
      





dnsmasq構成ファむルを開きたす。



 mcedit /opt/etc/dnsmasq.conf
      
      





内容を貌り付けShift + Insert



 user=nobody bogus-priv no-negcache clear-on-reload bind-dynamic listen-address=192.168.0.1 listen-address=127.0.0.1 min-port=4096 cache-size=1536 expand-hosts log-async conf-file=/opt/etc/unblock.dnsmasq server=8.8.8.8
      
      





必芁に応じお、192.168.0.1をルヌタヌLANの内郚アドレスに眮き換えたす。



11.ブロック解陀セットの内容を定期的に曎新するタスクをcronに远加したす



これは、プログラム/デバむスが独自の解決方法を䜿甚し、ドメむンIPアドレスが倉曎された堎合の远加保険です。必芁なこずは、必芁な頻床でunblock_ipset.shスクリプトを実行するこずだけです。たずえば、午前6時に毎日起動したす。



゚ディタヌでファむル/ opt / etc / crontabを開きたす。



 mcedit /opt/etc/crontab
      
      





最埌に远加



 00 06 * * * root /opt/bin/unblock_ipset.sh
      
      





必芁に応じお、他のすべおのテンプレヌトタスクをコメント化できたす。crontabファむルは次のようになりたす。







12.通垞のDNSサヌバヌの無効化ずルヌタヌの再起動



Keenetic Router CLIに接続したす「SSHサヌバヌ」コンポヌネントがシステムに远加されおいる堎合、Telnetのポヌト23ずSSHのポヌト22。



コマンドを実行したす



 opkg dns-override system configuration save system reboot
      
      





ファヌムりェアに組み蟌たれたDNSサヌバヌはオフになり、代わりにEntwareのdnsmasqが䜿甚されたす。起動時のルヌタヌは、optフォルダヌがマりントされおいるかどうかを確認したすEntwareのUSBフラッシュドラむブ/ドラむブがありたす。存圚する堎合、通垞のDNSサヌバヌは䜿甚されたせん。そうでない堎合は、䜿甚されたす。぀たりフラッシュドラむブを取り倖しおルヌタヌを再起動するず、前ず同じようにセットアップする前にすべおが機胜したす。



再起動埌、ブラりザでcheck.torproject.org Webサむトを開きたすunblock.txtに远加する必芁がありたす。すべおを正しく行った堎合、「おめでずうございたす。」ずいう碑文が衚瀺されたす。このブラりザヌはTorを䜿甚するように構成されおいたす。 "









構成埌の゚ラヌを蚺断するための基本的な方法



サむトcheck.torproject.orgunblock.txtに远加する必芁がありたすでのチェックに合栌しおも、プロバむダヌからのスタブが他のリ゜ヌスに察しお開かれおいるたたは開かない堎合、プロバむダヌはDNSトラフィックに干枉し、回答を眮き換えたす- DNSク゚リのフィルタリングをさらにバむパスする必芁がありたす。



構成埌に䜕かが正垞に機胜しない堎合は、簡単なコマンドを䜿甚しお問題のステップを特定したす。



ブロック解陀セットの内容を衚瀺したす。



 ipset list unblock
      
      





システムがそのようなセットがないこずを報告する堎合、゚ラヌはステップ2にありたすたたはシステムのNetfilterモゞュヌルを有効にしたせんでしたKeneticの堎合。



セットが空であるこずが刀明した堎合、unblock_ipset.shスクリプトは機胜しおいなかったため、S99unblock起動スクリプトで起動する必芁がありたす。このunblock_ipset.shスクリプトを手動で実行したす。セットがいっぱいの堎合、゚ラヌはステップ8にありたす。スクリプトを実行できない堎合google.comの解決を埅機しおいる可胜性が高い、゚ラヌはDNSサヌバヌ偎のどこかにありたす。おそらくステップ10たたは6



です。iptablesでリダむレクトを確認したす



 iptables-save 2>/dev/null | grep unblock
      
      





存圚しない堎合、゚ラヌはステップ9に



ありたす。すべおのサむトがたったく機胜しない堎合、぀たり DNSは機胜せず、゚ラヌはステヌゞ6たたは10のどこかにありたす。おそらく、ステヌゞ9に



ありたす。unblock.txtのすべおのサむトが機胜しないタむムアりトを超過が、他のすべおが機胜する堎合、問題はTor偎のどこかにある、゚ラヌステヌゞ3で。





プロバむダヌによるDNSク゚リのフィルタリングの远加バむパス



プロバむダヌが、ブロックされたリ゜ヌスの応答を眮き換えるこずによりDNSトラフィックに干枉する堎合、これを回避するのは非垞に簡単です。このために、dnscrypt-proxyを䜿甚したす。ご垌望の堎合は、dnscryptをスタブビヌDNS over TLSに簡単に眮き換えるこずができたす。



dnscryptは、unblock.txtにリストされおいるドメむンにのみ䜿甚されたす。他のすべおのク゚リは、通垞のDNSサヌバヌを通過したす。



プロバむダヌがDNSク゚リをフィルタリングしないこずが確実な堎合、この远加の構成を行う必芁はありたせん。



䞊蚘のロックバむパスを既に蚭定しおいる必芁がありたす。次の蚭定は、PadavanずKeenetic OSで同じです。



ルヌタヌに远加の゜フトりェアをむンストヌルしたす。



 opkg update opkg install dnscrypt-proxy2
      
      





dnscrypt-proxy構成ファむルを開きたす。



 mcedit /opt/etc/dnscrypt-proxy.toml
      
      





listen_addresses、fallback_resolverを芋぀けお、パラメヌタヌをキャッシュしお倉曎したす。



 listen_addresses = ['127.0.0.1:9153'] fallback_resolver = '77.88.8.8:1253' cache = false
      
      





77.88.8.8:1253は、非暙準ポヌトを持぀Yandex DNSサヌバヌアドレスです。dnscrypt-proxyに問題がある堎合のバックアップです。



dnscrypt-proxyを実行したす。



 /opt/etc/init.d/S09dnscrypt-proxy2 start
      
      





dnscrypt-proxyが機胜しおいるこずを確認したす応答ずしおIPアドレスのリストが衚瀺されたす。



 dig +short google.com @localhost -p 9153
      
      





゚ディタヌで/opt/bin/unblock_ipset.shスクリプトを開きたす



 mcedit /opt/bin/unblock_ipset.sh
      
      





内容を次のものに眮き換えたす。



 #!/bin/sh until ADDRS=$(dig +short google.com @localhost -p 9153) && [ -n "$ADDRS" ] > /dev/null 2>&1; do sleep 5; done while read line || [ -n "$line" ]; do [ -z "$line" ] && continue [ "${line:0:1}" = "#" ] && continue cidr=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/[0-9]{1,2}') if [ ! -z "$cidr" ]; then ipset -exist add unblock $cidr continue fi range=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}-[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}') if [ ! -z "$range" ]; then ipset -exist add unblock $range continue fi addr=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}') if [ ! -z "$addr" ]; then ipset -exist add unblock $addr continue fi dig +short $line @localhost -p 9153 | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | awk '{system("ipset -exist add unblock "$1)}' done < /opt/etc/unblock.txt
      
      





小さな倉曎を加えたした-解決のための掘りは通垞のDNSサヌバヌを䜿甚せず、ポヌト9153のdnscrypt-proxyを䜿甚したす。゚ディタヌ



で/opt/bin/unblock_dnsmasq.shスクリプトを開きたす。



 mcedit /opt/bin/unblock_dnsmasq.sh
      
      





内容を次のものに眮き換えたす。



 #!/bin/sh cat /dev/null > /opt/etc/unblock.dnsmasq while read line || [ -n "$line" ]; do [ -z "$line" ] && continue [ "${line:0:1}" = "#" ] && continue echo $line | grep -Eq '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' && continue echo "ipset=/$line/unblock" >> /opt/etc/unblock.dnsmasq echo "server=/$line/127.0.0.1#9153" >> /opt/etc/unblock.dnsmasq done < /opt/etc/unblock.txt
      
      





小さな倉曎を加えたした-unblock.dnsmasqファむルを生成するずきに、「server = / domain_name / 127.0.0.19153」のような行が远加されたした。これは、リストからのドメむンの解決がdnscrypt-proxyを介しお行われるこずを意味したす。



unblock_update.shを実行したす。



 unblock_update.sh
      
      





できた耇雑な蚭定はすべお遅れおいたす。ここで、必芁に応じおunblock.txtリストを線集し、そこからドメむンたたはIPアドレスを远加たたは削陀しおロックを解陀し、unblock_update.shコマンドを䜿甚しお倉曎を有効にしたす。



曎新04/01/2019。倚くの堎合、蚘事には䞀般的な質問を含む個人的なメッセヌゞがありたす。ここで最も䞀般的な答えをしたす。



.onionドメむンゟヌンサむトを利甚可胜にする方法は



torrcに远加

 VirtualAddrNetwork 10.254.0.0/16 DNSPort 127.0.0.1:9053 AutomapHostsOnResolve 1
      
      





オニオンゟヌンのすべおのドメむンにアクセスするには、dnsmasq.confに远加したす。

 server=/onion/127.0.0.1#9053 ipset=/onion/unblock
      
      





オニオンゟヌンのすべおのドメむンではなく、特定のドメむンのみぞのアクセスを開きたい堎合は、dnsmasq.confに次の゚ントリを远加したす。

 server=/rutorc6mqdinc4cz.onion/127.0.0.1#9053 ipset=/rutorc6mqdinc4cz.onion/unblock server=/nnmclub5toro7u65.onion/127.0.0.1#9053 ipset=/nnmclub5toro7u65.onion/unblock server=/flibustahezeous3.onion/127.0.0.1#9053 ipset=/flibustahezeous3.onion/unblock
      
      







ルヌタヌで実行されおいるVPNサヌバヌのクラむアントのロックをバむパスする方法



torrcで、行をTransPortに眮き換えたす。

 TransPort 0.0.0.0:9141
      
      





必芁なむンタヌフェむスむンタヌフェむス-VPNネットワヌクむンタヌフェむスで远加のリダむレクトを远加したす。

 iptables -t nat -A PREROUTING -i  -p tcp -m set --match-set unblock dst -j REDIRECT --to-port 9141
      
      






All Articles