Fedora CoreOSのインストール練習 4 〜ネットワーク設定〜
前回までに引き続きFedora CoreOSで、ネットワークの設定をしてみる。
今回は、2個のネットワークインタフェースを持ち、1個目がDHCPでアドレスを取ってきてホスト名をcoreos
に設定し、2個目は静的にIPアドレスを設定する構成にする。
Fedora CoreOSでインストール時にネットワークを設定するには、NetworkManagerのkeyfileを手動で配置してやる必要があるので、そのようなIgnition configを作成する。
まずはButaneファイルを書く。
Network Manager keyfileの書式はGnome公式ドキュメントを参照。
なお今回はコンソールでログインするようにpassword_hashを設定した。
variant: fcos version: 1.3.0 passwd: users: - name: core password_hash: (mkpasswdで出力したハッシュ) storage: files: - path: /etc/NetworkManager/system-connections/enp1s0.nmconnection mode: 0600 contents: inline: | [connection] id=enp1s0 type=ethernet interface-name=enp1s0 [ipv4] method=auto dhcp-hostname=coreos - path: /etc/NetworkManager/system-connections/enp2s0.nmconnection mode: 0600 contents: inline: | [connection] id=enp2s0 type=ethernet interface-name=enp2s0 [ipv4] address1=192.168.152.2/24 method=manual
次に、Butane configをIgnition configに変換する。
$ docker run -i --rm quay.io/coreos/butane:release < netconfig.bu > netconfig.ign
そして、ネットワークインタフェースを2個指定してVMを作成してインストールする。
$ virt-install --connect qemu:///system --name coreos --vcpus 1 --memory 2048 --os-variant fedora31 --import --graphics=none --disk path=coreos.img,size=10,backing_store=$PWD/fedora-coreos-34.20210518.3.0-qemu.x86_64.qcow2 --network network=default --network network=private --qemu-commandline="-fw_cfg name=opt/com.coreos/config,file=$PWD/netconfig.ign"
インストールが終わったら、ログインして設定を確認する。
[core@coreos ~]$ nmcli con show NAME UUID TYPE DEVICE enp1s0 360d1330-11cf-3a91-ae05-590058fc3e82 ethernet enp1s0 enp2s0 08862f9c-09fb-396b-ba92-ff582dfe1839 ethernet enp2s0 [core@coreos ~]$ ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:44:6a:cb brd ff:ff:ff:ff:ff:ff inet 192.168.122.159/24 brd 192.168.122.255 scope global dynamic noprefixroute enp1s0 valid_lft 3224sec preferred_lft 3224sec inet6 fe80::1ce2:98a4:a6fa:2965/64 scope link noprefixroute valid_lft forever preferred_lft forever 3: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:40:bd:8e brd ff:ff:ff:ff:ff:ff inet 192.168.152.2/24 brd 192.168.152.255 scope global noprefixroute enp2s0 valid_lft forever preferred_lft forever inet6 fe80::767:ae67:5c75:d25a/64 scope link noprefixroute valid_lft forever preferred_lft forever
enp2s0
に指定したIPアドレスが設定されており、コマンドプロンプトからホスト名がcoreos
に設定されていることがわかる。
Ignitionを使ってFedora CoreOSのネットワークが設定できた!