SkypeをOpenSSHのSOCKSプロクシ経由で使う
動機
会社でSkypeが禁止されてしまった。ネイティブクライアントが接続できなくなったのは言うに及ばず、SkypeのWebサイトさえも繋がらないので、ドメインかIPアドレスでフィルタリングされた模様。
地味に不便なので、どうにか使えないかと調べてみると、SOCKSが使えそうという事が分かった。
SOCKSプロクシサーバ機能も持つOpenSSHのポート転送と組み合わせることで、SSHの疎通さえできれば非常に簡単にSOCKSプロクシをでっち上げる事ができる。
よいこのみんなはまねしちゃだめだよ(`・ω・´) えらいひとにおこられてもしらないよ
試した環境
- サーバ側
- FreeBSD 10.1-RELEASE-p10
- OpenSSH 6.6.1p1
- クライアント側
- Windows 7 (x64)
- Skype 7.22.0.109
- PuTTY 0.67
当然ながら、サーバ-クライアント間でSSHが通る必要がある。
設定
サーバ
SSHでログインできる状態になっていればOK。
強いて言えば、SSHポート転送とSOCKSプロクシが有効になっている必要があると思われるが、当方環境ではデフォルト設定で問題なかった。
クライアント
PuTTY
Skype
- [ツール]>[設定]>[詳細]>[接続] とたどり、以下のように設定する
- プロトコル:SOCKS5
- ホスト:localhost
- ポート:31080 (SSHポートフォワードで設定した値)
- Skypeを再起動する
設定に間違いがなければ、無事Skypeが繋がる。あ、ただチャットの方しか動作確認してないっす。通話できるかは不明。
おまけ
Webブラウザのプロクシ設定でSOCKSの設定を同様に行うと、ブラウザのパケットを全てSSHサーバ経由でやり取りができる。接続IPアドレス確認サイトで見ると、繋いでるSSHサーバ経由になっている事が一目瞭然で分かる。
昔からこの設定項目の存在は知っていたけど、使い途は知らなかった。こういう使い方ができるとはねー、色々と繋がった。
感想
SOCKSやばい。というか、SSHポート転送とSOCKSの組み合わせがやばい。SSHが通ってアプリがSOCKS対応してれば、簡単にVPNもどきが作れちゃう。ネットワーク管理者泣かせの機能だね!(まぁSSHも封じてしまえば良いんだけど)
もう全部の通信アプリがSOCKS対応すればいいのに…!