カンカデミーを除くすべてのウェブサイトをブロック

カンカデミーを除くすべてのウェブサイトをブロック

UbuntuユーザーがKahnacademyチュートリアルのWebサイトにアクセスできるように設定しようとしています。特にYouTubeをブロックしたいです。 ここのガイドラインしかし、私はそれらを動作させることはできません。デフォルトでは、/etc/hostsファイルを使用してYouTubeをブロックできますが、動画が再生されないか、動画が再生されてYouTubeがブロック解除されます。 KahnacademyウェブサイトからのトラフィックだけがYouTubeにアクセスできるようにする簡単な方法はありますか?

ベストアンサー1

/etc/hostsのIIRCブロックサイトは実際に接続をブロックするのではなく、システムのDNS検索のみを無視するので、子供たちはアドレスバーのIPに直接アクセスしてYouTubeにアクセスできます。

これにはiptablesファイアウォールを使用するので、ルールチェーンは次のようになります。

iptables --append OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT 

設定された接続を機能させます。

次に、メインKhan AcademyサイトのIPとホワイトリストに登録する必要があるガイドに記載されているすべてのサイトについて(dig +short youtube-nocookie.comdnsutils

iptables --append OUTPUT --destination [IP of site] -j ACCEPT

これにより、このサイトへのすべての発信接続が許可されます。

その後、ユーザーが以前のルールで受け入れなかったすべての発信接続要求を削除し、

iptables --append OUTPUT -m owner --uid-owner [Ubuntu-Username] -j DROP 

次に、設定を保存/設定します。

iptables-save 

だから効果的な方法は

(UbuntuUser requests connection, sending output packet)
=> (if packet is part of an ongoing relationship, Accept (send) it)
=> (if packet destination is a khanacademy site, Accept it) 
=> (if packet is from this user, and hasn't been accepted already, drop it) 

欠点は、ホワイトリストに追加する必要があるサイトのIPが変更された場合にiptablesルールを再構成する必要があり、この方法を使用するには、そのシステムに対する管理者権限が必要であることです。カーネルレベルのネットワークパケットにより、誰かが解決策を見つけるのが難しくなります。

まだ行っていない場合は、INPUTチェーンと同様のことをしたいかもしれませんが、上記の作業は(理論的には実際に試したことがない)必要なものを達成する必要があります。

ガイドが最新バージョンではない可能性があり、最初に許可されたウェブサイトがオンラインになっていないようです。

おすすめ記事