LoginSignup
2
4

More than 3 years have passed since last update.

Google ChromeからSSHポートフォワードを使用してWebサイトを閲覧する

Posted at

はじめに

自分のルータにIPv6アドレスしか割り当ててないと、IPv4に対応していないサイトが見れなくなった。
IPv6の設定を無効化すればよいのだが、やんごとなき事情によりできない場合の回避策として、AWSに上にSCOKSサーバを立てることでサイト閲覧ができるようになった。以下では、その方法と解説を簡単に記載する。

AWSのIPv6対応について

AWSのドキュメントによると、VPCではデュアルスタックで動作しているらしい。

VPC は、デュアルスタックモードで動作します。IPv4 または IPv6 あるいは両方を経由して通信できます。IPv4 と IPv6 は、互いに独立して通信されます。

このため、クライアントからIPv6でEC2にアクセスし、EC2から各Webサイトにアクセスする際はIPv4またはIPv6でアクセスしにいく。

VPCとEC2をIPv6化する

以下のURLの通りに設定を行った。詳細に書くと長くなるので省略する。

なお、AMIをCentOSにすると、IPv6が自動的に割り当てられず面倒であるため、今回はAmazon Linux2を使用した。コストを抑えるためにインスタンスタイプはt3.nanoを使用した。

SSHダイナミックポートフォーワードする

以下のコマンドを実行し、EC2をSOCKSサーバとして利用する。
$ ssh -D 1080 ec2-user@<IPv6 Address>

Google ChromeでSOCKSプロキシ設定を行う。

Chromeの環境設定から、詳細設定>システム>プロキシ設定を開く>プロキシ の画面を開く。

設定項目 設定内容
構成するプロトコルを表示 SOCKSプロキシにチェック
簡易ホスト名を除外 チェック
SOCKSプロキシサーバ localhost:1080
プロキシ設定を使用しないホストとドメイン localhost,

設定確認

以下のURLから接続元IPがEC2のIPv6アドレスになっていることが確認できる。
https://linuxfan.info/ip

接続速度の確認

Googleのスピードテストを実行したところ、以下の結果となった。
下り : 21.1Mbps
上り : 30Mbps

Youtubeの1080p程度であれば問題なく視聴できる速度である。(4Kは厳しいかも)
注意点としては、SOCKSサーバを経由する以上、遅延は避けられない。
そのため、リアルタイム性が重視されるオンラインゲームなどには向かない。

おわりに

今回はIPv4に対応していないサイトを閲覧するために、AWSのデュアルスタックを利用してIPv6→IPv4に通信を変換しサイトを閲覧できるようにした。
この方法を実現する前は本当に見れるサイトが少なく、実際に世にあるサイトでIPv6に対応しているサイトは少ないことを身を持って実感した。
IPv4アドレスが枯渇しつつある今、Webサイトを運営している方には是非IPv6の対応を検討してもらいたい。

記事で間違っている内容があればコメントお願いします。

2
4
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
4