2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

dansguardian+squid+iptablesでコンテンツ・フィルタ

Posted at

なんとか形になったので、投稿しときます。
dansguardian+squid+iptablesを使って、1台のPC内でコンテンツ・フィルタを実現させてみました。構築した環境は、Archlinux、i686ですが、多分他のディストリビューションでも同様に構築できます。
squidって何? とか、dansguardianって何? とか、iptablesって何? とかの場合はググってください。

対象者

  • これ見てる人
  • 検索した人
  • 興味持った人

手順

  1. squidのインストール
  2. dansguardianのインストール
  3. squidの設定
  4. dansguardianの設定
  5. iptablesの設定
  6. dansguardian、squid、iptablesの起動

1. squidのインストール

archlinuxの場合は、squidはcommunityリポジトリに含まれているので、以下のコマンドでインストールできます。
[root@localhost]# pacman -S squid

2. dansguardianのインストール

dansguardianは、AURリポジトリに含まれているので、事前にyaourtをインストールしておくと、以下のコマンドでインストールできます。
[user@localhost]$ yaourt -S dansguardian

3. squidの設定

設定ファイルは今回は特に変更していません。

4. dansguardianの設定

以下の2つの設定ファイルを変更しています。
フィルタしたい言語に合わせて修正します。

/etc/dansgurdian/dansguardian.conf
# language to use from languagedir.
#language = 'ukenglish'
language = 'japanese'

systemdを使っていなければ修正しなくても良いです。

/lib/systemd/system/dansguardian.service
# 以下をコメントアウト
#Environment=LD_LIBRARY_PATH=/opt/pcre-old/lib

5. iptablesの設定

ここが苦労しました。
1行目:squidが外部URLへアクセスできるように
2行目:dansguardianの実行ユーザID以外は、一旦8080へリダイレクト

/etc/iptables/iptables.rules
-A OUTPUT -o [1] -p tcp --dport 80 -m owner --uid-owner [2] -j ACCEPT
-A OUTPUT -o [1] -p tcp --dport 80 -m owner ! --uid-owner [3] -j REDIRECT --to-ports 8080

[1]:NIC(eth0とか、wlan0とか)
[2]:squidの実行ユーザID(proxyとか)
[3]:dansguardianの実行ユーザID(nobodyとか)

6. dansguardian、squid、iptablesの起動

systemdなので以下で起動させます。
[root@localhost]# systemctl start dansguardian squid iptables

フィルタ対象になりそうなURLへアクセス

お好みで。

最後に

  1. コンテンツ・フィルタを有効にしてQittaにアクセスすると、弾かれますのでご注意を。dansguardianの設定ファイルを変更することで回避できるかもしれません。
  2. HTTPSでのアクセスは考慮していません。
  3. 内容に漏れ、間違いがあるかもしれません。その際は報告いただくとありがたいです。
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?