Ubuntu20.04 固定ip設定+VMware(NAT)とSSH接続準備メモ
Ubuntuのipアドレスをnetplanとsystemd-resolvedで固定化、
ホストからSSH接続できるようにホスト側(Win)の設定を調整する。
ゲストはNAT接続(VMnet8)。
環境
Windows10 20H2
WSL2 Ubuntu20.04 LTS (ホスト)
VMware Workstation 16
Ubuntu20.04 LTS (NAT)(ゲスト)
netplanでipを固定する
/etc/netplan/hogehoge
を編集
nameserversのアドレスは任意のDNSサーバーを記述。
network: ethernets: ens33: dhcp4: false addresses: [192.168.47.100/24] gateway4: 192.168.47.2 nameservers: addresses: [1.1.1.1,1.0.0.1] version: 2 renderer: networkd
ゲストと通信するための調整
上記設定にて、ネットワークデバイスのaddressesは、C:\ProgramData\VMware\vmnetdhcp.conf
のrange外かつsubnet内にしておく。
ゲートウェイは C:\ProgramData\VMware\vmnetnat.conf
のNAT gateway address。
また、Windowsのコントロール パネル\ネットワークとインターネット\ネットワーク接続
から、使用しているネットワークデバイスを選択、プロパティから共有タブを開き、共有するアダプタにVMnet8を選択する。
その後、VMnet8のIPv4のプロパティから、アドレスを vmnetdhcp.conf
の fixed-address
と同じにする。
編集が終わったら、最後に
netplan try
エラーでなければ(serviceがstopとか出てもENTER押してacceptedなら問題ない)
netplan apply
2021.04.01 追記
netplan try
するとエラーが出る
環境: 無線LAN接続
Job for netplan-wpa-wlp3s0.service canceled. An error occurred: Command '['systemctl', 'stop', 'systemd-networkd.service', 'netplan-wpa-*.service']' returned non-zero exit status 1. Reverting. Warning: Stopping systemd-networkd.service, but it can still be activated by: systemd-networkd.socket
以下の方法で解決した。
systemctl stop netplan-wpa-*.service
としてから、直接
netplan try
エラーがないことを確認したら、
またnetplan-wpa-*.service
が起動しているので手動で止める。
systemctl stop netplan-wpa-*.service
直接applyする。
netplan apply
(注意: サービス名は、起動中なら*
で補えるが、停止中はそうはいかないようなので、stop
した後でstatus
などしたいときは*
を使わない。)
systemd-resolvedでdnsを設定
/etc/systemd/resolved.conf
を編集
先のnetplanで書いたnameserversのアドレス。
NetworkManagerとは共存できないらしい?のでnetworkmanagerはdisableであると確認しておく。
[Resolve] DNS=1.1.1.1 FallbackDNS=1.0.0.1
バグ(?)対策
/etc/resolve.conf -> ../run/systemd/resolve/stub-resolv.conf
のリンクを張りなおす
unlink /etc/resolv.conf ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
これでおしまい。
ゲストに接続するには、普通に、ゲストでip a
して出てくるアドレスにリクエスト投げればよい。
おまけ
タイムゾーンの設定
timedatectl set-timezone Asia/Tokyo