ご自宅にVPNルータを導入して、外出先から自宅内のネットワーク機器を使用する場合があるかと思います。
外出先にて、PCやスマートフォンでインターネットを利用する場合。自宅にVPN接続後、自宅を経由してインターネットにアクセスするような設定を行うことで、VPNによりパケットが暗号化されるため、パケットの覗き見対策、セキュリティの強化につながるかと思います。
その実現方法は何通りかあるかと思いますが。ここでは、VPN接続中でも、任意のタイミングで「直接インターネット接続」「自宅経由で接続」を切り替えられるように。
自宅のPCにプロキシサービスのsquidをインストールする方法を記録しておこうと思います。
※注意:自宅へのVPN接続はOpenVPNを使用致しました。他のVPN接続方法(IPSec/L2TP、PPTP等)ではうまく動作しない可能性も御座いますので予めご了承下さい。
目次
設定の全体的な流れ
次の流れになるかと思います。
- サーバ側(自宅PC)
- PC(パソコン)やSBC(シングルボードコンピュータ)にsquidサービスをインストール
- ファイアウォールの設定を変更(Fedoraの場合)
- クライアント側(外出先で使用するPC)
- 現在のグローバルIPアドレスを確認
- プロキシ設定
- グローバルIPアドレスが変わる=自宅経由でアクセスできているか確認
squidインストール手順
SBC(シングルボードコンピュータ)の場合
Ubuntuの場合、こちらの記事を御覧ください。
x86系PCの場合
x86系PCの場合、snapによるsquidのインストールが可能のようです。この記事は、FedoraをインストールしたNUCへのsquidインストール手順になります。
クラウドストレージ(Nextcloud)や動画ストリーミング(Emby)サービスを動かしていますが、まだまだサーバ性能に余裕がありそうです。
Fedoraは最新版(2019年1月現在、Fedora 29)にアップグレード済みです。
- Fedoraにログインします。rootで直接ログイン、sudoは省略致しました。
- snapをインストールしていない場合、次のコマンドでインストールします。
dnf update dnf install snapd
- snapコマンドでsquidをインストールします。
snap install squid-gary
- squidサービスを実行します。
squid-gary.start
既定の設定では、TCPポート番号3128でsquidサービスの待ち受け(LISTEN)が開始されると思います。詳細は次のコマンドで確認可能のようです。
snap info squid-gary
- ファイアウォールの設定を変更して、外部からsquidサービスにアクセスできるようにします。
firewall-cmd --permanent --add-service=squid firewall-cmd --reload
以上でsquidが動作するようになりました。
アクセスログ・キャッシュログは次のディレクトリに格納されるようです。tailコマンドでaccess.logを表示することで、squidの使用状況を確認できるかと思います。
cd /var/snap/squid-gary/current/var/log/squid
tail -f access.log
クライアント側の設定
現在、「直接インターネットに接続」した状態かと思います。グローバルIPアドレスを確認しておくと、あとで「自宅経由でインターネットに接続」されたかどうか確認が容易かと思います。
※19.2.21追記:グローバルIPアドレスは、下記のサイト等で調べられるようです。
適切なグローバルIPアドレスの調べ方がわからないため、ここでは方法のご紹介は控えさせて頂きます。「グローバルIPアドレス 確認」等で検索してみて下さい。
iPhone
Wi-Fi接続時、プロキシサーバを指定することは可能のようですが。
VPN接続後、プロキシサーバを設定する方法は、OpenVPNの場合難しいようです。
残念ながら、手元のiPhoneでは、プロキシサーバを使用する方法でVPN経由のインターネット接続はできませんでした。
iPhoneの場合、VPNプロキシ機能を持つWi-Fiルータを使用するほうが楽かもしれません。
Windows 10
Windows 10の場合、プロキシの設定は以下になります。
- 自宅にVPN接続して、SquidをインストールしたPCやSBCにアクセスできる状態にします。
- スタートメニューで「プロキシ」と入力、「プロキシの設定」を選択します。
- 画面を下にスクロール、「手動プロキシ セットアップ」を設定します。
- プロキシサーバーを使う:オン
- アドレス:squidをインストールしたPCのIPアドレス
- ポート:3128
- ローカル(イントラネット)のアドレスにはプロキシサーバーを使わない:チェックオン
- 次のエントリで始まるアドレス以外に・・・:自宅を経由せずに、直接接続したいアドレスがあれば入力します。
- 「保存」ボタンをクリックします。
これで「自宅経由でインターネットにアクセス」する状態になりました。次の3つを確認してみて下さい。
- Webブラウザなどで、正常にインターネットにアクセスできるかどうか。
- グローバルIPアドレスが変わったかどうか。恐らくご自宅のルーターのグローバルIPアドレスと同じになるかと思います。(※19.2.21追記:上述のIP Address Informationは、squid経由では正しくグローバルアドレスが表示されませんでしたが、自宅経由でアクセスしている確認にはなるかと思います。)
- squidのaccess.logにアクセス先のURL(アドレス)が記録されるかどうか。
squidのログですが、通信の内容は記録されませんが、アドレスが記録されるようです。アドレス内にたとえば何かのIDやメールアドレスのような個人情報・機密情報が含まれる場合がありますので、取り扱いはご注意下さい(定期的に消去する等)。
VPNルータをお探しでしたら、よろしければこちらの記事を御覧ください。
※19.10.27:Raspberry Piでsquidサーバを構築する記事へのリンクを追加しました。