6
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 3 years have passed since last update.

限界開発鯖Advent Calendar 2020

Day 19

Proxyを華麗にスルーしてWi-Fiを飛ばすには

Last updated at Posted at 2020-12-18

はじめに

これは 限界開発鯖 Advent Calendar 2020 の19日目の記事です
14日目はsoshi_haramiさんの湯婆婆で学ぶScalaのエラーハンドリングです。
16日目はこるくさんのちょっとまって!そのFDD、捨てないで演奏してみませんか?
です

某高専生をしている学生です。
Twitter: @yangniao23
GitHub: @yangniao23

よろしくお願いします。

Proxy下でスマホを使うのは不便ですよね?

Proxy接続が強制される環境になったため,非常に感じております。

###そのままだとできないこと

  • LINE : トークでは一部の通信がProxyを無視して443ポートへ繋がろうとします。通話は言わずもがな。
  • Discord : Proxyに非対応の模様です。
  • などなど......

方針

  • Proxyに非対応のアプリをどうにかしてProxy経由で通信させたい!!
  • 自由に通信したい! → 自分でProxyサーバを立てる

環境

  • Host PC: ThinkPad T490 ~Arch Linuxを添えて~
  • Smartphone: Galaxy S10
  • 22番ポートが開放済み (が開放されていない場合は,こちらの記事などを参考にSSH over HTTPSの環境を整えましょう。 Proxy下でSSHを使いたい!!! | Qiita
  • 53番ポートが開放済み(開放されていない場合は,Proxy経由で通信するなりDNS over HTTPSを使うなり工夫が必要です。)

自分のProxyサーバを立てる

適当なサーバを借ります。もしくは自宅等にサーバを用意します。
学生だとAzureで年間100$分のクレジットが貰えるので,期限を気にせずに運用できます。
参考までに自分の設定を掲載しておきます。
- リージョン: 東日本
- インスタンス: B1LS
- ディスク: Standard SSD 30GiB

Proxyサーバの立て方は記事が大量に投稿されているので,解説は割愛します。
私が参考にした記事
Squid の設定と使い方 | Qiita

PCに外部のProxyを持ってくる

SSHポートフォワーディングを活用します。

ssh -gNfL 0.0.0.0:8888:127.0.0.1:3128 user@example.com

上のようにして0.0.0.0:8888へHTTP Proxyを持ってきます。

また,動的ポートフォワーディングを活用しても構いません。この場合上のHTTP Proxyの構築作業は不要です。

ssh -gNfD 0.0.0.0:1080 user@example.com

動的ポートフォワーディングの場合,HTTP ProxyではなくSocks Proxyとなります。

Wi-Fiを飛ばす!

create_ap を使ってWi-Fiを飛ばします。

sudo create_ap [無線LANのNIC名] [有線LANのNIC名] --no-dnsmasq -d --ieee80211n --redirect-to-localhost [SSID名] [パスフレーズ]

スマホでの作業 ~Wi-Fiに接続する~

Wi-Fiに接続する際は,IPアドレスを静的にしてください。デフォルトゲートウェイはcreate_apを実行して作成された仮想NIC(ap0など)のIPアドレスに設定しましょう。
そして,HTTP Proxyの設定にはホスト名にデフォルトゲートウェイのIPアドレス,ポートはSSHで0.0.0.0へ持ってきたのと同じ値(今回の場合は8888)に設定してください。Socks Proxyの場合はここで設定する必要はありません。

設定例

IP            : 192.168.42.100
Gateway       : 192.168.42.1
Proxy Hostname: 192.168.42.1
Proxy Port    : 8888

Dronyを導入する

PlayストアからDronyをダウンロードしてきましょう。
これはProxyをVPN接続に見せかけるソフトウェアです。

Dronyのインストールが完了したら,先程と同様にProxyの設定を行ってください。
Rulesは,443, 80番に届いた通信をProxyのポートへ転送するように設定するとうまく行きます。

個人的にハマったところ

  • DronyでSocks Proxyがうまく動かない
  • スマホからProxyにつながらない!
    • sshdの設定に問題がある可能性があります。/etc/ssh/sshd_configAllowTcpForwardingyesになっているか確認してください。
    • create_apを再起動する,sshコネクションを一度切断して再度接続してみる,なども試してみるべきです。
6
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
6
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?