#author("2020-11-10T07:24:02+09:00","default:nobuoki","nobuoki") #author("2020-11-12T18:46:09+09:00","default:nobuoki","nobuoki") * はじめに [#w547e106] Symantec Endpoint Protection をはじめ、いくつかのアンチウィルスソフトを有効にしているPCでwsl2を使うと、 Pingは通りますが、母艦PC宛て以外の外部へのtcp/udp通信が出来なくなります つまり http(s) や ssh などが止められるので apt update や git clone が出来ない、という状況に陥ります 手っ取り早く回避するには母艦にproxyを立ててしまう方法があります - [[WSL2+docker そして外部通信がブロックされてしまう問題対策>https://www.usagi1975.com/202006082022/]] そのproxyにstone(とsexe)を使うとお手軽ですよ、というお話です - 2020/11/10 [[追記あり>#w98afb3e]] - 2020/11/10 [[追記あり(よりお手軽にSEPの設定変更で回避する方法)>#w98afb3e]] * 材料 [#z4af4cd1] - [[Simple Repeater `stone'>https://www.gcd.org/sengoku/stone/Welcome.ja.html]] - [[軟式 - sexe>https://www.nanshiki.co.jp/software/sexe.html]] * proxy起動設定 [#q996f803] こんなふうに sexe で stone を起動してあげると、母艦PCのすべてのアドレス:8080にhttp proxyがサービスとして立ち上がります #ref(./stone-sexe01.png); * http(s)向け環境変数 [#j7b257b1] wsl2(ubuntu)のbashは /etc/environment を読み込まないようです そこで /etc/profile.d/proxy.sh というファイルを作成し、 http_proxy, https_proxy, no_proxy を適切に設定すれば良いでしょう * sshでhttp_proxy超え [#q05a263f] ssh もこの stone で作ったプロキシを通すことで外に出れます socat を使うとこんな感じです #prism(bash){{{ # 接続先サーバのIPアドレス=192.168.10.151 # 母艦PCのIPアドレス=192.168.33.1 # ~/.ssh/config の例 Host hogeserver HostName 192.168.10.151 ProxyCommand socat - PROXY:192.168.33.1:%h:%p,proxyport=8080 # コマンドラインオプションの例 ssh -o ProxyCommand='socat - PROXY:192.168.33.1:%h:%p,proxyport=8080' 192.168.10.151 }}} * SEPの設定変更で回避する方法 [#w98afb3e] SEPの設定変更が許されている場合、以下の方法で回避できるかもしれません(手元の環境ではうまく動作しています) 設定の変更 > ネットワークとホストのエクスプロイト緩和機能 #ref(./sep-menu.png,60%) 不一致トラフィックの設定 > IPトラフィックを許可する #ref(./sep-firewall-wsl.png)