Macで特定サイトを遮断する方法(1)OSレベル(hosts利用) #Mac #hosts #特定サイト遮断

  • スポンサーリンク

  • スポンサーリンク

この記事は公開から9年、最終更新日からも9年経過しています。内容が古くなっている可能性があります。

特定サイトにアクセスすると長時間閲覧してしまうのでなんとかしたい、と思い、調べました。
この方法を知っている時点で(おまけにここにメモまで残している!!)、設定解除もできますので、完全にシャットアウトできるわけではありませんが、本投稿で紹介したOSレベルでの設定と、(別途紹介する予定の)ブラウザの2段階で設定を行うことで歯止めになるかと思います。iPad miniでの閲覧にはやや不向きなサイトですし!
あと、子供さんがいらっしゃる方には、こっそり設定しておけば有効だと思います。
※子供さんの場合、特定サイトのブロックに加え、特定キーワードによる検索ブロックも必要かもしれませんが、その方法についてはまだ調べておりません

概要

Macで特定サイトを遮断する方法を、まずは、OSレベルの設定からまとめてみました。※他にも方法はあるかもしれません。
本投稿では、twitterとfacebookへのアクセス制限を設定する方法を示していますので、他サイトの制限を掛ける場合は読み替えて下さい。

詳細(hostsファイルを利用)

Macからここで設定したドメインにはアクセスできなくなりますので、ブラウザごとに設定する必要がありません。

・アプリケーション→ユーティリティ→ターミナル を起動します。
スクリーンショット 2014-08-31 13.24.13スクリーンショット 2014-08-31 13.31.55

・次のようなコマンドを実行し、hostsファイルを開きます。(開く際に、Macログインユーザのパスワード入力が必要です)
備考※2015/1/31追記)Macログインパスワードを設定していない場合、hostsファイルを開くことが出来ないようです。従い、いつも作業するユーザアカウントのログインパスワードをなしにしておくと、少しだけ効果倍増です。
 

$ sudo vi /etc/hosts

スクリーンショット 2014-08-31 13.31.57

赤字部分を追記し、ファイルを保存します(viエディタの使用方法については割愛します)。
ここで、注意するのはサブドメイン有無でIPアドレスが異なるような場合です。実際、facebook.comとwww.facebook.comはIPアドレスが異なりますので、両方とも設定しておきます(もしくは、www.facebook.comのみ)。これについては最後の「参考」を参照して下さい。
備考※2015/1/31追記)なお、この編集を行ったあと、hostsファイルの「共有とアクセス権」の設定を「読み出しのみ」にしておくと、効果倍増!

 ##
 # Host Database
 #
 # localhost is used to configure the loopback interface
 # when the system is booting. Do not change this entry.
 ##
 127.0.0.1 localhost
 255.255.255.255 broadcasthost
 ::1 localhost
 fe80::1%lo0 localhost
 127.0.0.1 facebook.com
 127.0.0.1 www.facebook.com
  127.0.0.1 twitter.com

・下記コマンドを実行し、DNSキャッシュを消去します。
 

$ sudo dscacheutil -flushcache

スクリーンショット 2014-08-31 14.17.37

・念のためパソコンを再起動させましょう。

・twitterにもfacebookにもアクセスできなくなりました(Chromeの例)。
スクリーンショット 2014-08-31 15.21.07
スクリーンショット 2014-08-31 15.21.27

・Safariも、Firefoxでも同様です(ともにfacebookでの例)。
スクリーンショット 2014-08-31 15.26.26スクリーンショット 2014-08-31 15.27.17

・アクセス制限を解除したい時や、ブラウザごとに設定を行いたい時は、上記赤字で追記した設定を削除しておきます。

参考

hostsファイルについて

・(wikipediaより)hosts – Wikipedia
・つまり、IPアドレスとホスト名の対応をパソコン上で定義するものです。
・127.0.0.1 というIPアドレスがパソコン自身ですので、www.facebook.com,facebook.com,twitter.comをこのアドレスに割り当てることにより、各々にアクセスした際に、127.0.0.1 (パソコン自身)を閲覧しようとしますので、表示できないことになります。

facebookのIPアドレスについて

・上記の設定を行った際に、facebook.comのみ追加した場合、www.facebook.comにはアクセスできてしまいました。
・これはIPアドレスが異なるためのようです。nslookupで調べてみると、確かに違うようですね。
 

 www.facebook.com→31.13.82.81
  nakamura-no-iMac:/ nakamurayuji$ nslookup www.facebook.com
  Server: 192.168.1.1
  Address: 192.168.1.1#53   Non-authoritative answer:
  www.facebook.com canonical name = star.c10r.facebook.com.
  Name: star.c10r.facebook.com
  Address: 31.13.82.81

 facebook.com→173.252.110.27
  nakamura-no-iMac:/ nakamurayuji$ nslookup facebook.com
  Server: 192.168.1.1
  Address: 192.168.1.1#53

  Non-authoritative answer:
  Name: facebook.com
  Address: 173.252.110.27

・facebookのサービスは、www.facebook.comで提供されていますので、こちらを確実に遮断する必要がありますね。

最後に

ネットがこれだけ日常になってしまい、ネットサーフィンし過ぎで時間がなくなる!なんていう言葉をよく耳にします(かくいう私もですが)。せめて、ついついアクセスしてしまうサイトに関してはこういった設定を行っておくのもひとつの手段ですね。
まあ、設定解除してしまうと、どうしようもないわけですが。
※特定サイトの時間制限をおこなうブラウザのプラグインなんかもあるようです。時間があれば調べて紹介できれば、と思っています。

  • スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA