あるプログラムからのみスマホのネットを通して実行したいときがあるはず。
いろいろと試行錯誤した結果、これまた便利なTailscaleで実現できた。
概要
Ubuntuとスマホにそれぞれtailscaleをインストールし、スマホ側をexit nodeとして実行させておく。
Ubuntu側ではtailscaleを実行するときに、--exit-node={スマホのtailscaleのip}を入れておけば、Ubuntuの通信はスマホのネットを通すことになる。
さらにsocks5の設定をすれば、プロキシ通信時のみスマホのネットを利用できるようになるのでとても便利。
ただtailscaleのリレーサーバーを通して通信になるので、遅いときは遅い。
tailscaledの実行
Ubuntuでtailscaleを実行するときに、二つのフラグを追加してやる。
この二つを入れておけば、socks5通信時のみtailscaleのexit nodeを通して通信ができるようになる。
tailscaled --tun=userspace-networking --socks5-server=:1055
exit nodeの指定はこのコマンド。
tailscale set --exit-node={スマホのtailscaleのip} # 無効にしたい場合はipを空にする
systemdの設定
systemdを使っている場合は、自動設定にもフラグを追加しておこう。
sudo vi /etc/default/tailscaled
FLAG="--tun=userspace-networking --socks5-server=:1055"