お世話になっております。
今Windows10 21H2 にUbuntuをインストールして
そのUbuntuのIPアドレスを
Ipv4
10.10.199.15
Mask
255.255.248.0
DGW
10.10.199.254
としたいと思っております。
Windows10側は
10.10.199.14
です。
その際の設定メモを表記しても構わないでしょうか?
何か情報をお持ちな方はコメントいただけますと嬉しく思います。
と書こうとしましたがWindows10側のコントロールパネル
>ネットワーク接続>vEthernet(WSL)のプロパティの
IPv4の設定に上記入力で出来そうだけど
ネットワークリスタートが
sudo /etc/init.d/networking start
に入っていない気がする……
/etc/init.d/にnetworkが無いので……
というところで手詰まりを起こしました。
どなたかご助力いただけますと嬉しく思います。
参考になりそうな記事:Windows WSL2に外部から直接アクセスするための設定 https://rcmdnk.com/blog/2021/03/01/computer-windows-network/
vEthernetの話だとしたら、こっちが参考になりそう:vEthernetのIPアドレスの固定化 ひでみのアイデア帳 https://sweetcafe.jp/?*20220116-000000
gU8C8Nud4E8p3uW様
コメントありがとうございます。
ソレ以前にデフォルトでインストールしたUbuntuに
networkが無いのでどうにもならなくて困っているのです……
ご助力頂けないでしょうか?
念のため確認したいのですが、WSL2上でUbuntuを立ち上げていますか? それともHyper-V クイック作成などを駆使して立ち上げていますか? WSL2上で立ち上げていれば、検索後にWSL2 Ubuntuなどつけて探せばふさわしいやり方を見つけられるはずです、ふつうのUbuntuとあちこち違うので。
私はWSL2上でUbuntu-20.04を動かしていて、1つ目の記事にあるPowerShellスクリプトを応用して起動時に自PCへのアクセスをUbuntuにポート転送するように仕込んでいます。(今念の為に動作確認してきたけど、ログイン時の自動実行が失敗したから、管理者権限のPowerShell上でスクリプト実行したら反映されたので、これで良いと思っています。)
直接LANに接続できる固有にIPアドレスをもたせられない気がします、WSL2って。そこをちゃんとやろうとするとHyper-VやOracle VirtualBoxやVMware Playerなどの仮想OS実行環境を導入しないといけないだろうと察します。
gU8C8Nud4E8p3uW様
コメントありがとうございます。
>1つ目の記事にあるPowerShellスクリプトを応用して起動時に自PCへのアクセスをUbuntuにポート転送するように仕込んでいます。(今念の為に動作確認してきたけど、ログイン時の自動実行が失敗したから、管理者権限のPowerShell上でスクリプト実行したら反映されたので、これで良いと思っています。)
```
if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole("Administrators")) { Start-Process powershell.exe "-File `"$PSCommandPath`"" -Verb RunAs; exit }
$ip = bash.exe -c "ip r |tail -n1|cut -d ' ' -f9"
if( ! $ip ){
echo "The Script Exited, the ip address of WSL 2 cannot be found";
exit;
}
# All the ports you want to forward separated by comma
$ports=@(22,3000,8080);
$ports_a = $ports -join ",";
# Remove Firewall Exception Rules
iex "Remove-NetFireWallRule -DisplayName 'WSL 2 Firewall Unlock' ";
# Adding Exception Rules for inbound and outbound Rules
iex "New-NetFireWallRule -DisplayName 'WSL 2 Firewall Unlock' -Direction Outbound -LocalPort $ports_a -Action Allow -Protocol TCP";
iex "New-NetFireWallRule -DisplayName 'WSL 2 Firewall Unlock' -Direction Inbound -LocalPort $ports_a -Action Allow -Protocol TCP";
for( $i = 0; $i -lt $ports.length; $i++ ){
$port = $ports[$i];
iex "netsh interface portproxy add v4tov4 listenport=$port listenaddress=* connectport=$port connectaddress=$ip";
}
# Show proxies
iex "netsh interface portproxy show v4tov4";
```
こちらの事ですね……
なんとか実装してみようかと思います。
コメントありがとうございました。
駄目だ……
なんかネットワークが有効じゃないのでもう一度インストールしてみるかな……
WSLでインストールしたLinuxディストリビューションは、Windowsの「設定」-「アプリ」から削除できます。 アプリの一覧に、通常のアプリと同様に「Ubuntu」などが並んで表示されているので、選択して「アンインストール」をクリックするだけで削除できます(図1)
でアンインストールして
Ubuntu インストール ネットワーク 有効 WSL
でググっても
やっぱり
wsl --install -d Ubuntu
しか無いのでネットワーク有効化じゃないっぽいな……(T_T)
WSL1/2の上でのネットワーク設定は、Ubuntu内でやるのではなく、外(Windows上)でやりますので。WSL固有のことがわからず進まないのであれば、仮想OSソフトを活用したほうが良いかと思います。
Win10ProならHyper-V有効化して、Hyper-Vがもしも使えないならOracle VirtualBoxを用意した上で、multipassを使うと、ISOイメージファイルを用意せずとも簡単にUbuntuを立ち上げられます。
gU8C8Nud4E8p3uW様
コメントありがとうございます。
Windows10>コントロールパネル>ネットワークとインターネット>ネットワーク接続
に
vEthernet(WSL)とあるのでコチラを利用しているのかと思っております。
それでそちらのIPアドレスを
10.10.199.15 MASK 255.255.248.0 DefaultGW 10.10.199.254
としているのですが
wsl2上のUbuntuで
$ip route show
などとしても172.26.0.1 dev eth0 となっていて
10.10.199.254 になってくれないのです……
仮想OSを考えた方が良いかもですね……
VMware ESXi
がちょうど操作出来るところにあるので……
でもせっかくだからWSL2上のUbuntuをどうにかしたいと思っております。
WSL2のUbuntu内からはどうにもならないものと思います。
あなたの回答
tips
プレビュー