1.サンプルファイルの利用
/etc/netctl/examplesに設定ファイルのサンプルが準備されています。
固定IPアドレスを利用するには、この中のethernet-staticというファイルを/etc/netctl/以下に設置し、これを書き換えます。
そのままのファイル名でも良いですが、わかりやすくmynet_confというファイルにしてコピーします。
$ sudo cp /etc/netctl/examples/ethernet-static /etc/netctl/mynet_conf
2.下調べ
編集の前に下調べをしておかねばなりません。
$ ip a
以下の表示の中から、2;の次に表示されるethernetのIDを覚えておきます。
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: <enp0s3>: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
(以下省略)
3.設定ファイルの編集
そのうえで、先程のファイルを編集します。
$ sudo nano /etc/netctl/mynet_conf
escription='A basic static ethernet connection'
Interface=enp0s3
# ip aで表示されたネットワークカードIDに入れ替え
Connection=ethernet
IP=static
Address=('192.168.1.0/24')
# 自分のネットワークのアドレスに変更
#Routes=('192.168.0.0/24 via 192.168.1.2')
Gateway='192.168.1.1'
DNS=('192.168.1.1')
## For IPv6 autoconfiguration
#IP6=stateless
## For IPv6 static address configuration
#IP6=static
#Address6=('1234:5678:9abc:def::1/64' '1234:3456::123/96')
#Routes6=('abcd::1234')
#Gateway6='1234:0:123::abcd'
4.設定の反映とDHCPサービスの停止、再起動
netctlを起動し、設定を反映します。
$ sudo netctl start mynet_conf(設定ファイル)
【2018-11-22追記】
Job for netctl@mynet_conf.service failed because the control process exited with error code.
See "systemctl status netctl@mynet_conf.service" and "journalctl -xe" for details.
以前にはなかったような気がするが、エラーが表示された。詳細は以下のとおり。
$ sudo systemctl status netctl@mynet_conf
● netctl@mynet_conf.service - Networking for netctl profile mynet_conf
Loaded: loaded (/usr/lib/systemd/system/netctl@.service; static; vendor preset: disabled)
Active: failed (Result: exit-code) since Thu 2018-11-22 09:35:51 JST; 12min ago
Docs: man:netctl.profile(5)
Process: 513 ExecStart=/usr/lib/netctl/network start mynet_conf (code=exited, status=1/FAILURE)
Main PID: 513 (code=exited, status=1/FAILURE)
Nov 22 09:35:51 kurafuto systemd[1]: Starting Networking for netctl profile mynet_conf...
Nov 22 09:35:51 kurafuto network[513]: Starting network profile 'mynet_conf'...
Nov 22 09:35:51 kurafuto network[513]: The interface of network profile 'mynet_conf' is already up
Nov 22 09:35:51 kurafuto systemd[1]: netctl@mynet_conf.service: Main process exited, code=exited, status>
Nov 22 09:35:51 kurafuto systemd[1]: netctl@mynet_conf.service: Failed with result 'exit-code'.
Nov 22 09:35:51 kurafuto systemd[1]: Failed to start Networking for netctl profile mynet_conf.
ArchWiKiには以下の解説があった。
ただし、netctl はネットワークインターフェイスデバイスが既に起動している場合 (例えば dhcpcd を使っている場合) はプロファイルを実行しません。
そうか、dhcpcdサービスをとめないとだめなんだ。とにかく先に進む。
$ sudo netctl enable mynet_conf # それでは有効化だけにする
$ sudo systemctl disable dhcpcd.service # dhcpcd サービスを無効化する
$ sudo shutdown -r now
うまく起動した。
● netctl@mynet_conf.service - A basic static ethernet connection
Loaded: loaded (/usr/lib/systemd/system/netctl@.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/netctl@mynet_conf.service.d
└─profile.conf
Active: active (exited) since Thu 2018-11-22 10:07:53 JST; 3min 15s ago
Docs: man:netctl.profile(5)
Process: 322 ExecStart=/usr/lib/netctl/network start mynet_conf (code=exited, status=0/SUCCESS)
Main PID: 322 (code=exited, status=0/SUCCESS)
Status: "online"
Nov 22 10:07:50 kurafuto systemd[1]: Starting A basic static ethernet connection...
Nov 22 10:07:50 kurafuto network[322]: Starting network profile 'mynet_conf'...
Nov 22 10:07:53 kurafuto systemd[1]: Started A basic static ethernet connection.
Nov 22 10:07:54 kurafuto network[322]: Started network profile 'mynet_conf'
コメント