【Ubuntu18.04】【LIVA Z】ネットワーク設定で固定IP化(CUI)

書いてなかったけど、LIVA Z(N3350)買いました!
今のところはルータにする予定。あとDocker入れていろいろ試したい。
www.links.co.jp


で、Ubuntu18.04ではネットワーク設定方法が変わったらしく、/etc/network/interfacesは使われないらしい。
どうやらUbuntu17?以降はnetplanというので管理しているらしく、Desktop版の場合はnetplan01-network-manager-all.yamlというyamlファイルで設定されているとのこと。
と言っても実際の記載としてはNetworkManagerを定義しており、そちらで管理されているっぽい。
このyamlファイルは拡張子を変えて、コピーしておいてyamlファイルを作っておく。
※拡張子が変わっていれば読み込まれないらしい
※Server版は50-cloud-init.yamlというファイル名で管理されているらしい

$ sudo mv /etc/netplan/01-network-manager-all.yaml /etc/netplan/01-network-manager-all.old
$ sudo cp -a  /etc/netplan/01-network-manager-all.old /etc/netplan/01-network.yaml
$ sudo vi /etc/netplan/01-network.yaml

# Let NetworkManager manage all devices on this system
network:
     version: 2
     ethernets:
       enp3s0:
         dhcp4: no
         addresses: [192.168.11.40/24]
         gateway4: 192.168.11.38
         nameservers:
           addresses: [8.8.8.8,8.8.4.4]
           search: []
         optional: true


$ sudo netplan --debug generate
DEBUG:command generate: running ['/lib/netplan/generate']
** (generate:3132): DEBUG: 20:09:58.577: Processing input file //etc/netplan/01-network-manager-all.yaml..
** (generate:3132): DEBUG: 20:09:58.578: starting new processing pass
** (generate:3132): DEBUG: 20:09:58.578: enp3s0: setting default backend to 1
** (generate:3132): DEBUG: 20:09:58.578: Generating output files..
** (generate:3132): DEBUG: 20:09:58.578: NetworkManager: definition enp3s0 is not for us (backend 1)

$ sudo netplan apply
※問題がなければ何も表示されずに即時適用される

なお、NetworkManagerは以下のコマンドで自動起動を無効にできる。


$ sudo systemctl disable network-manager
$ echo "manual" | sudo tee /etc/init/network-manager.override

また、IPv6は今の所使う予定がないので、無効化しておく。

$ cat /proc/net/if_inet6
XXXXXXXXXXXXXXXXXXXXXX 02 40 20 80 enp1s0
00000000000000000000000000000001 01 80 10 80 lo
XXXXXXXXXXXXXXXXXXXXXX 02 40 00 00 enp1s0

$ sudo vi /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

※設定の適用
$ sudo sysctl -p
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

$ cat /proc/net/if_inet6
※設定が反映されていれば何も表示されない