yfuku blog

Rock Me!という会社でエンジニアをやっています。PythonやiOS開発について書いていきます。

Raspberry PiでProxyサーバを立てる(Raspbian Stretch)

スマフォでhosts設定をする必要があって調べてみたのですが、スマフォ本体だけでやるとjail breakしたりroot化したりする必要がありそうでした。
そこまではしたくなかったので、proxyサーバを立て、そこにhosts設定することで、スマフォからも同様の事ができるようにしてみました。 何個か環境が必要だったので、お手軽に増やせるRaspberry Piを使用。
DNSサーバを立てることもしてみたのですが、通常のDNSへの切り替えが不安定だったためこちらは断念しました。

本体の用意

適当にAmazonで揃えました。

OSセットアップ

わりと定番になっていそうなRaspbianにしました。 バージョンは最新のStretchを採用。

こちらの記事がとても丁寧に解説されていて参考になりました。
Raspberry Pi 3 初期セットアップ(Mac 用) - Qiita

  • SDカードへの書き込み例
wget https://downloads.raspberrypi.org/raspbian_lite_latest

unzip raspbian_lite_latest

sudo diskutil eraseDisk FAT32 RPI /dev/disk2

df -h # SDのディスク名を取り出す 例: /dev/disk2s2 

sudo diskutil unmountDisk /dev/disk2s2

sudo dd bs=1m if=2018-03-13-raspbian-stretch-lite.img of=/dev/rdisk2

sudo diskutil eject /dev/disk2s2

ここまででsshでRaspberry Piに入れるようになってると思います。

IP固定化

Jessieからは、/etc/dhcpcd.confを編集するようになったようです。Stretchでも同様です。 - Raspberry Pi に固定IPアドレスを割り当てる方法(Raspbian Jessie) - Qiita

ソフトウェア

squidのインストール

  • squidのインストール
sudo apt-get update
sudo apt-get install squid
  • /etc/squid/squid.confを編集
# localnetのみアクセスを許可。下記をコメントアウト。
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
http_access allow localnet

# portは8888に書き換える。
http_port 8888

# キャッシュを無効にする。下記を最下部に追記。
acl NOCACHE src all
cache deny NOCACHE
  • 再起動
sudo service squid restart